﻿/* noinspection CssUnknownTarget */
/* ReSharper disable CssBrowserCompatibility */

:root {

    /*
        RL.  Above the fold is the place to put things that are visible as soon as the page loads, this applies
        to the header, the logo, the favicon, the page title, etc.  Things that are not visible until the user
        interacts with the page.  Things like the navigation menu, the footer, the login form, etc. 
        
        To the brave wanting to do rebranding.  This is the place to start.
        
        Please do not define new classes before checking whether or not there is a class here that fits the bill.
        
        DISCLAIMER:  This is a work in progress.  It is not complete and being constantly updated. 
        
        Rem vs Em
        
        Rem
            rem = root em.  If user default font is 16px then 1rem = 16px ;2 rem = 32px ; 3rem = 48px and so forth.
            Relative to the root (html) font-size.
            Never affected by parent elements.
            
        Em
            em = element em
            em = relative to the current element (or nearest parent with font-size)
            Can be affected by parent elements.
            
        Unfortunately over the years, we have been inconsistent in our use of rem vs em.  
        
        
        The user’s default is whatever they have set in their browser’s settings.
        Every browser has a “default font size” option — usually 16px, unless the user has changed it for accessibility/visibility reasons.
        
        If you dont get any of this then leave styling to the big boys
    */
    
    /* Default font required by Marketing*/
    --font-sans: 'Icona Sans', sans-serif;
    /* Default fallback font(s) */
    --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;

    /* Font weights required by font files */
    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;

    /* Basics :: fonts */
    --font-colour: #1d1c1c;
    
    /* Erm, the normal font size aka the root size - user default */
    --font-size: 1rem;  
    
    --font-size-factoring-h3: 0.2rem;
    
    --font-size-main-links: 1rem;
    /* Erm, the normal font size */
    
    --font-sizetablet: 1.2em;

    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.2em;

    /* Colours from marketing */
    --color-plumb: #200028;
    --color-lavender-100: #ecd1fa;
    --color-lavender-200: #ecd1fa;
    --color-lavender-300: #c1a8f5;
    --color-lavender-400: #9c76ef;
    --color-lavender-500: #7a4ce8;
    --color-lavender-600: #753fe9;
    --color-lavender-700: #6f2ee8;
    --color-nebula-100: #c2f0ff;
    --color-nebula-300: #85d8ff;
    --color-nebula-400: #85d8ff;
    --color-nebula-600: #0099d6;
    --color-nebula-700: #0072b8;
    --color-teal-100: #c2f5c2;
    --color-teal-200: #a7f3d0;
    --color-teal-300: #6ee7b7;
    --color-teal-400: #22d895;
    --color-teal-600: #07b176;
    --color-beige-50: #fdfdfc;
    --color-beige-300: #f6f5f2;
    --color-beige-400: #efece5;
    --color-beige-500: #e0ddd6;
    --color-grey-50: #e8e8e8;
    --color-grey-100: #b8b8b8;
    --color-grey-200: #969696;
    --color-grey-300: #666;
    --color-grey-400: #494949;
    --color-grey-800: #000;

    --nass-primary: #6b4fd3;        /* Accent (Nasstar lavender) */
    --nass-track: var(--lavender-800);          /* Track background */
    --nass-text: #333;              /* Default text color */

    --nass-success: #2e7d32;
    --nass-error: #c62828;
    --nass-info: #1e88e5;

    --nass-height: 10px;            /* Progress bar height */
    --nass-radius: 999px;           /* Fully rounded bar */

    /*
    General
    */
    --page-background: var(--plum-light);
    
    /* Login screen */
    --login-background: #f7f6f2;

    /* Misc */
    --left-menu-width: 171px;
    
    /* Line */
    --line-or-separator-colour: var(--beige);

    /* Hyperlinks */
    --hyperlink-colour: var(--lavender-800);
    
    /* Tables an attempt slowly to replace tables.css! */
    --table-header-background: var(--lavender-800);
    --table-header-text-colour: white;
    --table-header-font-size: calc( var(--font-size));
    --table-header-font-weight: 400;
    
    --table-data-background: white;
    --table-data-hover-background: var(--button-background-on-hover);
    --table-data-text-color: var(--font-colour);
    --table-data-font-size: calc( var(--font-size) - 0.1rem);
    
    /* Buttons */
    --button-background: var(--beige-soft);                 /*The background colour of the button*/
    --button-background-on-hover: var(--lavender-600);
    
    --button-internal-background: var(--nass-error);
    /* RL - Keep the below in*/
    /*--button-background-on-active: var(--lavender-800);
    --button-background-on-focus: var(--lavender-800);
    --button-background-on-disabled: var(--beige-soft);
    --button-background-on-selected: var(--lavender-800);
    --button-background-on-selected-hover: var(--lavender-600);
    --button-background-on-selected-active: var(--lavender-800);
    --button-background-on-selected-focus: var(--lavender-800);
    --button-background-on-selected-disabled: var(--beige-soft);
    --button-background-on-selected-checked: var(--lavender-800);
    --button-background-on-selected-checked-hover: var(--lavender-600);
    --button-background-on-selected-checked-active: var(--lavender-800);
    --button-background-on-selected-checked-focus: var(--lavender-800);
    --button-background-on-selected-checked-disabled: var(--beige-soft);*/
    
    --button-text-colour: #000;                             /*Text colour of the button*/
    --button-text-colour-on-hover: white;                   /* Must contrast with background colour --button-background-on-hover */

    --button-border: #9d9292;
    --button-border-on-hover: #9d9292;
    --button-border-width: 2px;
    --button-font-weight-on-hover: normal;

    --control-border: 2px solid #c6c8cb !important;
    --button_shadow: 0 3px 15px rgba(0, 0, 0, 0.3);

    --buttonradius: 5px;
    --button-border-initial: gray;

    --button-icon-hovercolour: #54ad67e0;

    /* Colour of font awesome icon when hovering */
    --button-initial-background: white;

    /* Background of button */
    --button-transition-delay: 0s;

    /* Delay between colour changes.  Keep for now, more placeholder. */
    --button-initial-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.26);

    /* Another variant of button shadow */
    --button-initial-font-size: 1rem;

    /* Normal font-size of button */
    --button-standard-width: 100px;

    /* A normal button, in a normal work */
    --button-wide-width: 148px;

    /* The width of the navlinks in home screen */
   /* --button-message-alert: #e41515;*/

    /*
        Main menu links, mostly same as buttons
     */
    --button-border-color-main-menu: var(--beige);
    --button-border-color-main-menu-on-hover: var(--lavender-800);
    
    /*Icons*/
    --button-icon-color: black;
    --button-icon-color-on-hover: white;

    --button-icon-color-quick-links: var(--teal-100);

    /*Quick links*/
    --quicklinks-icon-color: var(--lavender-800);
    --quicklinks-icon-color-hover: white;

    --header-background: var(--lavender-800);
    --header-text-colour: white;
    
    --header-background-light: #eeebe4;
    
    --pagetitle_underlinecol: #707070;

    /* Dashboard */
    --dashboard-card-border-width: 2px;
    --height-of-chart-in-dashboard: 150px;

    /* Old styles pre famous 2026 release */    
    /* Border colour of message centre button in home screen */
    --home-panel-header-color: #29A1D9;
    
    /* The colour of the header bar on home screen */
    --home-panel-internal-color: #fbd485;
    
    /* Grids */
    --grid_hover: #c5dafc;
    --placeholder-color: indianred;
    
    /* 
    Alert and message panels 
    */
    /*--message-background-colour: #f8f8f8;*/

    /*
    Logo
    */
    --logo-width: 310px;

    --icc_hoverboxes-colour: 1px solid #756e6e;

    /* hover colour for boxes */
    --icc_transition-for-hover: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    --icc_speed-box-selected: #0606066e;
    
    /* Big red button */
    --brb-missing-postcode-colour: #ee10f4;
    --brb-not-started: rgba(108, 117, 125, 1);
    --brb-glow-marker-offline: rgba(228, 17, 17, 0.6);
    --brb-glow-marker-offline-50: rgba(228, 17, 17, 0.9);
    --brb-glow-marker-online: rgba(0, 153, 51, 0.6);
    --brb-glow-marker-online-50: rgba(0, 153, 51, 0.9);
    --brb-glow-marker-not-started: rgba(108, 117, 125, 0.6);
    --brb-glow-marker-error-missing-postcode: rgba(238, 16, 244, 0.6);
    
    /* Orange is used for highlighting, hovering */
    --nasstarorange: #ffb548;
    --nasstarblue: #2a269f;
    --nasstargreen: #4eb38d;
    --nasstarpink: #e03b92;
    --filter_nasstarorange: brightness(0.7) sepia(0.9) saturate(9920%) hue-rotate(49deg);
    --filter_nasstarblue: brightness(0.5) sepia(1) saturate(10000%) hue-rotate(200deg);
    --filter_nasstargreen: brightness(0.5) sepia(1) saturate(10000%) hue-rotate(120deg);
    --filter_nasstarpink: brightness(0.5) sepia(1) saturate(10000%) hue-rotate(290deg);
    
    --nasstarwasgreennowblue: #cae3fa;

    /*--nassstarhyperlink: #e03b92;*/
    /* The main color of logo */
    --partner_logo_colour: white;
    --tablerowhovercol: #f2bf1f42;
    --partner_logo_colour_rgb: rgba(255, 255, 255, 1);
    --partner_logo_colour_rgb_for_hover: rgba(237, 207, 71, 0.05);
    --partner_logo_textcolour: white;
    --partner_glow: white;
    
    /* Dashboard*/
    --tileIntroSectionHeight: 60px;
    --tileIntroSectionBottomBorder: 1px solid green;
    --tileIntroSectionFontSize: 14px;
    /*--headerRadius: 12px;*/
    
    /*Availability*/
    --noAvailablity: #991515;
    --productAvailable: #39ab11;
    --dashboardNotSelectedTab: var(--beige-soft);
    --dashboard-button-background: #1d1c1c;

    /* New branding 2025 */
    /* =========================
     CORE BRAND COLOURS
     ========================= */

    /* Lavender */
    --lavender-100: #ECD1FA;
    --lavender-300: #C1A8F5;
    --lavender-400: #9C76EF;
    --lavender-600: #753FE9;
    --lavender-800: #330040;

    /* Nebula */
    --nebula-100: #C2F0FF;
    --nebula-300: #85D8FF;
    --nebula-400: #3DC2FF;
    --nebula-600: #0099D6;
    --nebula-800: #002D42;

    /* Teal */
    --teal-100: #C2F5C2;
    --teal-300: #69E7B1;
    --teal-400: #22D895;
    --teal-600: #07B176;
    --teal-800: #02423C;

    --plum: #200028;
    --plum-light: #ecd1fa52;

    /* =========================
       NEUTRALS
       ========================= */

    --grey: #E0DDD6;
    --beige: #EFECE5;
    --beige-soft: #F6F5F2;
    --white: #FFFFFF;
    --dark: #1B1B1B;


    /* =========================
       BRAND GRADIENT STOPS
       (shared soft background tones)
       ========================= */

    --gradient-top: #F7F6F2;   /* 25% */
    --gradient-mid: #FFF6E5;   /* 70% */


    /* =========================
       BRAND GRADIENTS
       ========================= */

    --gradient-violet: linear-gradient(
            180deg,
            var(--gradient-top) 25%,
            var(--gradient-mid) 70%,
            #DED1FA 100%
    );

    --gradient-roy-hack: linear-gradient(-79deg, var(--gradient-top) 25%, var(--gradient-mid) 70%, #DED1FA 100%);

    --gradient-nebula: linear-gradient(
            180deg,
            var(--gradient-top) 25%,
            var(--gradient-mid) 70%,
            #CCEFFF 100%
    );

    --gradient-teal: linear-gradient(
            180deg,
            var(--gradient-top) 25%,
            var(--gradient-mid) 70%,
            #B4F3C7 100%
    );


    --unready-overlay-bg: rgba(255, 255, 255, 0.55); /* glass veil */
    --unready-blur: 4px;
    --unready-text: #555;          /* text colour */
    --unready-font-size: clamp(0.95rem, 1.5vw, 1.25rem);
    --unready-font-weight: 700;
    --unready-letter-spacing: 0.3px;
    --unready-padding: 12px 16px;  /* inner padding if you want a pill/badge look */
    --unready-radius: 10px;        /* optional: rounded background behind the message */
    --unready-text-bg: transparent;/* set to rgba(255,255,255,.7) for pill */
    --unready-shadow: 0 6px 18px rgba(0,0,0,.08);


    --tooltip-bg: rgba(30, 30, 34, 0.95);
    --tooltip-fg: #ffffff;
    --tooltip-radius: 8px;
    --tooltip-padding: 8px 10px;
    --tooltip-font-size: 0.85rem;
    --tooltip-shadow: 0 8px 24px rgba(0,0,0,0.18);
    --tooltip-offset: 10px;
    --tooltip-transition: 180ms cubic-bezier(.2,.8,.2,1);

    --availability-none-card-width: 130px;
    --availability-some-card-width: 147px;
}



/* Scales smoothly between ~16px and ~20px based on viewport width */
/*
html { 
    font-size: clamp(100%, 1.2vw + 0.5rem, 125%);
}    !* base ~16px - see notes about how default is set *!
*/

@font-face {
    font-family: 'Icona Sans';
    src:
            local('Icona Sans Regular'),
            url('../../fonts/IconaSans-Regular.otf') format('opentype');
    font-weight: var(--font-weight-normal);
    font-style: normal;
}

@font-face {
    font-family: 'GrenettePro';
    src:
            local('Icona Sans Regular'),
            url('../../fonts/GrenettePro.otf') format('opentype');
    font-weight: var(--font-weight-normal);
    font-style: normal;
}

@font-face {
    font-family: 'GrenettePro';
    src:
            local('Icona Sans Semi Bold'),
            url('../../fonts/GrenettePro-SemiBold.otf') format('opentype');
    font-weight: var(--font-weight-semibold);
    font-style: normal;
}

body {
    /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
    /*noinspection CssInvalidPropertyValue */
    font-family: var(--font-sans, sans-serif);
    color: black!important;
    padding-top: 0;
}

.UmbracoExt {
    padding-right: 0
}

/*  
    Whole old Umbracco CMS (home screen)

    Contains two columns each of which can contain 1..n panels like News / Partner Manager / Service Status etc
*/
.OldUmbracoSection {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 0;
    margin-top: 0;
}

.OldUmbracoSectionLeft {
    flex-grow: 1;
}
/*Left panel*/
.OldUmbracoSectionLeft {
    -webkit-box-flex: 1;
    flex-grow: 6;
    flex-shrink: 1;
    flex-basis: 20em;
    vertical-align: top;
    padding: 0 10px 10px 0;
}

.OldUmbracoSectionLeft2 {
    -webkit-box-flex: 0;
    flex-grow: 0;
    flex-shrink: 0;
    padding: 10px;
}

/*Right panel*/
.OldUmbracoSectionRight {
    -webkit-box-flex: 2;
    flex-grow: 2;
    flex-shrink: 2;
    flex-basis: 20em;
    height: 100%;
    padding: 0 0 10px;
}


/* 
    All new flex stuff to control home screen
    RL 23/1/26 - This is gradually been phased out and replaced with other classes so dont use
*/
.flex-navbarbuttons {
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.flex-toolbar {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.flex-toolbarwithgap {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    grid-gap: 10px;
    margin-top: 10px;
}

.flex-toolbar2 {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.quickconnectionext {
    margin-right: 13px
}

.OldUmbracoSectionContent {
    padding: 5px;
}

.quickconnectionsearch {
    width: 95% !important;
}

.button-quick-connection-search {
    padding-left: 0;
    margin-left: -0.6rem;
}

.button-quick-connection-search-margin-break {
    margin-bottom: unset!important;
}

/*
    Partner team Only Needed for home screen
*/
.partnerteam {
    background-color: var(--header-background);
}

.partner-team-email {
    font-size: 0.8em;
    text-decoration: none;
    cursor: pointer;
    text-align: center;
    padding-top: 0;
}


.partner-team-email:hover {
    color: white !important;
    padding-left: 0;
}

.partner-person-role {
    text-align: center;
    background-color: #4a4a4a;
    width: 100%;
    margin-bottom: 0;
    color: white;
    padding-top: 5px;
    -webkit-box-shadow: 1px 2px 3px rgba(0,0,0,.5);
    padding-bottom: 0.5rem;
}

.partner-person-name {
    font-size: 1.1em;
    text-align: center;
    padding: 0.5rem;
    color: white;
    font-weight: 600;
}

.partnerteam:hover {
    border: 1px #cccccc;
    border-radius: 5%;
    -webkit-box-shadow: 1px 2px 3px rgba(0,0,0,.5);
    box-shadow: 1px 2px 3px rgba(0,0,0,.5);
}

/*
    End :: Partner team Only Needed for home screen
*/

.OldUmbracoQuickLinks {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-evenly;
    grid-row-gap: 0.1rem;
    grid-column-gap: 0.1rem;
}

.OldUmbracoQuickLinksItem {
    text-align: center;
    padding: 0.5rem;
}

/* Make container items hover */
.OldUmbracoQuickLinksItem:hover .dashboard-quick-link {
    color: #000;
}

.dashboard-quick-link {
    display: inline-block;
    text-decoration: none;
    color: #000;
    position: relative;
    border-radius: 5px;
    border: none;
    text-align: center;
    cursor: pointer;
    padding: 0.7rem;
    /*width: 120px!important;*/
}
/* When the parent link is hovered, change the icon color */
.dashboard-quick-link:hover .dashboard-quick-link-icon {
    color: var(--lavender-600) !important;
    /*font-weight: var(--button-font-weight-on-hover);
    filter: drop-shadow(0 0 2px black);*/
}

.dashboard-quick-link-icon {
    width: 100% !important;
    text-align: center !important;
    padding-bottom: 5px !important;
    color: var(--quicklinks-icon-color);
}

.dashboard-quick-link-icon:hover {
    color: var(--quicklinks-icon-color-hover);
}


/* Connection quick search */
.telephoneSupport {
    /* padding-top: 5px; */
    width: 12rem;
}

.highlightNumber {
    color:#e03b92;
}

/*Quick links*/
.UmbracoQuickLinkItem {
    min-width: 12ch !important;
    min-height: 34px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    font-size: 1.1em !important;
    padding-top: 10px;
    text-align: center;
    width: 120px !important;
}

.OldUmbracoQuickLinks > div {
    padding: 5px;
    width: 120px !important;
}


.WelcomeMessage {
    width: 100%;
    background-color: var(--header-background);
    color: var(--header-text-colour);
    padding: 3px;
    margin-top: -1rem;
    margin-bottom: 0.3rem;
}

.hideme {
    display: none!important;
}

.hide-me {
    display: none!important;
}

.hidemedirectforce {
    
}

.showme {
    display: block;
}

.displaytable {
    display: table
}

.textcenter {
    text-align: center;
}


/*
.Impersonator {
    background-color: var(--pagebackground);
    color: var(--white);
    float: left;
    height: 18px;
    margin-top: 2px;
    -webkit-animation-name: darthforimpersonating;
    animation-name: darthforimpersonating;
    -webkit-animation-duration: 5s;
    animation-duration: 5s;
    -webkit-animation-iteration-count: 2;
    animation-iteration-count: 2;
    border: 1px solid var(--nasstargreen);
    padding: 4px;
    border-radius: 5px;
    font-size: 0.9em;
}

@-webkit-keyframes darthforimpersonating {
    from {
        -webkit-box-shadow: 0 0 7px 3px var(--nasstargreen), 0 0 2px 2px var(--nasstargreen);
        box-shadow: 0 0 7px 3px var(--nasstargreen), 0 0 2px 2px var(--nasstargreen);
        color: white;
        border-radius: 5px;
    }

    25% {
        -webkit-box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }


    50% {
        -webkit-box-shadow: 0 0 36px 3px var(--nasstargreen), 0 0 8px 2px var(--nasstargreen);
        box-shadow: 0 0 36px 3px var(--nasstargreen), 0 0 8px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }

    75% {
        -webkit-box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }

    to {
        -webkit-box-shadow: 0 0 3px 3px var(--nasstargreen), 0 0 1px 2px var(--nasstargreen);
        box-shadow: 0 0 3px 3px var(--nasstargreen), 0 0 1px 2px var(--nasstargreen);
        color: white;
        border-bottom: var(--partner_logo_colour) 1px solid !important;
    }
}

@keyframes darthforimpersonating {
    from {
        -webkit-box-shadow: 0 0 7px 3px var(--nasstargreen), 0 0 2px 2px var(--nasstargreen);
        box-shadow: 0 0 7px 3px var(--nasstargreen), 0 0 2px 2px var(--nasstargreen);
        color: white;
        border-radius: 5px;
    }

    25% {
        -webkit-box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }


    50% {
        -webkit-box-shadow: 0 0 36px 3px var(--nasstargreen), 0 0 8px 2px var(--nasstargreen);
        box-shadow: 0 0 36px 3px var(--nasstargreen), 0 0 8px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }

    75% {
        -webkit-box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        box-shadow: 0 0 14px 3px var(--nasstargreen), 0 0 3px 2px var(--nasstargreen);
        color: var(--nasstarorange);
    }

    to {
        -webkit-box-shadow: 0 0 3px 3px var(--nasstargreen), 0 0 1px 2px var(--nasstargreen);
        box-shadow: 0 0 3px 3px var(--nasstargreen), 0 0 1px 2px var(--nasstargreen);
        color: white;
        border-bottom: var(--partner_logo_colour) 1px solid !important;
    }
}
*/



.environment {
    padding: 5px 20px;
    font-weight: bold;
    text-align: center;
    /*position: fixed;*/
    top: 0;
    z-index: 9999;
    width: 100%;
    opacity: 0.7;
    margin-bottom: 10px;
    display: block;
}

.environment.dev {
    background-color: #50ffb0;
    border: 1px solid #d2e5f9;
    color: black;
    padding: 2px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

.environment.uat {
    background-color: #f90;
    color: #000;
}



/*DEFUNCT NOW*/
/*.message {
    background-color: var(--message-background-colour);
    border: 1px solid #CCC;
    padding: 8px;
    -webkit-box-shadow: var(--button_shadow);
    box-shadow: var(--button_shadow);
    border-radius: var(--buttonradius);
}

.error {
    background-color: #fc4141;
    border-color: #F00;
    -webkit-box-shadow: var(--button_shadow);
    box-shadow: var(--button_shadow);
    border-radius: var(--buttonradius);
}

.warning {
    background-color: #FCEBB6;
    border-color: #FC0;
    -webkit-box-shadow: var(--button_shadow);
    box-shadow: var(--button_shadow);
    border-radius: var(--buttonradius);
}

.info {
    background-color: #CBF1FE;
    border-color: #79BCFF;
    -webkit-box-shadow: var(--button_shadow);
    box-shadow: var(--button_shadow);
    border-radius: var(--buttonradius);
}

.good {
    background-color: #D7E9C1;
    border-color: #8AB33D;
    -webkit-box-shadow: var(--button_shadow);
    box-shadow: var(--button_shadow);
    border-radius: var(--buttonradius);
}*/


.logo {
    float: left;
    height: 60px;
    width: var(--logo-width);
    display: block;
    text-indent: -99999px;
    background-size: contain!important;   /* scales image to fit entirely */
    mix-blend-mode: multiply!important;
}

.login .logo {

    margin: 10px auto 20px auto;
    float: none;
    width: 300px;          /* container width */
    height: 100px;         /* add a height so the container has space */
    background: url('../../img/brand-nasstar/nasstar-direct-logo_2026.png') center no-repeat;
    background-size: contain!important;   /* scales image to fit entirely */
    /*Fakes transparent background*/
    mix-blend-mode: multiply!important;
}


.awesomeicon {
    text-align: center;
    /*width: 100%;*/
    padding-bottom: 5px;
    padding-right: 5px;
}

/* Viewport is for mobiles up until an iPad */
@media screen and (min-width: 50px) and (max-width: 993px) {
    .flex-navbarbuttons {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .login .wrapper {
        width: 260px;
    }

    .flex-toolbar {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .right-column {
        /*margin-top: 15px;*/
        float: none;
        width: 100%;
    }


    .button2021 {
        min-width: 8ch !important;
        min-height: 34px !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
        font-size: 1.1em !important;
        padding-top: 10px;
        text-align: center;
        width: 12ch !important;
        /*margin-left: 10px !important;*/
    }

    /*.awesomeiconreverse {
    width: 8ch !important;
    text-align:center;
            }*/
    .navigation_main {
        width: 12ch !important;
    }


    .WelcomeMessage {
        text-align: center !important;
    }

    #div_textbox_search input[type=button] {
        margin-top: -25px !important;
    }

    /* Search button top right of portal */
    .quickconnectionsearch {
        height: 24px !important;
        width: 20vw;
    }

    .nomobile {
        display: none !important;
    }


    /* Hack to override font awesome large for use on smaller devices */
    .fa-lg {
        font-size: 2em !important;
    }

    .awesomeicon {
        text-align: center;
        width: 100%;
        padding-bottom: 5px;
        padding-right: 5px;
    }

    .awesomeicongood {
        color: #199719;
    }

    .awesomeiconwarn {
        color: #f11c1c;
    }

    .awesomeiconamber {
        color: #e9d418;
    }

    .button2021wide {
        width: 180px !important;
    }

    .button2021-home-wide {
        width: 8ch !important;
        min-width: 10ch !important;
        min-height: 34px !important;
        padding-top: 10px;
    }

    .ConnTable td {
        font-size: var(--font-sizetablet) !important;
    }

    .orderproductsscreen_product_section {
        padding: 15px;
        border: 1px solid black;
        -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        width: 100%;
    }
}

@media screen and (min-width: 50px) and (max-width: 340px) {

    /* Class for font awesome icons (base class) */
    .displayNoText {
        visibility: hidden !important;
    }
}


/* Class for putting shadow on font awesome icon */
.awesomeshadow {
    text-shadow: 2px 2px 1px #cccccc;
}

.awesomeiconnopad {
    padding-right: 0px !important;
}

.WelcomeMessage {
    text-align: center;
}


@font-face {
    font-family: "Font Awesome 5 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    font-display: swap;
    src: url(/css/font-awesome/webfonts/fa-brands-400.eot);
    src: url(/css/font-awesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"), url(/css/font-awesome/webfonts/fa-brands-400.woff2) format("woff2"), url(/css/font-awesome/webfonts/fa-brands-400.woff) format("woff"), url(/css/font-awesome/webfonts/fa-brands-400.ttf) format("truetype"), url(/css/font-awesome/webfonts/fa-brands-400.svg#fontawesome) format("svg")
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    font-display: swap;
    src: url(/css/font-awesome/webfonts/fa-solid-900.eot);
    src: url(/css/font-awesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"), url(/css/font-awesome/webfonts/fa-solid-900.woff2) format("woff2"), url(/css/font-awesome/webfonts/fa-solid-900.woff) format("woff"), url(/css/font-awesome/webfonts/fa-solid-900.ttf) format("truetype"), url(/css/font-awesome/webfonts/fa-solid-900.svg#fontawesome) format("svg")
}

.fa,
.fas {
    font-family: "Font Awesome 5 Free";
    font-weight: 900
}

.fab {
    font-family: "Font Awesome 5 Brands";
    font-weight: 400
}

.fa,
.fab,
.fad,
.fal,
.far,
.fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1
}

.fa-lg {
    font-size: 1.33333em;
    line-height: .75em;
    vertical-align: -.0667em
}

.fa-xs {
    font-size: .75em
}

.fa-sm {
    font-size: .875em
}

.fa-1x {
    font-size: 1em
}

.fa-2x {
    font-size: 2em
}

.fa-3x {
    font-size: 3em
}

.fa-4x {
    font-size: 4em
}

.fa-5x {
    font-size: 5em
}

.fa-6x {
    font-size: 6em
}

.fa-7x {
    font-size: 7em
}

.fa-8x {
    font-size: 8em
}

.fa-9x {
    font-size: 9em
}

.fa-10x {
    font-size: 10em
}

.fa-fw {
    text-align: center;
    width: 1.25em
}

.fa-book-reader:before {
    content: "\f5da"
}

.fa-boxes:before {
    content: "\f468"
}

.fa-building:before {
    content: "\f1ad"
}

.fa-buromobelexperte:before {
    content: "\f37f"
}

.fa-cart-plus:before {
    content: "\f217"
}

.fa-comment:before {
    content: "\f075"
}

.fa-database:before {
    content: "\f1c0"
}

.fa-ethernet:before {
    content: "\f796"
}

.fa-file-invoice:before {
    content: "\f570"
}

.fa-globe:before {
    content: "\f0ac"
}

.fa-home:before {
    content: "\f015"
}

.fa-linode:before {
    content: "\f2b8"
}

.fa-microphone:before {
    content: "\f130"
}

.fa-network-wired:before {
    content: "\f6ff"
}
.fa-concierge-bell:before{content:"\f562"}
.fa-people-arrows:before {
    content: "\e068"
}

.fa-plug:before {
    content: "\f1e6"
}

.fa-project-diagram:before {
    content: "\f542"
}

.fa-search:before {
    content: "\f002"
}

.fa-shopping-basket:before {
    content: "\f291"
}

.fa-sign-out-alt:before {
    content: "\f2f5"
}

.fa-ticket-alt:before {
    content: "\f3ff"
}
.fa-user:before {
    content: "\f007";
}
.fa-users-cog:before {
    content: "\f509"
}

.fa-watchman-monitoring:before {
    content: "\e087"
}

.fa-address-book:before {
    content: "\f2b9";
}

/* Dashboard buttons*/
.fa-angle-up:before {
    content: "\f106";
}

.fa-clipboard:before {
    content: "\f328";
}

.fa-redo:before {
    content: "\f01e";
}

.fa-expand:before {
    content: "\f065";
}

.fa-arrow-circle-up:before {
    content: "\f0aa";
}

.fa-file-csv:before {
    content: "\f6dd";
}

.fa-compress:before {
    content: "\f066";
}

.fa-clipboard-list:before {
    content: "\f46d";
}

.fa-sliders-h:before {
    content: "\f1de";
}

.fa-stethoscope:before {
    content: "\f0f1";
}
.fa-tools:before {
    content: "\f7d9";
}

.fa-list-alt:before {
    content: "\f022";
}

.fa-bezier-curve:before {
    content: "\f55b";
}
.fa-phone-slash:before {
    content: "\f3dd";
}

.fa-key:before {
    content: "\f084";
}

.fa-calendar-alt:before {
    content: "\f073";
}

.fa-tags:before {
    content: "\f02c";
}
.fa-toolbox:before {
    content: "\f552";
}
.fa-hubspot:before {
    content: "\f3b2";
}
.fa-book-open:before {
    content: "\f518";
}
.fa-linode:before {
    content: "\f2b8";
}
.fa-calendar-o:before {
    content: "\f133";
}

.fa-terminal:before {
    content: "\f120";
}

.r-tabs .r-tabs-nav .r-tabs-anchor {
    padding: 7px 2px !important;
    background-color: var(--dashboardNotSelectedTab);
}

.r-tabs .r-tabs-tab {
    margin: -3px;
    border-top-right-radius: 5px !important
}

.r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
    border-bottom: 4px solid #808080;
    height: 25px;
    border-top-right-radius: 5px !important
}


.deviceinfo {
    float: left;
    background-color: #deefff;
    color: black;
    border-radius: 5px;
    padding: 2px;
    font-size: 0.9em;
}

/* typical phone screen resolution */
@media only screen and (max-width : 667px) {
}

.mobilealert {
    display: none;
    width: 0;
    height: 0;
}

.mobilealertshow {
    display: inline-block;
    width: 200px;
    height: 300px;
    position: fixed;
    background: radial-gradient(ellipse at center, #deefff 0%, #98bede 100%);
    color: black;
    top: 50%;
    left: 50%;
    margin-top: -100px;
    margin-left: -100px;
    z-index: 10000;
    padding: 15px;
    text-align: center;
    font-size: 2em;
    -webkit-animation: animatemobile 0s ease-in 5s;
    animation: animatemobile 0s ease-in 5s;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    border-radius: 5px !important;
    opacity: 1;
}

.thephone {
    width: 150px;
    animation: rotation 5s;
}

/* typical phone screen resolution */
@media only screen and (max-width : 667px) and (orientation : portrait) {
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(90deg);
    }
}

@keyframes rotateyourdevice {
    from {
    }

    25% {
        opacity: 0.8;
    }


    50% {
        opacity: 0.6;
    }

    75% {
        opacity: 0.3;
    }

    to {
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        width: 0;
        height: 0;
    }
}

@-webkit-keyframes animatemobile {
    from {
    }

    25% {
        opacity: 0.8;
    }


    50% {
        opacity: 0.6;
    }

    75% {
        opacity: 0.3;
    }

    to {
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        width: 0;
        height: 0;
    }
}

@keyframes animatemobile {
    from {
    }

    25% {
        opacity: 0.8;
    }


    50% {
        opacity: 0.6;
    }

    75% {
        opacity: 0.3;
    }

    to {
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        width: 0;
        height: 0;
    }
}


/* landscape orientation */
@media only screen and (min-width : 375px) and (max-width : 667px) and (orientation : landscape) {
}

/* portrait orientation */
@media only screen and (min-width : 375px) and (max-width : 667px) and (orientation : portrait) {
}

/* typical tablet screen resolution */
@media only screen and (max-width : 834px) {
}

/* landscape orientation */
@media only screen and (min-width : 768px) and (max-width : 834px) and (orientation : landscape) {
}

/* portrait orientation */
@media only screen and (min-width : 768px) and (max-width : 834px) and (orientation : portrait) {
}

@media only screen and (min-width : 1224px) {
}


.hardDashboardRefresh {
    border-radius: 1rem;
    color: black;
    padding: 0.5rem 1rem 0;
    /*float: right!important;*/
    background-color: var(--beige);
    margin-bottom: 1rem!important;
    height: 2em;
    opacity: 0.9;
    border: 2px solid #f3caca !important;
  /*  width: 10rem;*/
}
/*
.hardDashboardRefresh:hover {
    background-color: var(--button-background-on-hover);
}
*/

/*Click here to refresh text*/
.hardRefreshOfDashboard {
    color: var(--button-foreground)!important;
    cursor: pointer;
}
.hardDashboardRefreshText {
    color: var(--font-colour);
    font-size:var(--font-size-main-links);
}

.quicksearchicon {
    background: url('../../img/icons/16/search2.png') 5px 5px no-repeat;
    border: none;
    width: 28px;
    height: 28px;
    text-indent: -9999px;
    cursor: pointer;
    margin-left: 1rem;
}
a#hardRefreshOfDashboard {
    color: #d1d1f7;
    text-transform: none;
    text-decoration: underline;
}

a#hardRefreshOfDashboard:hover {
    cursor: pointer;
}

/* Layout */
.OldUmbracoSectionHeaderDashboard {
    margin-bottom: 0;
    padding-left: 13px;
    padding-top: 0.5rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    letter-spacing: 0.5px;
}
.OldUmbracoSectionContentAvailability {
    -moz-border-radius-bottomleft: 5px;
    -moz-border-radius-bottomright: 5px;
    /* background-color: #c0dcff; */
    margin: 5px;
    border-radius: 5px;
    padding: 3px;
}


:where(.OldUmbracoSectionBox, .AAndBEnds) {
    --border-width: var(--dashboard-card-border-width, 1px);
    --border-start: #ffffff;
    --border-mid:   #eef2f4; /* gentle mid tone to soften the falloff */
    --border-end:   #d6d8d9;

    position: relative;
    border-radius: 8px;
    padding-left: 1rem;
    padding-right: 1rem;

    border: var(--border-width) solid transparent;

    /* Top layer: inner content background */
    /* Then: subtle highlight from top-right (linear + radial) */
    /* Bottom: main radial border from top-left */
    background:
        /* content fill */
            linear-gradient(#fff, #fff) padding-box,

                /* highlight sweep along the top edge, stronger near top-right */
            linear-gradient(to left, rgba(255,255,255,0.55), rgba(255,255,255,0) 40%) border-box,

                /* soft round highlight tucked in the top-right corner */
            radial-gradient(60% 60% at 100% 0%,
            rgba(255,255,255,0.5) 0%,
            rgba(255,255,255,0.0) 70%
            ) border-box,

                /* main border gradient radiating from top-left */
            radial-gradient(farthest-corner at top left,
            var(--border-start) 0%,
            var(--border-mid)   45%,
            var(--border-end)   100%
            ) border-box;
}

.OldUmbracoSectionBoxNoBorder {
    border: none!important;
}

.OldUmbracoSectionBoxDashboardTile {
    margin-bottom: 20px;
    border-top-left-radius: 1rem;
    padding-left: 1rem ;
}

.DashflexibleContainer {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.dashPaddingOverride {
    display: block;
    padding-left: 0;
    padding-right: 0;
}

/* Toolbar for dashboard tiles */
.dashboardTileHeaderContainer {
    display: inline-flex;
    width: 100%;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    background-color: var(--header-background);
    color: var(--header-text-colour);
    background-image: linear-gradient(
            to right,
            color-mix(in srgb, var(--header-background) 85%, #0000) 0%, /* slightly stronger at top */
            #ffffff 100%
    );
    margin-left: -1.1rem;
    border-top-left-radius: clamp(8px, 4%, 7px);
    border-bottom-left-radius: 0;
}

.dashboardTileHeaderContainerRight {
    margin-left: 0;
}


/* Header controls for tiles (copy to clipboard, expand etc) */
.dashboardTileHeaderControlsSection {
    margin-left: auto;
}

/* Text for the header */
.dashboardTileHeaderControlsTextSection {
    flex: 1;
}

/* Not all tiles have buttons, this just allows for separation of concerns */
.dashboardTileHeaderControlsTextSectionNoControls {
    flex: 1;
}

.tileIntroWrapper {
    color: black;
}

.flex-toolbarrightaligned {
    justify-content: flex-end;
}

.flex-toolbar-filtercomp {
    margin: 15px;
    /* width: 140px!important; */
    vertical-align: top;
    grid-auto-rows: 1fr;
    margin-bottom: 0;
}

.AvailabilityFormTile {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    gap: 6px;
}

.AvailabilityFormTile > div {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    gap: 12px;
}

.availabilityControl {
    font-size: 1em;
    padding: 5px;
    border-radius: 5px;
    border: var(--control-border);
    width: 162px;
    height: 24px;
}

.availScreen1 {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    gap: 2px;
}

.availScreen1UserInput {
    width: 100%;
}

.chartWrapperAvailability {
    position: relative;
    /* height: 150px; */
    background-color: white;
    border-radius: 6px;
    color: black;
    padding: 10px;
}

/* new dropdown for authority switching */
/* Basic styling for dropdown container */
.xdropdown {
    position: relative;
    width: 200px;
    padding-top: 0;
    margin-right: 6px;
}

.xdropdown button {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    background-color: var(--teal-600);
    color: white;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 2px solid beige;
    opacity: 0.7;
    font-weight: 400;
}

.xdropdown button:hover {
    background-color: #0056b3;
}

.xdropdown button::after {
    content: '\25BC';
    /* Unicode for down arrow */
    font-size: 12px;
    margin-left: 10px;
    /* Adds spacing between text and arrow */
}

.authority-dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.authority-dropdown-content div {
    padding: 10px;
    cursor: pointer;
    color: #333;
    border-bottom: 1px solid #f1f1f1;
}


.authority-dropdown-content div:last-child {
    border-bottom: none;
}

.authority-dropdown-content div:hover {
    background-color: #f8f9fa;
}


.newsItemsBullet {
    color: black;
    padding-left: 2rem;
    list-style: disc
}

/* From navigation.css */
.navigation_main {
    padding-left: 0;
    padding-top: 0;
    width: var(--left-menu-width);
}

.navigation_main ul ul {
    margin-left: 10px;
}

.navigation_main li {
    display: block;
    position: relative;
}

.DashFull {
    width: 100%;
}

.fontRadio {
    color:black!important
}

.Dash2 {
    width:48%
}

/* Fundamentals - layout */
.basic-flex-full-width {
    width:100%
}

.basic-flex-align-start {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
}

.basic-flex-align-end {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
}

.basic-flex-column-gap-1-rem {
    column-gap: 1rem;
}

.basic-flex-row-gap-1-rem {
    row-gap: 1rem;
}
.full-width-view-port {
    width: 100vw;
}


.col-1-24  { flex: 0 0 auto; width: 4.166666%; }
.col-2-24  { flex: 0 0 auto; width: 8.333333%; }
.col-3-24  { flex: 0 0 auto; width: 12.5%; }
.col-4-24  { flex: 0 0 auto; width: 16.666666%; }
.col-5-24  { flex: 0 0 auto; width: 20.833333%; }
.col-6-24  { flex: 0 0 auto; width: 25%; }
.col-7-24  { flex: 0 0 auto; width: 29.166666%; }
.col-8-24  { flex: 0 0 auto; width: 33.333333%; }
.col-9-24  { flex: 0 0 auto; width: 37.5%; }
.col-10-24 { flex: 0 0 auto; width: 41.666666%; }
.col-11-24 { flex: 0 0 auto; width: 45.833333%; }
.col-12-24 { flex: 0 0 auto; width: 50%; }
.col-13-24 { flex: 0 0 auto; width: 54.166666%; }
.col-14-24 { flex: 0 0 auto; width: 58.333333%; }
.col-15-24 { flex: 0 0 auto; width: 62.5%; }
.col-16-24 { flex: 0 0 auto; width: 66.666666%; }
.col-17-24 { flex: 0 0 auto; width: 70.833333%; }
.col-18-24 { flex: 0 0 auto; width: 75%; }
.col-19-24 { flex: 0 0 auto; width: 79.166666%; }
.col-20-24 { flex: 0 0 auto; width: 83.333333%; }
.col-21-24 { flex: 0 0 auto; width: 87.5%; }
.col-22-24 { flex: 0 0 auto; width: 91.666666%; }
.col-23-24 { flex: 0 0 auto; width: 95.833333%; }
.col-24-24 { flex: 0 0 auto; width: 100%; }

.col-remainder {
    flex: 1 1 auto;
    min-width: 0; /* Prevent overflow */
}

/* Override for login background colour */
.webp .login {
    background-color: var(--login-background)!important;

}

.no-webp .login {
    background-color: var(--login-background)!important;
}


/*The wrapper around the login screen*/
.login .inner {
    background-color: var(--login-background)!important;
    border-left: 1px solid var(--login-background);
    border-top: 1px solid var(--login-background);
    border-right: 2px solid var(--login-background);
    border-bottom: 2px solid var(--login-background);
    border-radius: 16px !important;
    z-index: 10000;
}

.module-login {
    background-color: var(--login-background)!important;
    color: white;
}

.module-outer-loginonly {
    background-color: var(--login-background)!important;
    color: black !important;
}

.module-content-login {
    background-color: var(--login-background)!important;
    color: black!important;
}

.base-button, .logOnBtn {
    background-color: var(--button-background)!important;
    color: var(--button-text-colour)!important;
}

.NoticeForCookies {
    color: black;
    margin-top: 12px;
    margin-bottom: 0;
    font-size: 0.8em;
}

.bold-text-label {
    font-weight: bold;
}

.fudgeforsearchboxabsolute {
    position: absolute;
    margin-top: 3rem;
}

/* Main menu links main-menu-link */
.main-menu-link-portal {
    box-shadow: none;
    padding-left: 0;
    padding-top:1rem;
    padding-bottom: 1rem;
    margin-left: 0!important;
    color: black!important;
    border-top: var(--button-border-width) solid white!important;
    border-bottom: var(--button-border-width) solid var(--button-border-color-main-menu)!important;
    border-radius: 0 !important;
    /*font-family: 'Icona Sans', sans-serif;*/
    font-size: var(--font-size-main-links) !important;
    cursor: pointer;
    width: 100%!important;
}
.main-menu-link-portal:hover {
    color: white!important;
}

.main-menu-link-portal-to-be-removed {
    opacity: 0.5;
    cursor:not-allowed;
}

.main-sub-menu-link-portal {
    box-shadow: none;
    padding-left: 0;
    padding-top:1rem;
    padding-bottom: 1rem;
    margin-left: 0!important;
    color: black!important;
    border-top: var(--button-border-width) solid white!important;
    border-bottom: var(--button-border-width) solid var(--button-border-color-main-menu)!important;
    border-radius: 0 !important;
    /*font-family: 'Icona Sans', sans-serif;*/
    font-size: var(--font-size-main-links) !important;
}
/* Link hover (fixed the var(...) typo for border-top) */
.main-menu-link-portal:hover {
    background-color: var(--button-background-on-hover) !important;
    border-top: var(--button-border-width) solid var(--button-border-color-main-menu-on-hover) !important;
    border-bottom: var(--button-border-width) solid var(--button-border-color-main-menu-on-hover) !important;
    font-weight: var(--button-font-weight-on-hover);
}

.button2021-home-nested-link {
    background-color: white!important;
    font-size: calc(var(--font-size) - 0.1rem)!important;
    padding-left:0.5rem!important;
    color: var(--font-colour)!important;
    width: 100%!important;
}
/* Navigation main menu */
.navigation_main ul li a {
    text-decoration: none;
    margin: 0 0 5px;
    padding: 7px;
    font-size: 0.9em;
    display: block;
    position: relative;
    color: white;
    box-shadow: none;
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.nice-text-box {
    font-size: 1em!important;
    padding: 5px!important;
    border-radius: 5px!important;
    border: var(--control-border);
    width: 95% !important;
    height: 22.5px!important;
}
/* Standard lovely button */
.button2021 {
    border-radius: var(--buttonradius);
    margin-right: 3px;
    margin-bottom: 6px;
    padding: 7px 14px;
    display: inline-block;
    text-decoration: none;
    position: relative;
    background-color: var(--button-background)!important;
    color: var(--button-text-colour)!important;
    border: var(--button-border-width) solid var(--button-border) !important;
}

.button2021:hover {
    background-color: var(--button-background-on-hover)!important;
    color: var(--button-foreground-on-hover)!important;
    font-weight: var(--button-font-weight-on-hover);
    border: var(--button-border-width) solid var(--button-border-on-hover) !important;
}

.button2021-order-page {
    width: 200px
}
.button2021-log-on-screen {
    width: 100% !important;
}
.button2021-log-on-screen:hover {
    font-weight: var(--button-font-weight-on-hover);
}

.button2021fixednotext {
    margin-top: 0;
    float: right;
}
/*
    Special buttons for dashboard headers 
*/
.button2021dashboard {
    background-color: var(--button-background);
    font-weight: 600;
    border-radius: 5px;
    padding: 5px;
    margin-top: 5px;
    float: right;
    margin-right: 6px;
    display:none;
    color: var(--button-foreground)!important;
    border: var(--button-border-width) solid var(--button-border) !important;
}

.button2021dashboard:hover {
    background-color: var(--button-background-on-hover);
    color: var(--button-foreground)!important;
    border: var(--button-border-width) solid var(--button-border-on-hover) !important;
    font-weight: var(--button-font-weight-on-hover);
    cursor: pointer;
}


.awesomeicondashboard {
    color: var(--button-icon-color)!important;

}


.awesomeicondashboard:hover {
    color: var(--nasstarorange);
}

/* When the parent link is hovered, change the icon color */
.button2021dashboard:hover .awesomeicondashboard {
    color: var(--button-icon-color-on-hover) !important;
    filter: drop-shadow(0 0 2px black);
}
.awesomeicon {
    color: var(--button-icon-color)!important;
}


.awesomeicon:hover {
    color: var(--button-background-on-hover)!important;

}


/* When the parent link is hovered, change the icon color */
.button2021:hover .awesomeicon {
    color: var(--button-icon-color-on-hover) !important;
    /*filter: drop-shadow(0 0 2px black);*/
}


/* Main menu */
.awesome-icon-navigation {
    color: var(--button-icon-color)!important;
    padding-right: 0.6rem;
}

.awesome-icon-navigation:hover {
    color: var(--button-icon-color-on-hover)!important;
}


/* Icon base */
.awesome-icon-navigation {
    color: var(--button-icon-color) !important;
    padding-right: 0.6rem;
    transition: color .15s ease-in-out; /* smooth change */
}

/* When the parent link is hovered, change the icon color */
.main-menu-link-portal:hover .awesome-icon-navigation {
    color: var(--button-icon-color-on-hover) !important;
}
/*.main-menu-link-portal:hover { color: var(--button-text-color-on-hover) !important; }*/

.button2021-special-override {
    margin-top: 0;
    margin-right: 1rem;
}


.main-menu-padding {
    padding-left: 0!important;
    padding-top: 1rem;
    border-right: 3px solid var(--line-or-separator-colour)!important;
}

/* Progress */
.progressfordash {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    z-index: 100000;
    float: right;
    color:whitesmoke;
}
.progressBackground {
    background: var(--teal-800)!important;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #3ab3dd !important;
    margin: 14px 14px 0;
    box-shadow: 0 0 10px 0 #3498db inset, 0 0 10px 2px #3498db
}

/* Accordion home screen */
#accordion .ui-accordion-header.ui-state-active {
    background-color: var(--button-background) !important;
    color:var(--button-foreground);
    opacity: 0.9;
}

#accordion .ui-accordion-header:hover {
    background-color: var(--button-background-on-hover) !important;
    color:var(--button-foreground-on-hover);
    font-weight: 100;
}

#accordionimportant {
    border-radius: 5px;
}


#accordion .ui-accordion-content-active {
    color: white !important;
}
.newsitems {
    color: var(--pagebackground);
    background-color: white;
}


.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    /* border: 1px solid #003eff; */
    border:unset!important;
    background: #007fff;
    font-weight: normal;
    color: #fff;
}

.ui-state-active .ui-icon, .ui-button:active .ui-icon {
    background-image: url("images/ui-icons_444444_256x240.png")!important;
    color: black!important;
}

.ui-state-active {
    border: var(--button-border-width) solid var(--button-border)!important;
}
.ui-state-default {
    border: 1px solid var(--button-border);
}
.ui-widget-content {
    border:unset!important;
}
/* ===== NASS Dialog (scoped, non-conflicting) ===== */
.nass-dialog {
    /* Theme vars (override these in your global CSS if needed) */
    --nass-success: #2e7d32;
    --nass-success-bg: #eaf7ea;
    --nass-success-br: #b7e1b9;

    --nass-error: #c62828;
    --nass-error-bg: #fdecea;
    --nass-error-br: #f6c7c4;

    --nass-info: #1e88e5;
    --nass-info-bg: #e8f2fd;
    --nass-info-br: #bcd9fb;

    border: none;
    padding: 0;
    width: min(92vw, 640px);
    max-height: 85vh;
    background: transparent;
}

.nass-dialog::backdrop { background: rgba(0, 0, 0, 0.45); }

.nass-dialog__container {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Header layout */
.nass-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-bottom: 3px solid var(--nebula-300);
    padding-left: 1rem;
}

/* Variant accent (header) */
.nass-dialog--success .nass-dialog__header {
    background: var(--nass-success-bg);
    color: var(--nass-success);
    border-bottom-color: var(--nass-success-br);
}
.nass-dialog--error .nass-dialog__header {
    background: var(--nass-error-bg);
    color: var(--nass-error);
    border-bottom-color: var(--nass-error-br);
}
.nass-dialog--info .nass-dialog__header {
    background: var(--nass-info-bg);
    color: var(--nass-info);
    border-bottom-color: var(--nass-info-br);
}

/* Optional left accent bar for stronger visual signal */
.nass-dialog--success .nass-dialog__container { border-left: 6px solid var(--nass-success); }
.nass-dialog--error   .nass-dialog__container { border-left: 6px solid var(--nass-error); }
.nass-dialog--info    .nass-dialog__container { border-left: 6px solid var(--nass-info); }

.nass-dialog__icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
}

/* Title & controls */
.nass-dialog__title { margin: 0; font-size: 1.25rem; line-height: 1.4; }
.nass-dialog__close {
    margin-left: auto;
    background: transparent;
    border: none;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    padding: 0.65rem;
    margin-top: 0.2rem;
}
.nass-dialog__close:hover { opacity: .8; }

/* Body & footer */
.nass-dialog__body { padding: 1rem 1.25rem; overflow: auto; }
.nass-dialog__footer {
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: 0 1.25rem 0.2rem;
}
.nass-dialog__btn {
    appearance: none;
    border: 1px solid #ddd;
    background: #f9f9f9;
    color: #333;
    border-radius: 6px;
    padding: .5rem .9rem;
    cursor: pointer;
}
.nass-dialog__btn:hover { background: #f1f1f1; }

/* Precise centering (optional override) */
/*
.nass-dialog {
  position: fixed;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}
*/

.result-link-li {
    box-shadow: none;
    padding-left: 0;
    padding-top:1rem;
    padding-bottom: 1rem;
    margin-left: 0!important;
    color: black!important;
    border-top: var(--button-border-width) solid white!important;
    border-bottom: var(--button-border-width) solid var(--button-border-color-main-menu)!important;
    border-radius: 0 !important;
}
.result-link {
    text-decoration: unset;
    background-color: unset;
}

.tileIntroWrapper {
    /*border-bottom: var(--tileIntroSectionBottomBorder);*/
    margin-bottom: 10px;
    display: block;
    padding-right: 10px;
}

.tileIntroText {
    padding-left: 10px;
    font-size: var(--tileIntroSectionFontSize);
    text-align: left;
    height:2.5rem;
}


.tileControlPart {
    width: 35%;
    height: var(--tileIntroSectionHeight);
}

/*
    DASHBOARD
*/
.chartWrapper {
    position: relative;
    height: var(--height-of-chart-in-dashboard)
}


.chartWrapperLarge {
    position: relative;
    height: 550px
}


.noDataWrapper {
    position: relative;
    height: 150px;
    /* background-color: var(--pagebackground); */
    border: 2px dotted gray;
    border-radius: 1rem;
}

.radio-button-dashboard-text {
    font-size: calc( var(--font-size) - 0.1rem);
}
.noDataText {
    color: grey;
    text-align: center;
    padding-top: 20px;
}

.results-list-quick-search {
    padding-left: 1rem;

}

.results-list-quick-search-item {
    padding-left: 1rem;

}



/* Base container */
.nass-progress {
    display: grid;
    grid-template-columns: 1fr auto; /* bar + value */
    align-items: center;
    gap: 10px;
    color: var(--nass-text);
    font: 500 14px/1.3 system-ui, -apple-system, Segoe UI, Roboto, "Open Sans", Arial, sans-serif;
}

/* Track & bar */
.nass-progress__track {
    position: relative;
    width: 100%;
    height: var(--nass-height);
    background: var(--nass-track);
    border-radius: var(--nass-radius);
    overflow: hidden;
}

.nass-progress__bar {
    height: 100%;
    background: var(--nass-primary);
    border-radius: var(--nass-radius);
    width: 0%;
    transition: width 250ms ease;
}

/* Text area */
.nass-progress__text {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.nass-progress__label { color: var(--nass-text); }
.nass-progress__value { color: var(--nass-primary); font-weight: 600; }

/* Indeterminate shimmer */
.nass-progress--indeterminate .nass-progress__track::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(90deg,
            transparent 0%,
            rgba(255,255,255,0.65) 50%,
            transparent 100%),
            linear-gradient(0deg, var(--nass-track), var(--nass-track));
    transform: translateX(-100%);
    animation: nass-progress-move 1.2s ease-in-out infinite;
}
@keyframes nass-progress-move {
    50% { transform: translateX(0%); }
    100% { transform: translateX(100%); }
}

/* Quick variants (optional) */
.nass-progress--success .nass-progress__bar { background: var(--nass-success); }
.nass-progress--error   .nass-progress__bar { background: var(--nass-error); }
.nass-progress--info    .nass-progress__bar { background: var(--nass-info); }
.nass-progress--success .nass-progress__value { color: var(--nass-success); }
.nass-progress--error   .nass-progress__value { color: var(--nass-error); }
.nass-progress--info    .nass-progress__value { color: var(--nass-info); }


.gradientLine {
    background: radial-gradient(ellipse at center, #deefff 0%,var(--nebula-300) 100%);
    height: 3px;
    border: none;
    /* box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); */
    width: 100%;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    background: var(--beige) !important;
}


.ui-widget {
    font-family: unset!important;
}

.dashboard-display-state {
    display:none;
}


.panel-disabled {
    position: relative;
    pointer-events: none;
    border-radius: inherit;
    padding: 1rem;
    isolation: isolate; /* ✅ forces proper stacking context */
}

/* GLASS layer */
.panel-disabled::before {
    content: "";
    position: absolute;
    inset: 0;

    /* ✅ MUST be translucent */
    background: var(--unready-overlay-bg, rgba(255, 255, 255, 0.45));

    /* ✅ blur only works with transparency */
    backdrop-filter: blur(var(--unready-blur, 6px));
    -webkit-backdrop-filter: blur(var(--unready-blur, 6px));

    border-radius: inherit;

    z-index: 1; /* ✅ sits over content */
}

/* CENTERED MESSAGE */
.panel-disabled::after {
    content: attr(data-unready-msg);
    position: absolute;
    inset: 0;

    display: flex;
    align-items: top;
    justify-content: center;
    text-align: center;

    color: var(--unready-text, #555);
    font-size: var(--unready-font-size, 1.1rem);
    font-weight: var(--unready-font-weight, 700);
    letter-spacing: var(--unready-letter-spacing, 0.3px);

    padding: var(--unready-padding, 12px 16px);
    margin: auto;
    width: max-content;
    max-width: min(90%, 48rem);
    border-radius: var(--unready-radius, 10px);

    /* ✅ optional pill behind text */
    background: var(--unready-text-bg, rgba(255, 255, 255, 0.7));
    box-shadow: var(--unready-shadow, 0 6px 18px rgba(0,0,0,0.08));

    z-index: 2; /* ✅ above glass */
}

/* Wrapper */
.tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: help;
}

/* Tooltip bubble */
.tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + var(--tooltip-offset));
    transform: translateX(-50%) translateY(4px);

    white-space: nowrap;
    font-size: var(--tooltip-font-size);
    line-height: 1.4;

    background: var(--tooltip-bg);
    color: var(--tooltip-fg);
    padding: var(--tooltip-padding);
    border-radius: var(--tooltip-radius);
    box-shadow: var(--tooltip-shadow);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
            opacity var(--tooltip-transition),
            transform var(--tooltip-transition);
    z-index: 1000;
}

/* Tooltip arrow */
.tooltip::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 2px);
    transform: translateX(-50%) translateY(4px);

    border-width: 6px;
    border-style: solid;
    border-color: var(--tooltip-bg) transparent transparent transparent;

    opacity: 0;
    visibility: hidden;

    transition:
            opacity var(--tooltip-transition),
            transform var(--tooltip-transition);
}

/* Show tooltip */
.tooltip:hover::after,
.tooltip:hover::before,
.tooltip:focus-visible::after,
.tooltip:focus-visible::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

#globalTooltip {
    position: fixed;
    z-index: 2147483647;

    background: rgba(30, 30, 34, 0.95);
    color: #fff;
    padding: 8px 10px;

    border-radius: 8px;
    font-size: 0.85rem;
    white-space: nowrap;

    box-shadow: 0 8px 24px rgba(0,0,0,0.2);

    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);

    transition:
            opacity 120ms ease,
            transform 120ms ease;
}

#globalTooltip.visible {
    opacity: 1;
    transform: translateY(0);
}


#globalTooltip {
    position: fixed;
    z-index: 2147483647;

    min-width: 180px;
    max-width: 320px;

    background: rgba(30, 30, 34, 0.96);
    color: #fff;

    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);

    font-size: 0.85rem;
    pointer-events: none;

    opacity: 0;
    transform: translateY(4px);
    transition:
            opacity 140ms ease,
            transform 140ms ease;
}

#globalTooltip.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Sections */
#globalTooltip .tt-header {
    font-weight: 600;
    padding: 8px 12px 4px;
    border-bottom: 2px solid rgba(255,255,255,0.12);
}

#globalTooltip .tt-body {
    padding: 8px 12px;
    line-height: 1.4;
}

#globalTooltip .tt-footer {
    padding: 6px 12px 8px;
    font-size: 0.75rem;
    color: rgba(255,255,255,0.7);
    border-top: 1px solid rgba(255,255,255,0.12);
}

/* Hidden section safety */
#globalTooltip .tt-header:empty,
#globalTooltip .tt-footer:empty {
    display: none;
}

/* Arrow */
#globalTooltip::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
}

#globalTooltip:not(.flip-bottom)::after {
    bottom: -12px;
    border-top-color: rgba(30, 30, 34, 0.96);
}

#globalTooltip.flip-bottom::after {
    top: -12px;
    border-bottom-color: rgba(30, 30, 34, 0.96);
}


#globalTooltip .tt-header:empty,
#globalTooltip .tt-footer:empty {
    display: none;
}

.productNoAvailabilityCard {
    width: var(--availability-none-card-width);
}

.productAvailabilityCardHeader {
    width: var(--availability-some-card-width);
}

/* Tables :: Connection tables, data tables and so much more */
.ConnTable {
    margin: 0;
    padding: 0;
    border-bottom: 2px solid var(--pagetitle_underlinecol);
    border-top: 2px solid var(--pagetitle_underlinecol);
}

.ConnTable table {
    border-collapse: collapse;
    border-spacing: 0;
    height: 100%;
    margin: 0px;
    padding: 0px;
    display: inline-block;
    float: left;
    clear: both;
}


.ConnTable a {
    color: var(--hyperlink-colour);
    text-decoration: underline;
}

.ConnTable th {
    color: var(--table-header-text-colour)!important;
    background-color: var(--table-header-background)!important;
    font-size: var(--table-header-font-size);
    font-weight: var(--table-header-font-weight);
}

.ConnTable td {
    color: var(--table-data-text-color);
    background-color: var(--table-data-background);
    border-bottom: 2px solid var(--line-or-separator-colour)!important;
    font-size: var(--table-data-font-size);
}

.ConnTable tr:hover td {
    background-color: var(--table-data-hover-background);
}

.ConnTable th.activeTh {
    border-width: 1px 1px 1px 1px;
    border-top: 1px solid #969696 !important;
    border-bottom: 1px solid #969696 !important;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    height: 30px;
}

.ConnTable th:last-child {
    border-width: 1px 1px 1px 1px;
    border-right: 0 solid #969696 !important;
    border-bottom: 1px solid #969696 !important;
    font-size: 13px;
    font-weight: bold;
    height: 30px;
}


thead th {
    background-color: var(--table-header-background) !important;
    color: var(--table-header-text-colour) !important;
    font-size: var(--table-header-font-size);
}

td.detail, tr.detail {
    background-color: var(--table-data-background) !important;
    color: var(--table-data-text-color) !important;
    font-size: var(--table-data-font-size);
}

table.details td {
    background-color: var(--table-data-background) !important;
    color: var(--table-data-text-color) !important;
}


/* Server unavailable component showing when cannot communicate with Symphony */
.server-unavailable {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    margin: 1rem 0;
    border-radius: 0.5rem;
    background: rgba(217, 83, 79, 0.08);
    color: #7a1e1e;
    border-left: 4px solid #d9534f;
}

.server-unavailable__title {
    font-weight: 600;
}

.server-unavailable__text {
    font-size: 0.9rem;
    opacity: 0.9;
}

.link-cannot-click {
    cursor: not-allowed;
}

.orderTitle {
    color: var(--font-colour);
}

.module h3 {
    border-bottom: 4px solid var(--line-or-separator-colour);
    margin: 0 0 5px;
    padding-bottom: 0.5rem;
    font-size: calc(var(--font-size) + var(--font-size-factoring-h3));
    color: var(--lavender-800);
    font-weight: 600;
}

.mainColumn:first-of-type {
    border-top: unset;

}

.mainColumn {
    border-bottom: 3px solid var(--line-or-separator-colour);

}

/* Order table override */
.tableOrderProducts > tbody > tr:first-child {
}

.icc-contacting-suppliers {
    background-color: var(--button-background); 
    border-radius: 1em; 
    padding: 1em;
    border-color: var(--button-background-on-hover);
}


.OldUmbracoQuickLinksPartnerTeam {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1.5rem;
}
.partnerteam a {
    transition: transform .15s ease, box-shadow .15s ease;
}
.partnerteam a:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 18px rgba(0,0,0,0.15);
}
/*
.partnerteam img.feather {
    border-radius: 8px;
}*/
.active-item-in-navigation {
    background-color: var(--button-background-on-hover) !important;
    color: var(--button-text-colour-on-hover) !important;
}

.disabled-item-in-navigation {
    
}


/* JQuery UI filters */

.ui-multiselect {
    font-size: 14px !important;    /* change to what you want */
    padding: 4px 8px !important;
}

.ui-multiselect:hover {
    background-color: var(--button-background-on-hover)!important;
    color: var(--button-text-colour-on-hover)!important;
    font-weight: var(--button-font-weight-on-hover);
    border: var(--button-border-width) solid var(--button-border-on-hover) !important;
}

#tblBatchHeaderRequests th {
    white-space: nowrap !important;
}

#tblBatchHeaderRequests th,
#tblBatchHeaderRequests td {
    max-width: none !important;
}


/* Keep multiselect button contained in header filter cells */
#tblBatchHeaderRequests thead .ui-multiselect {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

/* Make filter cells compact and avoid wrapping */
#tblBatchHeaderRequests thead tr.filters th {
    white-space: nowrap;
    padding: 4px 6px;
}

/* Datepicker filter width fix */
#tblBatchHeaderRequests thead tr.filters input.datePicker {
    width: 80px !important;     /* fits dd/mm/yyyy perfectly */
    min-width: 80px !important;
    max-width: 80px !important;
    box-sizing: border-box;
}

/* Crap tabs for conneciton screen */
.moduleLeftNav ul li a {
    padding: 8px 10px;
    display: block;
    /*color: rgb(51,51,51);*/
    text-decoration: none;
    /*background: #eee;*/
    border-bottom: 1px solid #CCC;
    border-top: 1px solid #CCC;
    border-left: 1px solid #CCC;
    border-top-left-radius: var(--buttonradius);
    border-bottom-left-radius: var(--buttonradius);
    font-size: 0.9em;
    background-color: var(--button-background);
    color: var(--button-text-colour);
}
.moduleLeftNav ul li.active a {
    background-color: var(--button-background-on-hover);
    color: var(--button-text-colour-on-hover); 
}

.button2021fixedchat {
    width: 140px !important;
}

.internal-only-button {
    background-color: var(--button-internal-background)!important;
    color: white!important;
}

.forgetmenot {
    margin-bottom: 1rem;
    border-radius: 0.5rem;
}


.rl-alert-icon {
    margin-right: 13px;
    font-size: 28px;
    line-height: 1;
}

.rl-alert {

    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 4px;
    border: 1px solid transparent;
    margin-top: 10px;

}

.rl-alert-info {
    background-color: #e7f3fe;
    border-color: #b3d7ff;
    color: #084298;
}

.rl-alert strong {
    font-weight: 600;
}

/* Optional close button */
.rl-alert .close {
    float: right;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    margin-left: 10px;
}

.rad-flex {
    display: flex;
    gap: 16px; /* spacing between panels */
}

.rad-left {
    width: 30%;
}

.rad-right {
    width: 70%;
}
.rad-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.rad-table th {
    text-align: left;
    font-weight: 600;
    font-size: 13px;
    padding: 6px;
    border-bottom: 1px solid #ccc;
}

.rad-table td {
    padding: 4px 6px;
    border-bottom: 1px solid #eee;
    font-family: monospace;
}

.rad-table tr.even {
    background-color: #f9f9f9;
}

.rad-table tr.odd {
    background-color: #fff;
}

.rad-table-col-row {
    
}
.rad-table-col-date-time {
    width: 8rem;
}

.rad-table-col-event {
    width: 8rem;
}

.rad-table-col-duration {
    width: 8rem;
}

.rad-table-col-username {
    width: 20rem;
}

.rad-stats td:first-child {
    width: 65%;
    font-weight: 500;
}

.rad-stats td:last-child {
    width: 35%;
    text-align: right;
}

.rad-totals th {
    text-align: right;
}

.rad-totals th:first-child {
    text-align: left;
}

.rad-totals td:first-child {
    font-weight: 500;
}

.rad-totals td:last-child,
.rad-totals td:nth-child(2) {
    text-align: right;
}
.rad-alerts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rad-alert {
    flex: 0 0 96%;
}

.rad-alert > div,
.rad-alert span {
    display: block;
}


.message-alert-pulse {

    animation:
            messagePulse 4s infinite;
}

@keyframes messagePulse {

    0%   { opacity: 0.3; }
    50%  { opacity: 1; }
    100% { opacity: 0.3; }
}



/* Asset hunter */
.arrow-shape {
    fill: #565657;
}

.asset-health-panel {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #ddd;
    background: #fff;
    font-size: 12px;
}

.asset-health-summary {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.asset-card {
    background: #f8f9fa;
    border-radius: 4px;
    padding: 6px 12px;
    min-width: 90px;
    text-align: center;
}

.asset-card-green {
    background: #d4edda;
}

.asset-card-red {
    background: #f8d7da;
}

.asset-card-orange {
    background: #fff3cd;
}

.asset-card-value {
    font-size: 20px;
    font-weight: bold;
}

.asset-card-label {
    font-size: 11px;
}

.asset-columns {
    display: flex;
    gap: 25px;
}

.asset-column {
    flex: 1;
}

.asset-column h4 {
    margin-top: 12px;
    margin-bottom: 6px;
}

.asset-list {
    margin: 0;
    padding-left: 20px;
    max-height: 250px;
    overflow-y: auto;
}

.asset-dev {
    color: #b71c1c;
    font-weight: 600;
}

.asset-duplicates {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}

.asset-columns-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.asset-columns-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.asset-table {
    width: 100%;
    font-size: 11px;
}

.asset-table th {
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.asset-table td:last-child {
    text-align: right;
    white-space: nowrap;
}

.asset-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
}

.asset-modal-content {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);

    width: 85%;
    max-width: 1800px;
    max-height: 90vh;

    overflow: auto;

    background: white;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 0 30px rgba(0,0,0,0.4);
}

.asset-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

#closeAssetHealthModal {
    border: none;
    background: none;
    font-size: 28px;
    cursor: pointer;
}

.asset-jquery {
    background-color: #ffebee;
}

.asset-jquery td:last-child {
    color: #c62828;
    font-weight: bold;
}

.asset-pure-js {
    background-color: #e8f5e9;
}

.asset-pure-js td:last-child {
    color: #2e7d32;
    font-weight: bold;
}
.asset-badge {
    display: inline-block;
    min-width: 32px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
}

.asset-badge-danger {
    background: #b71c1c;
    color: white;
}

.asset-badge-success {
    background: #2e7d32;
    color: white;
}

.asset-system {
    color: #999 !important;
    opacity: 0.6;
}

.asset-system td {
    color: #999 !important;
}

.asset-legacy {
    color: #dc3545 !important;
    font-weight: 600;
}

.asset-legacy td {
    color: #dc3545 !important;
}
.asset-unknown {
    color: #ff9800 !important;
}

.asset-unknown td {
    color: #ff9800 !important;
}

.asset-view-btn {
    background-color:white;
    width:2rem;
}

.asset-view-btn-small {
    background-color:white;
    width:2rem;
}

.asset-filter-button {

}

.asset-source-modal {

    position: fixed;
    inset: 0;

    background: rgba(0,0,0,.7);

    z-index: 99999;

    display: flex;
    justify-content: center;
    align-items: center;
}

.asset-source-dialog {

    width: 90%;
    height: 90%;

    background: white;

    border-radius: 8px;

    display: flex;
    flex-direction: column;
}

.asset-source-header {

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 12px;
    border-bottom: 1px solid #ddd;
}

.asset-source-code {

    margin: 0;
    padding: 16px;
    overflow: auto;
    flex: 1;
    font-family: Consolas, monospace!important;
    font-size: 12px!important;
}

.jq-hotspot {

    background: #ff5252;
    color: white;
    font-weight: bold;
}

.jq-selector {

    background: #ffb74d;
    color: black;
}

.jq-event {

    background: #64b5f6;
    color: black;
}
.jq-match-active {

    outline: 3px solid #00e5ff;
    box-shadow: 0 0 12px #00e5ff;

    position: relative;

    z-index: 5;
}
.jq-hotspot {
    background: #dc3545;
    color: white;
}

.jq-event {
    background: #0d6efd;
    color: white;
}

.jq-utility {
    background: #6f42c1;
    color: white;
}

.jq-selector {
    background: #fd7e14;
    color: white;
}

.jq-match-active {
    outline: 3px solid #00ffff;
    box-shadow: 0 0 8px #00ffff;
}
.asset-muted {

    opacity: 0.6;
}

.asset-muted:hover {

    opacity: 1;
}
.asset-inline-style {
    background: rgba(220,53,69,.08);
}

.asset-inline-css {
    background: rgba(255,193,7,.08);
}
.asset-empty {
    opacity: 0.6;
}
.asset-missing-nonce {
    background:#fff0f0;
    border-left:4px solid #dc3545;
}


/* CSP */
.black-writing {
    color:black;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFib3ZlVGhlRm9sZC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiQWJvdmVUaGVGb2xkLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyLvu78vKiBub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldCAqL1xyXG4vKiBSZVNoYXJwZXIgZGlzYWJsZSBDc3NCcm93c2VyQ29tcGF0aWJpbGl0eSAqL1xyXG5cclxyXG46cm9vdCB7XHJcblxyXG4gICAgLypcclxuICAgICAgICBSTC4gIEFib3ZlIHRoZSBmb2xkIGlzIHRoZSBwbGFjZSB0byBwdXQgdGhpbmdzIHRoYXQgYXJlIHZpc2libGUgYXMgc29vbiBhcyB0aGUgcGFnZSBsb2FkcywgdGhpcyBhcHBsaWVzXHJcbiAgICAgICAgdG8gdGhlIGhlYWRlciwgdGhlIGxvZ28sIHRoZSBmYXZpY29uLCB0aGUgcGFnZSB0aXRsZSwgZXRjLiAgVGhpbmdzIHRoYXQgYXJlIG5vdCB2aXNpYmxlIHVudGlsIHRoZSB1c2VyXHJcbiAgICAgICAgaW50ZXJhY3RzIHdpdGggdGhlIHBhZ2UuICBUaGluZ3MgbGlrZSB0aGUgbmF2aWdhdGlvbiBtZW51LCB0aGUgZm9vdGVyLCB0aGUgbG9naW4gZm9ybSwgZXRjLiBcclxuICAgICAgICBcclxuICAgICAgICBUbyB0aGUgYnJhdmUgd2FudGluZyB0byBkbyByZWJyYW5kaW5nLiAgVGhpcyBpcyB0aGUgcGxhY2UgdG8gc3RhcnQuXHJcbiAgICAgICAgXHJcbiAgICAgICAgUGxlYXNlIGRvIG5vdCBkZWZpbmUgbmV3IGNsYXNzZXMgYmVmb3JlIGNoZWNraW5nIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGEgY2xhc3MgaGVyZSB0aGF0IGZpdHMgdGhlIGJpbGwuXHJcbiAgICAgICAgXHJcbiAgICAgICAgRElTQ0xBSU1FUjogIFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLiAgSXQgaXMgbm90IGNvbXBsZXRlIGFuZCBiZWluZyBjb25zdGFudGx5IHVwZGF0ZWQuIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFJlbSB2cyBFbVxyXG4gICAgICAgIFxyXG4gICAgICAgIFJlbVxyXG4gICAgICAgICAgICByZW0gPSByb290IGVtLiAgSWYgdXNlciBkZWZhdWx0IGZvbnQgaXMgMTZweCB0aGVuIDFyZW0gPSAxNnB4IDsyIHJlbSA9IDMycHggOyAzcmVtID0gNDhweCBhbmQgc28gZm9ydGguXHJcbiAgICAgICAgICAgIFJlbGF0aXZlIHRvIHRoZSByb290IChodG1sKSBmb250LXNpemUuXHJcbiAgICAgICAgICAgIE5ldmVyIGFmZmVjdGVkIGJ5IHBhcmVudCBlbGVtZW50cy5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgRW1cclxuICAgICAgICAgICAgZW0gPSBlbGVtZW50IGVtXHJcbiAgICAgICAgICAgIGVtID0gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZWxlbWVudCAob3IgbmVhcmVzdCBwYXJlbnQgd2l0aCBmb250LXNpemUpXHJcbiAgICAgICAgICAgIENhbiBiZSBhZmZlY3RlZCBieSBwYXJlbnQgZWxlbWVudHMuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIFVuZm9ydHVuYXRlbHkgb3ZlciB0aGUgeWVhcnMsIHdlIGhhdmUgYmVlbiBpbmNvbnNpc3RlbnQgaW4gb3VyIHVzZSBvZiByZW0gdnMgZW0uICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBUaGUgdXNlcuKAmXMgZGVmYXVsdCBpcyB3aGF0ZXZlciB0aGV5IGhhdmUgc2V0IGluIHRoZWlyIGJyb3dzZXLigJlzIHNldHRpbmdzLlxyXG4gICAgICAgIEV2ZXJ5IGJyb3dzZXIgaGFzIGEg4oCcZGVmYXVsdCBmb250IHNpemXigJ0gb3B0aW9uIOKAlCB1c3VhbGx5IDE2cHgsIHVubGVzcyB0aGUgdXNlciBoYXMgY2hhbmdlZCBpdCBmb3IgYWNjZXNzaWJpbGl0eS92aXNpYmlsaXR5IHJlYXNvbnMuXHJcbiAgICAgICAgXHJcbiAgICAgICAgSWYgeW91IGRvbnQgZ2V0IGFueSBvZiB0aGlzIHRoZW4gbGVhdmUgc3R5bGluZyB0byB0aGUgYmlnIGJveXNcclxuICAgICovXHJcbiAgICBcclxuICAgIC8qIERlZmF1bHQgZm9udCByZXF1aXJlZCBieSBNYXJrZXRpbmcqL1xyXG4gICAgLS1mb250LXNhbnM6ICdJY29uYSBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIC8qIERlZmF1bHQgZmFsbGJhY2sgZm9udChzKSAqL1xyXG4gICAgLS1mb250LW1vbm86IHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsXCJMaWJlcmF0aW9uIE1vbm9cIixcIkNvdXJpZXIgTmV3XCIsbW9ub3NwYWNlO1xyXG5cclxuICAgIC8qIEZvbnQgd2VpZ2h0cyByZXF1aXJlZCBieSBmb250IGZpbGVzICovXHJcbiAgICAtLWZvbnQtd2VpZ2h0LXRoaW46IDEwMDtcclxuICAgIC0tZm9udC13ZWlnaHQtZXh0cmFsaWdodDogMjAwO1xyXG4gICAgLS1mb250LXdlaWdodC1saWdodDogMzAwO1xyXG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDQwMDtcclxuICAgIC0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XHJcbiAgICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XHJcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcclxuICAgIC0tZm9udC13ZWlnaHQtZXh0cmFib2xkOiA4MDA7XHJcbiAgICAtLWZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XHJcblxyXG4gICAgLyogQmFzaWNzIDo6IGZvbnRzICovXHJcbiAgICAtLWZvbnQtY29sb3VyOiAjMWQxYzFjO1xyXG4gICAgXHJcbiAgICAvKiBFcm0sIHRoZSBub3JtYWwgZm9udCBzaXplIGFrYSB0aGUgcm9vdCBzaXplIC0gdXNlciBkZWZhdWx0ICovXHJcbiAgICAtLWZvbnQtc2l6ZTogMXJlbTsgIFxyXG4gICAgXHJcbiAgICAtLWZvbnQtc2l6ZS1mYWN0b3JpbmctaDM6IDAuMnJlbTtcclxuICAgIFxyXG4gICAgLS1mb250LXNpemUtbWFpbi1saW5rczogMXJlbTtcclxuICAgIC8qIEVybSwgdGhlIG5vcm1hbCBmb250IHNpemUgKi9cclxuICAgIFxyXG4gICAgLS1mb250LXNpemV0YWJsZXQ6IDEuMmVtO1xyXG5cclxuICAgIC0tdHJhY2tpbmctdGlnaHQ6IC0uMDI1ZW07XHJcbiAgICAtLXRyYWNraW5nLXdpZGU6IC4wMjVlbTtcclxuICAgIC0tdHJhY2tpbmctd2lkZXN0OiAuMWVtO1xyXG4gICAgLS1sZWFkaW5nLXRpZ2h0OiAxLjI1O1xyXG4gICAgLS1sZWFkaW5nLXNudWc6IDEuMzc1O1xyXG4gICAgLS1sZWFkaW5nLW5vcm1hbDogMS4yZW07XHJcblxyXG4gICAgLyogQ29sb3VycyBmcm9tIG1hcmtldGluZyAqL1xyXG4gICAgLS1jb2xvci1wbHVtYjogIzIwMDAyODtcclxuICAgIC0tY29sb3ItbGF2ZW5kZXItMTAwOiAjZWNkMWZhO1xyXG4gICAgLS1jb2xvci1sYXZlbmRlci0yMDA6ICNlY2QxZmE7XHJcbiAgICAtLWNvbG9yLWxhdmVuZGVyLTMwMDogI2MxYThmNTtcclxuICAgIC0tY29sb3ItbGF2ZW5kZXItNDAwOiAjOWM3NmVmO1xyXG4gICAgLS1jb2xvci1sYXZlbmRlci01MDA6ICM3YTRjZTg7XHJcbiAgICAtLWNvbG9yLWxhdmVuZGVyLTYwMDogIzc1M2ZlOTtcclxuICAgIC0tY29sb3ItbGF2ZW5kZXItNzAwOiAjNmYyZWU4O1xyXG4gICAgLS1jb2xvci1uZWJ1bGEtMTAwOiAjYzJmMGZmO1xyXG4gICAgLS1jb2xvci1uZWJ1bGEtMzAwOiAjODVkOGZmO1xyXG4gICAgLS1jb2xvci1uZWJ1bGEtNDAwOiAjODVkOGZmO1xyXG4gICAgLS1jb2xvci1uZWJ1bGEtNjAwOiAjMDA5OWQ2O1xyXG4gICAgLS1jb2xvci1uZWJ1bGEtNzAwOiAjMDA3MmI4O1xyXG4gICAgLS1jb2xvci10ZWFsLTEwMDogI2MyZjVjMjtcclxuICAgIC0tY29sb3ItdGVhbC0yMDA6ICNhN2YzZDA7XHJcbiAgICAtLWNvbG9yLXRlYWwtMzAwOiAjNmVlN2I3O1xyXG4gICAgLS1jb2xvci10ZWFsLTQwMDogIzIyZDg5NTtcclxuICAgIC0tY29sb3ItdGVhbC02MDA6ICMwN2IxNzY7XHJcbiAgICAtLWNvbG9yLWJlaWdlLTUwOiAjZmRmZGZjO1xyXG4gICAgLS1jb2xvci1iZWlnZS0zMDA6ICNmNmY1ZjI7XHJcbiAgICAtLWNvbG9yLWJlaWdlLTQwMDogI2VmZWNlNTtcclxuICAgIC0tY29sb3ItYmVpZ2UtNTAwOiAjZTBkZGQ2O1xyXG4gICAgLS1jb2xvci1ncmV5LTUwOiAjZThlOGU4O1xyXG4gICAgLS1jb2xvci1ncmV5LTEwMDogI2I4YjhiODtcclxuICAgIC0tY29sb3ItZ3JleS0yMDA6ICM5Njk2OTY7XHJcbiAgICAtLWNvbG9yLWdyZXktMzAwOiAjNjY2O1xyXG4gICAgLS1jb2xvci1ncmV5LTQwMDogIzQ5NDk0OTtcclxuICAgIC0tY29sb3ItZ3JleS04MDA6ICMwMDA7XHJcblxyXG4gICAgLS1uYXNzLXByaW1hcnk6ICM2YjRmZDM7ICAgICAgICAvKiBBY2NlbnQgKE5hc3N0YXIgbGF2ZW5kZXIpICovXHJcbiAgICAtLW5hc3MtdHJhY2s6IHZhcigtLWxhdmVuZGVyLTgwMCk7ICAgICAgICAgIC8qIFRyYWNrIGJhY2tncm91bmQgKi9cclxuICAgIC0tbmFzcy10ZXh0OiAjMzMzOyAgICAgICAgICAgICAgLyogRGVmYXVsdCB0ZXh0IGNvbG9yICovXHJcblxyXG4gICAgLS1uYXNzLXN1Y2Nlc3M6ICMyZTdkMzI7XHJcbiAgICAtLW5hc3MtZXJyb3I6ICNjNjI4Mjg7XHJcbiAgICAtLW5hc3MtaW5mbzogIzFlODhlNTtcclxuXHJcbiAgICAtLW5hc3MtaGVpZ2h0OiAxMHB4OyAgICAgICAgICAgIC8qIFByb2dyZXNzIGJhciBoZWlnaHQgKi9cclxuICAgIC0tbmFzcy1yYWRpdXM6IDk5OXB4OyAgICAgICAgICAgLyogRnVsbHkgcm91bmRlZCBiYXIgKi9cclxuXHJcbiAgICAvKlxyXG4gICAgR2VuZXJhbFxyXG4gICAgKi9cclxuICAgIC0tcGFnZS1iYWNrZ3JvdW5kOiB2YXIoLS1wbHVtLWxpZ2h0KTtcclxuICAgIFxyXG4gICAgLyogTG9naW4gc2NyZWVuICovXHJcbiAgICAtLWxvZ2luLWJhY2tncm91bmQ6ICNmN2Y2ZjI7XHJcblxyXG4gICAgLyogTWlzYyAqL1xyXG4gICAgLS1sZWZ0LW1lbnUtd2lkdGg6IDE3MXB4O1xyXG4gICAgXHJcbiAgICAvKiBMaW5lICovXHJcbiAgICAtLWxpbmUtb3Itc2VwYXJhdG9yLWNvbG91cjogdmFyKC0tYmVpZ2UpO1xyXG5cclxuICAgIC8qIEh5cGVybGlua3MgKi9cclxuICAgIC0taHlwZXJsaW5rLWNvbG91cjogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIFxyXG4gICAgLyogVGFibGVzIGFuIGF0dGVtcHQgc2xvd2x5IHRvIHJlcGxhY2UgdGFibGVzLmNzcyEgKi9cclxuICAgIC0tdGFibGUtaGVhZGVyLWJhY2tncm91bmQ6IHZhcigtLWxhdmVuZGVyLTgwMCk7XHJcbiAgICAtLXRhYmxlLWhlYWRlci10ZXh0LWNvbG91cjogd2hpdGU7XHJcbiAgICAtLXRhYmxlLWhlYWRlci1mb250LXNpemU6IGNhbGMoIHZhcigtLWZvbnQtc2l6ZSkpO1xyXG4gICAgLS10YWJsZS1oZWFkZXItZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIFxyXG4gICAgLS10YWJsZS1kYXRhLWJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgLS10YWJsZS1kYXRhLWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKTtcclxuICAgIC0tdGFibGUtZGF0YS10ZXh0LWNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XHJcbiAgICAtLXRhYmxlLWRhdGEtZm9udC1zaXplOiBjYWxjKCB2YXIoLS1mb250LXNpemUpIC0gMC4xcmVtKTtcclxuICAgIFxyXG4gICAgLyogQnV0dG9ucyAqL1xyXG4gICAgLS1idXR0b24tYmFja2dyb3VuZDogdmFyKC0tYmVpZ2Utc29mdCk7ICAgICAgICAgICAgICAgICAvKlRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgYnV0dG9uKi9cclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXI6IHZhcigtLWxhdmVuZGVyLTYwMCk7XHJcbiAgICBcclxuICAgIC0tYnV0dG9uLWludGVybmFsLWJhY2tncm91bmQ6IHZhcigtLW5hc3MtZXJyb3IpO1xyXG4gICAgLyogUkwgLSBLZWVwIHRoZSBiZWxvdyBpbiovXHJcbiAgICAvKi0tYnV0dG9uLWJhY2tncm91bmQtb24tYWN0aXZlOiB2YXIoLS1sYXZlbmRlci04MDApO1xyXG4gICAgLS1idXR0b24tYmFja2dyb3VuZC1vbi1mb2N1czogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tZGlzYWJsZWQ6IHZhcigtLWJlaWdlLXNvZnQpO1xyXG4gICAgLS1idXR0b24tYmFja2dyb3VuZC1vbi1zZWxlY3RlZDogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tc2VsZWN0ZWQtaG92ZXI6IHZhcigtLWxhdmVuZGVyLTYwMCk7XHJcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLXNlbGVjdGVkLWFjdGl2ZTogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tc2VsZWN0ZWQtZm9jdXM6IHZhcigtLWxhdmVuZGVyLTgwMCk7XHJcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLXNlbGVjdGVkLWRpc2FibGVkOiB2YXIoLS1iZWlnZS1zb2Z0KTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tc2VsZWN0ZWQtY2hlY2tlZDogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tc2VsZWN0ZWQtY2hlY2tlZC1ob3ZlcjogdmFyKC0tbGF2ZW5kZXItNjAwKTtcclxuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtb24tc2VsZWN0ZWQtY2hlY2tlZC1hY3RpdmU6IHZhcigtLWxhdmVuZGVyLTgwMCk7XHJcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLXNlbGVjdGVkLWNoZWNrZWQtZm9jdXM6IHZhcigtLWxhdmVuZGVyLTgwMCk7XHJcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLXNlbGVjdGVkLWNoZWNrZWQtZGlzYWJsZWQ6IHZhcigtLWJlaWdlLXNvZnQpOyovXHJcbiAgICBcclxuICAgIC0tYnV0dG9uLXRleHQtY29sb3VyOiAjMDAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypUZXh0IGNvbG91ciBvZiB0aGUgYnV0dG9uKi9cclxuICAgIC0tYnV0dG9uLXRleHQtY29sb3VyLW9uLWhvdmVyOiB3aGl0ZTsgICAgICAgICAgICAgICAgICAgLyogTXVzdCBjb250cmFzdCB3aXRoIGJhY2tncm91bmQgY29sb3VyIC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIgKi9cclxuXHJcbiAgICAtLWJ1dHRvbi1ib3JkZXI6ICM5ZDkyOTI7XHJcbiAgICAtLWJ1dHRvbi1ib3JkZXItb24taG92ZXI6ICM5ZDkyOTI7XHJcbiAgICAtLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDJweDtcclxuICAgIC0tYnV0dG9uLWZvbnQtd2VpZ2h0LW9uLWhvdmVyOiBub3JtYWw7XHJcblxyXG4gICAgLS1jb250cm9sLWJvcmRlcjogMnB4IHNvbGlkICNjNmM4Y2IgIWltcG9ydGFudDtcclxuICAgIC0tYnV0dG9uX3NoYWRvdzogMCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblxyXG4gICAgLS1idXR0b25yYWRpdXM6IDVweDtcclxuICAgIC0tYnV0dG9uLWJvcmRlci1pbml0aWFsOiBncmF5O1xyXG5cclxuICAgIC0tYnV0dG9uLWljb24taG92ZXJjb2xvdXI6ICM1NGFkNjdlMDtcclxuXHJcbiAgICAvKiBDb2xvdXIgb2YgZm9udCBhd2Vzb21lIGljb24gd2hlbiBob3ZlcmluZyAqL1xyXG4gICAgLS1idXR0b24taW5pdGlhbC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuXHJcbiAgICAvKiBCYWNrZ3JvdW5kIG9mIGJ1dHRvbiAqL1xyXG4gICAgLS1idXR0b24tdHJhbnNpdGlvbi1kZWxheTogMHM7XHJcblxyXG4gICAgLyogRGVsYXkgYmV0d2VlbiBjb2xvdXIgY2hhbmdlcy4gIEtlZXAgZm9yIG5vdywgbW9yZSBwbGFjZWhvbGRlci4gKi9cclxuICAgIC0tYnV0dG9uLWluaXRpYWwtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xyXG5cclxuICAgIC8qIEFub3RoZXIgdmFyaWFudCBvZiBidXR0b24gc2hhZG93ICovXHJcbiAgICAtLWJ1dHRvbi1pbml0aWFsLWZvbnQtc2l6ZTogMXJlbTtcclxuXHJcbiAgICAvKiBOb3JtYWwgZm9udC1zaXplIG9mIGJ1dHRvbiAqL1xyXG4gICAgLS1idXR0b24tc3RhbmRhcmQtd2lkdGg6IDEwMHB4O1xyXG5cclxuICAgIC8qIEEgbm9ybWFsIGJ1dHRvbiwgaW4gYSBub3JtYWwgd29yayAqL1xyXG4gICAgLS1idXR0b24td2lkZS13aWR0aDogMTQ4cHg7XHJcblxyXG4gICAgLyogVGhlIHdpZHRoIG9mIHRoZSBuYXZsaW5rcyBpbiBob21lIHNjcmVlbiAqL1xyXG4gICAvKiAtLWJ1dHRvbi1tZXNzYWdlLWFsZXJ0OiAjZTQxNTE1OyovXHJcblxyXG4gICAgLypcclxuICAgICAgICBNYWluIG1lbnUgbGlua3MsIG1vc3RseSBzYW1lIGFzIGJ1dHRvbnNcclxuICAgICAqL1xyXG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLW1haW4tbWVudTogdmFyKC0tYmVpZ2UpO1xyXG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLW1haW4tbWVudS1vbi1ob3ZlcjogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIFxyXG4gICAgLypJY29ucyovXHJcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiBibGFjaztcclxuICAgIC0tYnV0dG9uLWljb24tY29sb3Itb24taG92ZXI6IHdoaXRlO1xyXG5cclxuICAgIC0tYnV0dG9uLWljb24tY29sb3ItcXVpY2stbGlua3M6IHZhcigtLXRlYWwtMTAwKTtcclxuXHJcbiAgICAvKlF1aWNrIGxpbmtzKi9cclxuICAgIC0tcXVpY2tsaW5rcy1pY29uLWNvbG9yOiB2YXIoLS1sYXZlbmRlci04MDApO1xyXG4gICAgLS1xdWlja2xpbmtzLWljb24tY29sb3ItaG92ZXI6IHdoaXRlO1xyXG5cclxuICAgIC0taGVhZGVyLWJhY2tncm91bmQ6IHZhcigtLWxhdmVuZGVyLTgwMCk7XHJcbiAgICAtLWhlYWRlci10ZXh0LWNvbG91cjogd2hpdGU7XHJcbiAgICBcclxuICAgIC0taGVhZGVyLWJhY2tncm91bmQtbGlnaHQ6ICNlZWViZTQ7XHJcbiAgICBcclxuICAgIC0tcGFnZXRpdGxlX3VuZGVybGluZWNvbDogIzcwNzA3MDtcclxuXHJcbiAgICAvKiBEYXNoYm9hcmQgKi9cclxuICAgIC0tZGFzaGJvYXJkLWNhcmQtYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAtLWhlaWdodC1vZi1jaGFydC1pbi1kYXNoYm9hcmQ6IDE1MHB4O1xyXG5cclxuICAgIC8qIE9sZCBzdHlsZXMgcHJlIGZhbW91cyAyMDI2IHJlbGVhc2UgKi8gICAgXHJcbiAgICAvKiBCb3JkZXIgY29sb3VyIG9mIG1lc3NhZ2UgY2VudHJlIGJ1dHRvbiBpbiBob21lIHNjcmVlbiAqL1xyXG4gICAgLS1ob21lLXBhbmVsLWhlYWRlci1jb2xvcjogIzI5QTFEOTtcclxuICAgIFxyXG4gICAgLyogVGhlIGNvbG91ciBvZiB0aGUgaGVhZGVyIGJhciBvbiBob21lIHNjcmVlbiAqL1xyXG4gICAgLS1ob21lLXBhbmVsLWludGVybmFsLWNvbG9yOiAjZmJkNDg1O1xyXG4gICAgXHJcbiAgICAvKiBHcmlkcyAqL1xyXG4gICAgLS1ncmlkX2hvdmVyOiAjYzVkYWZjO1xyXG4gICAgLS1wbGFjZWhvbGRlci1jb2xvcjogaW5kaWFucmVkO1xyXG4gICAgXHJcbiAgICAvKiBcclxuICAgIEFsZXJ0IGFuZCBtZXNzYWdlIHBhbmVscyBcclxuICAgICovXHJcbiAgICAvKi0tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG91cjogI2Y4ZjhmODsqL1xyXG5cclxuICAgIC8qXHJcbiAgICBMb2dvXHJcbiAgICAqL1xyXG4gICAgLS1sb2dvLXdpZHRoOiAzMTBweDtcclxuXHJcbiAgICAtLWljY19ob3ZlcmJveGVzLWNvbG91cjogMXB4IHNvbGlkICM3NTZlNmU7XHJcblxyXG4gICAgLyogaG92ZXIgY29sb3VyIGZvciBib3hlcyAqL1xyXG4gICAgLS1pY2NfdHJhbnNpdGlvbi1mb3ItaG92ZXI6IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgIC0taWNjX3NwZWVkLWJveC1zZWxlY3RlZDogIzA2MDYwNjZlO1xyXG4gICAgXHJcbiAgICAvKiBCaWcgcmVkIGJ1dHRvbiAqL1xyXG4gICAgLS1icmItbWlzc2luZy1wb3N0Y29kZS1jb2xvdXI6ICNlZTEwZjQ7XHJcbiAgICAtLWJyYi1ub3Qtc3RhcnRlZDogcmdiYSgxMDgsIDExNywgMTI1LCAxKTtcclxuICAgIC0tYnJiLWdsb3ctbWFya2VyLW9mZmxpbmU6IHJnYmEoMjI4LCAxNywgMTcsIDAuNik7XHJcbiAgICAtLWJyYi1nbG93LW1hcmtlci1vZmZsaW5lLTUwOiByZ2JhKDIyOCwgMTcsIDE3LCAwLjkpO1xyXG4gICAgLS1icmItZ2xvdy1tYXJrZXItb25saW5lOiByZ2JhKDAsIDE1MywgNTEsIDAuNik7XHJcbiAgICAtLWJyYi1nbG93LW1hcmtlci1vbmxpbmUtNTA6IHJnYmEoMCwgMTUzLCA1MSwgMC45KTtcclxuICAgIC0tYnJiLWdsb3ctbWFya2VyLW5vdC1zdGFydGVkOiByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNik7XHJcbiAgICAtLWJyYi1nbG93LW1hcmtlci1lcnJvci1taXNzaW5nLXBvc3Rjb2RlOiByZ2JhKDIzOCwgMTYsIDI0NCwgMC42KTtcclxuICAgIFxyXG4gICAgLyogT3JhbmdlIGlzIHVzZWQgZm9yIGhpZ2hsaWdodGluZywgaG92ZXJpbmcgKi9cclxuICAgIC0tbmFzc3Rhcm9yYW5nZTogI2ZmYjU0ODtcclxuICAgIC0tbmFzc3RhcmJsdWU6ICMyYTI2OWY7XHJcbiAgICAtLW5hc3N0YXJncmVlbjogIzRlYjM4ZDtcclxuICAgIC0tbmFzc3RhcnBpbms6ICNlMDNiOTI7XHJcbiAgICAtLWZpbHRlcl9uYXNzdGFyb3JhbmdlOiBicmlnaHRuZXNzKDAuNykgc2VwaWEoMC45KSBzYXR1cmF0ZSg5OTIwJSkgaHVlLXJvdGF0ZSg0OWRlZyk7XHJcbiAgICAtLWZpbHRlcl9uYXNzdGFyYmx1ZTogYnJpZ2h0bmVzcygwLjUpIHNlcGlhKDEpIHNhdHVyYXRlKDEwMDAwJSkgaHVlLXJvdGF0ZSgyMDBkZWcpO1xyXG4gICAgLS1maWx0ZXJfbmFzc3RhcmdyZWVuOiBicmlnaHRuZXNzKDAuNSkgc2VwaWEoMSkgc2F0dXJhdGUoMTAwMDAlKSBodWUtcm90YXRlKDEyMGRlZyk7XHJcbiAgICAtLWZpbHRlcl9uYXNzdGFycGluazogYnJpZ2h0bmVzcygwLjUpIHNlcGlhKDEpIHNhdHVyYXRlKDEwMDAwJSkgaHVlLXJvdGF0ZSgyOTBkZWcpO1xyXG4gICAgXHJcbiAgICAtLW5hc3N0YXJ3YXNncmVlbm5vd2JsdWU6ICNjYWUzZmE7XHJcblxyXG4gICAgLyotLW5hc3NzdGFyaHlwZXJsaW5rOiAjZTAzYjkyOyovXHJcbiAgICAvKiBUaGUgbWFpbiBjb2xvciBvZiBsb2dvICovXHJcbiAgICAtLXBhcnRuZXJfbG9nb19jb2xvdXI6IHdoaXRlO1xyXG4gICAgLS10YWJsZXJvd2hvdmVyY29sOiAjZjJiZjFmNDI7XHJcbiAgICAtLXBhcnRuZXJfbG9nb19jb2xvdXJfcmdiOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG4gICAgLS1wYXJ0bmVyX2xvZ29fY29sb3VyX3JnYl9mb3JfaG92ZXI6IHJnYmEoMjM3LCAyMDcsIDcxLCAwLjA1KTtcclxuICAgIC0tcGFydG5lcl9sb2dvX3RleHRjb2xvdXI6IHdoaXRlO1xyXG4gICAgLS1wYXJ0bmVyX2dsb3c6IHdoaXRlO1xyXG4gICAgXHJcbiAgICAvKiBEYXNoYm9hcmQqL1xyXG4gICAgLS10aWxlSW50cm9TZWN0aW9uSGVpZ2h0OiA2MHB4O1xyXG4gICAgLS10aWxlSW50cm9TZWN0aW9uQm90dG9tQm9yZGVyOiAxcHggc29saWQgZ3JlZW47XHJcbiAgICAtLXRpbGVJbnRyb1NlY3Rpb25Gb250U2l6ZTogMTRweDtcclxuICAgIC8qLS1oZWFkZXJSYWRpdXM6IDEycHg7Ki9cclxuICAgIFxyXG4gICAgLypBdmFpbGFiaWxpdHkqL1xyXG4gICAgLS1ub0F2YWlsYWJsaXR5OiAjOTkxNTE1O1xyXG4gICAgLS1wcm9kdWN0QXZhaWxhYmxlOiAjMzlhYjExO1xyXG4gICAgLS1kYXNoYm9hcmROb3RTZWxlY3RlZFRhYjogdmFyKC0tYmVpZ2Utc29mdCk7XHJcbiAgICAtLWRhc2hib2FyZC1idXR0b24tYmFja2dyb3VuZDogIzFkMWMxYztcclxuXHJcbiAgICAvKiBOZXcgYnJhbmRpbmcgMjAyNSAqL1xyXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENPUkUgQlJBTkQgQ09MT1VSU1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKiBMYXZlbmRlciAqL1xyXG4gICAgLS1sYXZlbmRlci0xMDA6ICNFQ0QxRkE7XHJcbiAgICAtLWxhdmVuZGVyLTMwMDogI0MxQThGNTtcclxuICAgIC0tbGF2ZW5kZXItNDAwOiAjOUM3NkVGO1xyXG4gICAgLS1sYXZlbmRlci02MDA6ICM3NTNGRTk7XHJcbiAgICAtLWxhdmVuZGVyLTgwMDogIzMzMDA0MDtcclxuXHJcbiAgICAvKiBOZWJ1bGEgKi9cclxuICAgIC0tbmVidWxhLTEwMDogI0MyRjBGRjtcclxuICAgIC0tbmVidWxhLTMwMDogIzg1RDhGRjtcclxuICAgIC0tbmVidWxhLTQwMDogIzNEQzJGRjtcclxuICAgIC0tbmVidWxhLTYwMDogIzAwOTlENjtcclxuICAgIC0tbmVidWxhLTgwMDogIzAwMkQ0MjtcclxuXHJcbiAgICAvKiBUZWFsICovXHJcbiAgICAtLXRlYWwtMTAwOiAjQzJGNUMyO1xyXG4gICAgLS10ZWFsLTMwMDogIzY5RTdCMTtcclxuICAgIC0tdGVhbC00MDA6ICMyMkQ4OTU7XHJcbiAgICAtLXRlYWwtNjAwOiAjMDdCMTc2O1xyXG4gICAgLS10ZWFsLTgwMDogIzAyNDIzQztcclxuXHJcbiAgICAtLXBsdW06ICMyMDAwMjg7XHJcbiAgICAtLXBsdW0tbGlnaHQ6ICNlY2QxZmE1MjtcclxuXHJcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgICBORVVUUkFMU1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC0tZ3JleTogI0UwRERENjtcclxuICAgIC0tYmVpZ2U6ICNFRkVDRTU7XHJcbiAgICAtLWJlaWdlLXNvZnQ6ICNGNkY1RjI7XHJcbiAgICAtLXdoaXRlOiAjRkZGRkZGO1xyXG4gICAgLS1kYXJrOiAjMUIxQjFCO1xyXG5cclxuXHJcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgICBCUkFORCBHUkFESUVOVCBTVE9QU1xyXG4gICAgICAgKHNoYXJlZCBzb2Z0IGJhY2tncm91bmQgdG9uZXMpXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLS1ncmFkaWVudC10b3A6ICNGN0Y2RjI7ICAgLyogMjUlICovXHJcbiAgICAtLWdyYWRpZW50LW1pZDogI0ZGRjZFNTsgICAvKiA3MCUgKi9cclxuXHJcblxyXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgICAgQlJBTkQgR1JBRElFTlRTXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLS1ncmFkaWVudC12aW9sZXQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgMTgwZGVnLFxyXG4gICAgICAgICAgICB2YXIoLS1ncmFkaWVudC10b3ApIDI1JSxcclxuICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtbWlkKSA3MCUsXHJcbiAgICAgICAgICAgICNERUQxRkEgMTAwJVxyXG4gICAgKTtcclxuXHJcbiAgICAtLWdyYWRpZW50LXJveS1oYWNrOiBsaW5lYXItZ3JhZGllbnQoLTc5ZGVnLCB2YXIoLS1ncmFkaWVudC10b3ApIDI1JSwgdmFyKC0tZ3JhZGllbnQtbWlkKSA3MCUsICNERUQxRkEgMTAwJSk7XHJcblxyXG4gICAgLS1ncmFkaWVudC1uZWJ1bGE6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgMTgwZGVnLFxyXG4gICAgICAgICAgICB2YXIoLS1ncmFkaWVudC10b3ApIDI1JSxcclxuICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtbWlkKSA3MCUsXHJcbiAgICAgICAgICAgICNDQ0VGRkYgMTAwJVxyXG4gICAgKTtcclxuXHJcbiAgICAtLWdyYWRpZW50LXRlYWw6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgMTgwZGVnLFxyXG4gICAgICAgICAgICB2YXIoLS1ncmFkaWVudC10b3ApIDI1JSxcclxuICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtbWlkKSA3MCUsXHJcbiAgICAgICAgICAgICNCNEYzQzcgMTAwJVxyXG4gICAgKTtcclxuXHJcblxyXG4gICAgLS11bnJlYWR5LW92ZXJsYXktYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7IC8qIGdsYXNzIHZlaWwgKi9cclxuICAgIC0tdW5yZWFkeS1ibHVyOiA0cHg7XHJcbiAgICAtLXVucmVhZHktdGV4dDogIzU1NTsgICAgICAgICAgLyogdGV4dCBjb2xvdXIgKi9cclxuICAgIC0tdW5yZWFkeS1mb250LXNpemU6IGNsYW1wKDAuOTVyZW0sIDEuNXZ3LCAxLjI1cmVtKTtcclxuICAgIC0tdW5yZWFkeS1mb250LXdlaWdodDogNzAwO1xyXG4gICAgLS11bnJlYWR5LWxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICAgIC0tdW5yZWFkeS1wYWRkaW5nOiAxMnB4IDE2cHg7ICAvKiBpbm5lciBwYWRkaW5nIGlmIHlvdSB3YW50IGEgcGlsbC9iYWRnZSBsb29rICovXHJcbiAgICAtLXVucmVhZHktcmFkaXVzOiAxMHB4OyAgICAgICAgLyogb3B0aW9uYWw6IHJvdW5kZWQgYmFja2dyb3VuZCBiZWhpbmQgdGhlIG1lc3NhZ2UgKi9cclxuICAgIC0tdW5yZWFkeS10ZXh0LWJnOiB0cmFuc3BhcmVudDsvKiBzZXQgdG8gcmdiYSgyNTUsMjU1LDI1NSwuNykgZm9yIHBpbGwgKi9cclxuICAgIC0tdW5yZWFkeS1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLDAsMCwuMDgpO1xyXG5cclxuXHJcbiAgICAtLXRvb2x0aXAtYmc6IHJnYmEoMzAsIDMwLCAzNCwgMC45NSk7XHJcbiAgICAtLXRvb2x0aXAtZmc6ICNmZmZmZmY7XHJcbiAgICAtLXRvb2x0aXAtcmFkaXVzOiA4cHg7XHJcbiAgICAtLXRvb2x0aXAtcGFkZGluZzogOHB4IDEwcHg7XHJcbiAgICAtLXRvb2x0aXAtZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgLS10b29sdGlwLXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsMCwwLDAuMTgpO1xyXG4gICAgLS10b29sdGlwLW9mZnNldDogMTBweDtcclxuICAgIC0tdG9vbHRpcC10cmFuc2l0aW9uOiAxODBtcyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7XHJcblxyXG4gICAgLS1hdmFpbGFiaWxpdHktbm9uZS1jYXJkLXdpZHRoOiAxMzBweDtcclxuICAgIC0tYXZhaWxhYmlsaXR5LXNvbWUtY2FyZC13aWR0aDogMTQ3cHg7XHJcbn1cclxuXHJcclxuXHJcblxyXG4vKiBTY2FsZXMgc21vb3RobHkgYmV0d2VlbiB+MTZweCBhbmQgfjIwcHggYmFzZWQgb24gdmlld3BvcnQgd2lkdGggKi9cclxuLypcclxuaHRtbCB7IFxyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxMDAlLCAxLjJ2dyArIDAuNXJlbSwgMTI1JSk7XHJcbn0gICAgISogYmFzZSB+MTZweCAtIHNlZSBub3RlcyBhYm91dCBob3cgZGVmYXVsdCBpcyBzZXQgKiFcclxuKi9cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdJY29uYSBTYW5zJztcclxuICAgIHNyYzpcclxuICAgICAgICAgICAgbG9jYWwoJ0ljb25hIFNhbnMgUmVndWxhcicpLFxyXG4gICAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL0ljb25hU2Fucy1SZWd1bGFyLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnR3JlbmV0dGVQcm8nO1xyXG4gICAgc3JjOlxyXG4gICAgICAgICAgICBsb2NhbCgnSWNvbmEgU2FucyBSZWd1bGFyJyksXHJcbiAgICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvR3JlbmV0dGVQcm8ub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdHcmVuZXR0ZVBybyc7XHJcbiAgICBzcmM6XHJcbiAgICAgICAgICAgIGxvY2FsKCdJY29uYSBTYW5zIFNlbWkgQm9sZCcpLFxyXG4gICAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL0dyZW5ldHRlUHJvLVNlbWlCb2xkLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZCAqL1xyXG4gICAgLypub2luc3BlY3Rpb24gQ3NzSW52YWxpZFByb3BlcnR5VmFsdWUgKi9cclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMsIHNhbnMtc2VyaWYpO1xyXG4gICAgY29sb3I6IGJsYWNrIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXHJcbi5VbWJyYWNvRXh0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBcclxufVxyXG5cclxuLyogIFxyXG4gICAgV2hvbGUgb2xkIFVtYnJhY2NvIENNUyAoaG9tZSBzY3JlZW4pXHJcblxyXG4gICAgQ29udGFpbnMgdHdvIGNvbHVtbnMgZWFjaCBvZiB3aGljaCBjYW4gY29udGFpbiAxLi5uIHBhbmVscyBsaWtlIE5ld3MgLyBQYXJ0bmVyIE1hbmFnZXIgLyBTZXJ2aWNlIFN0YXR1cyBldGNcclxuKi9cclxuLk9sZFVtYnJhY29TZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLk9sZFVtYnJhY29TZWN0aW9uTGVmdCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbn1cclxuLypMZWZ0IHBhbmVsKi9cclxuLk9sZFVtYnJhY29TZWN0aW9uTGVmdCB7XHJcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xyXG4gICAgZmxleC1ncm93OiA2O1xyXG4gICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAyMGVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4IDA7XHJcbn1cclxuXHJcbi5PbGRVbWJyYWNvU2VjdGlvbkxlZnQyIHtcclxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi8qUmlnaHQgcGFuZWwqL1xyXG4uT2xkVW1icmFjb1NlY3Rpb25SaWdodCB7XHJcbiAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xyXG4gICAgZmxleC1ncm93OiAyO1xyXG4gICAgZmxleC1zaHJpbms6IDI7XHJcbiAgICBmbGV4LWJhc2lzOiAyMGVtO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbn1cclxuXHJcblxyXG4vKiBcclxuICAgIEFsbCBuZXcgZmxleCBzdHVmZiB0byBjb250cm9sIGhvbWUgc2NyZWVuXHJcbiAgICBSTCAyMy8xLzI2IC0gVGhpcyBpcyBncmFkdWFsbHkgYmVlbiBwaGFzZWQgb3V0IGFuZCByZXBsYWNlZCB3aXRoIG90aGVyIGNsYXNzZXMgc28gZG9udCB1c2VcclxuKi9cclxuLmZsZXgtbmF2YmFyYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xyXG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4uZmxleC10b29sYmFyIHtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xyXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmZsZXgtdG9vbGJhcndpdGhnYXAge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgZ3JpZC1nYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uZmxleC10b29sYmFyMiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4ucXVpY2tjb25uZWN0aW9uZXh0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMTNweFxyXG59XHJcblxyXG4uT2xkVW1icmFjb1NlY3Rpb25Db250ZW50IHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLnF1aWNrY29ubmVjdGlvbnNlYXJjaCB7XHJcbiAgICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idXR0b24tcXVpY2stY29ubmVjdGlvbi1zZWFyY2gge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0wLjZyZW07XHJcbn1cclxuXHJcbi5idXR0b24tcXVpY2stY29ubmVjdGlvbi1zZWFyY2gtbWFyZ2luLWJyZWFrIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHVuc2V0IWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuICAgIFBhcnRuZXIgdGVhbSBPbmx5IE5lZWRlZCBmb3IgaG9tZSBzY3JlZW5cclxuKi9cclxuLnBhcnRuZXJ0ZWFtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuLnBhcnRuZXItdGVhbS1lbWFpbCB7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcblxyXG4ucGFydG5lci10ZWFtLWVtYWlsOmhvdmVyIHtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4ucGFydG5lci1wZXJzb24tcm9sZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTRhO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDJweCAzcHggcmdiYSgwLDAsMCwuNSk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4ucGFydG5lci1wZXJzb24tbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnBhcnRuZXJ0ZWFtOmhvdmVyIHtcclxuICAgIGJvcmRlcjogMXB4ICNjY2NjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1JTtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDJweCAzcHggcmdiYSgwLDAsMCwuNSk7XHJcbiAgICBib3gtc2hhZG93OiAxcHggMnB4IDNweCByZ2JhKDAsMCwwLC41KTtcclxufVxyXG5cclxuLypcclxuICAgIEVuZCA6OiBQYXJ0bmVyIHRlYW0gT25seSBOZWVkZWQgZm9yIGhvbWUgc2NyZWVuXHJcbiovXHJcblxyXG4uT2xkVW1icmFjb1F1aWNrTGlua3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICBncmlkLXJvdy1nYXA6IDAuMXJlbTtcclxuICAgIGdyaWQtY29sdW1uLWdhcDogMC4xcmVtO1xyXG59XHJcblxyXG4uT2xkVW1icmFjb1F1aWNrTGlua3NJdGVtIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLyogTWFrZSBjb250YWluZXIgaXRlbXMgaG92ZXIgKi9cclxuLk9sZFVtYnJhY29RdWlja0xpbmtzSXRlbTpob3ZlciAuZGFzaGJvYXJkLXF1aWNrLWxpbmsge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtcXVpY2stbGluayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDAuN3JlbTtcclxuICAgIC8qd2lkdGg6IDEyMHB4IWltcG9ydGFudDsqL1xyXG59XHJcbi8qIFdoZW4gdGhlIHBhcmVudCBsaW5rIGlzIGhvdmVyZWQsIGNoYW5nZSB0aGUgaWNvbiBjb2xvciAqL1xyXG4uZGFzaGJvYXJkLXF1aWNrLWxpbms6aG92ZXIgLmRhc2hib2FyZC1xdWljay1saW5rLWljb24ge1xyXG4gICAgY29sb3I6IHZhcigtLWxhdmVuZGVyLTYwMCkgIWltcG9ydGFudDtcclxuICAgIC8qZm9udC13ZWlnaHQ6IHZhcigtLWJ1dHRvbi1mb250LXdlaWdodC1vbi1ob3Zlcik7XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggYmxhY2spOyovXHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtcXVpY2stbGluay1pY29uIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1xdWlja2xpbmtzLWljb24tY29sb3IpO1xyXG59XHJcblxyXG4uZGFzaGJvYXJkLXF1aWNrLWxpbmstaWNvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tcXVpY2tsaW5rcy1pY29uLWNvbG9yLWhvdmVyKTtcclxufVxyXG5cclxuXHJcbi8qIENvbm5lY3Rpb24gcXVpY2sgc2VhcmNoICovXHJcbi50ZWxlcGhvbmVTdXBwb3J0IHtcclxuICAgIC8qIHBhZGRpbmctdG9wOiA1cHg7ICovXHJcbiAgICB3aWR0aDogMTJyZW07XHJcbn1cclxuXHJcbi5oaWdobGlnaHROdW1iZXIge1xyXG4gICAgY29sb3I6I2UwM2I5MjtcclxufVxyXG5cclxuLypRdWljayBsaW5rcyovXHJcbi5VbWJyYWNvUXVpY2tMaW5rSXRlbSB7XHJcbiAgICBtaW4td2lkdGg6IDEyY2ggIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEuMWVtICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uT2xkVW1icmFjb1F1aWNrTGlua3MgPiBkaXYge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgd2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcclxuXHJcclxuLldlbGNvbWVNZXNzYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLWJhY2tncm91bmQpO1xyXG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG91cik7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxufVxyXHJcblxyXHJcbi5oaWRlbWUge1xyXG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5oaWRlLW1lIHtcclxuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGlkZW1lZGlyZWN0Zm9yY2Uge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvd21lIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZGlzcGxheXRhYmxlIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlXHJcbn1cclxuXHJcbi50ZXh0Y2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxyXG5cclxyXG4vKlxyXG4uSW1wZXJzb25hdG9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhZ2ViYWNrZ3JvdW5kKTtcclxuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGRhcnRoZm9yaW1wZXJzb25hdGluZztcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBkYXJ0aGZvcmltcGVyc29uYXRpbmc7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDVzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAyO1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZGFydGhmb3JpbXBlcnNvbmF0aW5nIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDdweCAzcHggdmFyKC0tbmFzc3RhcmdyZWVuKSwgMCAwIDJweCAycHggdmFyKC0tbmFzc3RhcmdyZWVuKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgMnB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMjUlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxNHB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgM3B4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNHB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgM3B4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXNzdGFyb3JhbmdlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzNnB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgOHB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzNnB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgOHB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXNzdGFyb3JhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDE0cHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAzcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDE0cHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAzcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5hc3N0YXJvcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAxcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAzcHggdmFyKC0tbmFzc3RhcmdyZWVuKSwgMCAwIDFweCAycHggdmFyKC0tbmFzc3RhcmdyZWVuKTtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tcGFydG5lcl9sb2dvX2NvbG91cikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZGFydGhmb3JpbXBlcnNvbmF0aW5nIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDdweCAzcHggdmFyKC0tbmFzc3RhcmdyZWVuKSwgMCAwIDJweCAycHggdmFyKC0tbmFzc3RhcmdyZWVuKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgMnB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMjUlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxNHB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgM3B4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNHB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgM3B4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXNzdGFyb3JhbmdlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzNnB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgOHB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzNnB4IDNweCB2YXIoLS1uYXNzdGFyZ3JlZW4pLCAwIDAgOHB4IDJweCB2YXIoLS1uYXNzdGFyZ3JlZW4pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXNzdGFyb3JhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDE0cHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAzcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDE0cHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAzcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5hc3N0YXJvcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggM3B4IHZhcigtLW5hc3N0YXJncmVlbiksIDAgMCAxcHggMnB4IHZhcigtLW5hc3N0YXJncmVlbik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAzcHggdmFyKC0tbmFzc3RhcmdyZWVuKSwgMCAwIDFweCAycHggdmFyKC0tbmFzc3RhcmdyZWVuKTtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tcGFydG5lcl9sb2dvX2NvbG91cikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuKi9cclxuXHJcclxuXHJcblxyXHJcbi5lbnZpcm9ubWVudCB7XHJcbiAgICBwYWRkaW5nOiA1cHggMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLypwb3NpdGlvbjogZml4ZWQ7Ki9cclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmVudmlyb25tZW50LmRldiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBmZmIwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyZTVmOTtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHBhZGRpbmc6IDJweDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5lbnZpcm9ubWVudC51YXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5MDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXHJcblxyXHJcblxyXG4vKkRFRlVOQ1QgTk9XKi9cclxuLyoubWVzc2FnZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IHZhcigtLWJ1dHRvbl9zaGFkb3cpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tYnV0dG9uX3NoYWRvdyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b25yYWRpdXMpO1xyXG59XHJcblxyXG4uZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjNDE0MTtcclxuICAgIGJvcmRlci1jb2xvcjogI0YwMDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogdmFyKC0tYnV0dG9uX3NoYWRvdyk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1idXR0b25fc2hhZG93KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbnJhZGl1cyk7XHJcbn1cclxuXHJcbi53YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0VCQjY7XHJcbiAgICBib3JkZXItY29sb3I6ICNGQzA7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IHZhcigtLWJ1dHRvbl9zaGFkb3cpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tYnV0dG9uX3NoYWRvdyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b25yYWRpdXMpO1xyXG59XHJcblxyXG4uaW5mbyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0JGMUZFO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNzlCQ0ZGO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiB2YXIoLS1idXR0b25fc2hhZG93KTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLWJ1dHRvbl9zaGFkb3cpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9ucmFkaXVzKTtcclxufVxyXG5cclxuLmdvb2Qge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RTlDMTtcclxuICAgIGJvcmRlci1jb2xvcjogIzhBQjMzRDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogdmFyKC0tYnV0dG9uX3NoYWRvdyk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1idXR0b25fc2hhZG93KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbnJhZGl1cyk7XHJcbn0qL1xyXG5cclxyXG5cclxyXG4ubG9nbyB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHdpZHRoOiB2YXIoLS1sb2dvLXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgICAvKiBzY2FsZXMgaW1hZ2UgdG8gZml0IGVudGlyZWx5ICovXHJcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHkhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubG9naW4gLmxvZ28ge1xyXG5cclxuICAgIG1hcmdpbjogMTBweCBhdXRvIDIwcHggYXV0bztcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgd2lkdGg6IDMwMHB4OyAgICAgICAgICAvKiBjb250YWluZXIgd2lkdGggKi9cclxuICAgIGhlaWdodDogMTAwcHg7ICAgICAgICAgLyogYWRkIGEgaGVpZ2h0IHNvIHRoZSBjb250YWluZXIgaGFzIHNwYWNlICovXHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9icmFuZC1uYXNzdGFyL25hc3N0YXItZGlyZWN0LWxvZ29fMjAyNi5wbmcnKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgICAvKiBzY2FsZXMgaW1hZ2UgdG8gZml0IGVudGlyZWx5ICovXHJcbiAgICAvKkZha2VzIHRyYW5zcGFyZW50IGJhY2tncm91bmQqL1xyXG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5IWltcG9ydGFudDtcclxufVxyXG5cclxyXG5cclxyXG4uYXdlc29tZWljb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLyp3aWR0aDogMTAwJTsqL1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLyogVmlld3BvcnQgaXMgZm9yIG1vYmlsZXMgdXAgdW50aWwgYW4gaVBhZCAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MHB4KSBhbmQgKG1heC13aWR0aDogOTkzcHgpIHtcclxuICAgIC5mbGV4LW5hdmJhcmJ1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcclxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luIC53cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMjYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZsZXgtdG9vbGJhciB7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAucmlnaHQtY29sdW1uIHtcclxuICAgICAgICAvKm1hcmdpbi10b3A6IDE1cHg7Ki9cclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmJ1dHRvbjIwMjEge1xyXG4gICAgICAgIG1pbi13aWR0aDogOGNoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW0gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEyY2ggIWltcG9ydGFudDtcclxuICAgICAgICAvKm1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7Ki9cclxuICAgIH1cclxuXHJcbiAgICAvKi5hd2Vzb21laWNvbnJldmVyc2Uge1xyXG4gICAgd2lkdGg6IDhjaCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgLm5hdmlnYXRpb25fbWFpbiB7XHJcbiAgICAgICAgd2lkdGg6IDEyY2ggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLldlbGNvbWVNZXNzYWdlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjZGl2X3RleHRib3hfc2VhcmNoIGlucHV0W3R5cGU9YnV0dG9uXSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTI1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBTZWFyY2ggYnV0dG9uIHRvcCByaWdodCBvZiBwb3J0YWwgKi9cclxuICAgIC5xdWlja2Nvbm5lY3Rpb25zZWFyY2gge1xyXG4gICAgICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAyMHZ3O1xyXG4gICAgfVxyXG5cclxuICAgIC5ub21vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiBIYWNrIHRvIG92ZXJyaWRlIGZvbnQgYXdlc29tZSBsYXJnZSBmb3IgdXNlIG9uIHNtYWxsZXIgZGV2aWNlcyAqL1xyXG4gICAgLmZhLWxnIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5hd2Vzb21laWNvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hd2Vzb21laWNvbmdvb2Qge1xyXG4gICAgICAgIGNvbG9yOiAjMTk5NzE5O1xyXG4gICAgfVxyXG5cclxuICAgIC5hd2Vzb21laWNvbndhcm4ge1xyXG4gICAgICAgIGNvbG9yOiAjZjExYzFjO1xyXG4gICAgfVxyXG5cclxuICAgIC5hd2Vzb21laWNvbmFtYmVyIHtcclxuICAgICAgICBjb2xvcjogI2U5ZDQxODtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uMjAyMXdpZGUge1xyXG4gICAgICAgIHdpZHRoOiAxODBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24yMDIxLWhvbWUtd2lkZSB7XHJcbiAgICAgICAgd2lkdGg6IDhjaCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDogMTBjaCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuQ29ublRhYmxlIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZXRhYmxldCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAub3JkZXJwcm9kdWN0c3NjcmVlbl9wcm9kdWN0X3NlY3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBweCkgYW5kIChtYXgtd2lkdGg6IDM0MHB4KSB7XHJcblxyXG4gICAgLyogQ2xhc3MgZm9yIGZvbnQgYXdlc29tZSBpY29ucyAoYmFzZSBjbGFzcykgKi9cclxuICAgIC5kaXNwbGF5Tm9UZXh0IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIENsYXNzIGZvciBwdXR0aW5nIHNoYWRvdyBvbiBmb250IGF3ZXNvbWUgaWNvbiAqL1xyXG4uYXdlc29tZXNoYWRvdyB7XHJcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAxcHggI2NjY2NjYztcclxufVxyXG5cclxuLmF3ZXNvbWVpY29ubm9wYWQge1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5XZWxjb21lTWVzc2FnZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcclxuXHJcclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBCcmFuZHNcIjtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgc3JjOiB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO1xyXG4gICAgc3JjOiB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKC9jc3MvZm9udC1hd2Vzb21lL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdChcInN2Z1wiKVxyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgc3JjOiB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdCk7XHJcbiAgICBzcmM6IHVybCgvY3NzL2ZvbnQtYXdlc29tZS93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90PyNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybCgvY3NzL2ZvbnQtYXdlc29tZS93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoL2Nzcy9mb250LWF3ZXNvbWUvd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCgvY3NzL2ZvbnQtYXdlc29tZS93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC9jc3MvZm9udC1hd2Vzb21lL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdChcInN2Z1wiKVxyXG59XHJcblxyXG4uZmEsXHJcbi5mYXMge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMFxyXG59XHJcblxyXG4uZmFiIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMFxyXG59XHJcblxyXG4uZmEsXHJcbi5mYWIsXHJcbi5mYWQsXHJcbi5mYWwsXHJcbi5mYXIsXHJcbi5mYXMge1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcclxuICAgIGxpbmUtaGVpZ2h0OiAxXHJcbn1cclxuXHJcbi5mYS1sZyB7XHJcbiAgICBmb250LXNpemU6IDEuMzMzMzNlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAuNzVlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbVxyXG59XHJcblxyXG4uZmEteHMge1xyXG4gICAgZm9udC1zaXplOiAuNzVlbVxyXG59XHJcblxyXG4uZmEtc20ge1xyXG4gICAgZm9udC1zaXplOiAuODc1ZW1cclxufVxyXG5cclxuLmZhLTF4IHtcclxuICAgIGZvbnQtc2l6ZTogMWVtXHJcbn1cclxuXHJcbi5mYS0yeCB7XHJcbiAgICBmb250LXNpemU6IDJlbVxyXG59XHJcblxyXG4uZmEtM3gge1xyXG4gICAgZm9udC1zaXplOiAzZW1cclxufVxyXG5cclxuLmZhLTR4IHtcclxuICAgIGZvbnQtc2l6ZTogNGVtXHJcbn1cclxuXHJcbi5mYS01eCB7XHJcbiAgICBmb250LXNpemU6IDVlbVxyXG59XHJcblxyXG4uZmEtNngge1xyXG4gICAgZm9udC1zaXplOiA2ZW1cclxufVxyXG5cclxuLmZhLTd4IHtcclxuICAgIGZvbnQtc2l6ZTogN2VtXHJcbn1cclxuXHJcbi5mYS04eCB7XHJcbiAgICBmb250LXNpemU6IDhlbVxyXG59XHJcblxyXG4uZmEtOXgge1xyXG4gICAgZm9udC1zaXplOiA5ZW1cclxufVxyXG5cclxuLmZhLTEweCB7XHJcbiAgICBmb250LXNpemU6IDEwZW1cclxufVxyXG5cclxuLmZhLWZ3IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxLjI1ZW1cclxufVxyXG5cclxuLmZhLWJvb2stcmVhZGVyOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjVkYVwiXHJcbn1cclxuXHJcbi5mYS1ib3hlczpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGY0NjhcIlxyXG59XHJcblxyXG4uZmEtYnVpbGRpbmc6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMWFkXCJcclxufVxyXG5cclxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMzdmXCJcclxufVxyXG5cclxuLmZhLWNhcnQtcGx1czpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYyMTdcIlxyXG59XHJcblxyXG4uZmEtY29tbWVudDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNzVcIlxyXG59XHJcblxyXG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMWMwXCJcclxufVxyXG5cclxuLmZhLWV0aGVybmV0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjc5NlwiXHJcbn1cclxuXHJcbi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNTcwXCJcclxufVxyXG5cclxuLmZhLWdsb2JlOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBhY1wiXHJcbn1cclxuXHJcbi5mYS1ob21lOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAxNVwiXHJcbn1cclxuXHJcbi5mYS1saW5vZGU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMmI4XCJcclxufVxyXG5cclxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMTMwXCJcclxufVxyXG5cclxuLmZhLW5ldHdvcmstd2lyZWQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNmZmXCJcclxufVxyXG4uZmEtY29uY2llcmdlLWJlbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGY1NjJcIn1cclxuLmZhLXBlb3BsZS1hcnJvd3M6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlMDY4XCJcclxufVxyXG5cclxuLmZhLXBsdWc6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMWU2XCJcclxufVxyXG5cclxuLmZhLXByb2plY3QtZGlhZ3JhbTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGY1NDJcIlxyXG59XHJcblxyXG4uZmEtc2VhcmNoOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAwMlwiXHJcbn1cclxuXHJcbi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMjkxXCJcclxufVxyXG5cclxuLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYyZjVcIlxyXG59XHJcblxyXG4uZmEtdGlja2V0LWFsdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYzZmZcIlxyXG59XHJcbi5mYS11c2VyOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAwN1wiO1xyXG59XHJcbi5mYS11c2Vycy1jb2c6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNTA5XCJcclxufVxyXG5cclxuLmZhLXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlMDg3XCJcclxufVxyXG5cclxuLmZhLWFkZHJlc3MtYm9vazpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYyYjlcIjtcclxufVxyXG5cclxuLyogRGFzaGJvYXJkIGJ1dHRvbnMqL1xyXG4uZmEtYW5nbGUtdXA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XHJcbn1cclxuXHJcbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMzI4XCI7XHJcbn1cclxuXHJcbi5mYS1yZWRvOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAxZVwiO1xyXG59XHJcblxyXG4uZmEtZXhwYW5kOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjA2NVwiO1xyXG59XHJcblxyXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBhYVwiO1xyXG59XHJcblxyXG4uZmEtZmlsZS1jc3Y6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNmRkXCI7XHJcbn1cclxuXHJcbi5mYS1jb21wcmVzczpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNjZcIjtcclxufVxyXG5cclxuLmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjQ2ZFwiO1xyXG59XHJcblxyXG4uZmEtc2xpZGVycy1oOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjFkZVwiO1xyXG59XHJcblxyXG4uZmEtc3RldGhvc2NvcGU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMGYxXCI7XHJcbn1cclxuLmZhLXRvb2xzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjdkOVwiO1xyXG59XHJcblxyXG4uZmEtbGlzdC1hbHQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XHJcbn1cclxuXHJcbi5mYS1iZXppZXItY3VydmU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNTViXCI7XHJcbn1cclxuLmZhLXBob25lLXNsYXNoOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjNkZFwiO1xyXG59XHJcblxyXG4uZmEta2V5OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjA4NFwiO1xyXG59XHJcblxyXG4uZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjA3M1wiO1xyXG59XHJcblxyXG4uZmEtdGFnczpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwMmNcIjtcclxufVxyXG4uZmEtdG9vbGJveDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGY1NTJcIjtcclxufVxyXG4uZmEtaHVic3BvdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYzYjJcIjtcclxufVxyXG4uZmEtYm9vay1vcGVuOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjUxOFwiO1xyXG59XHJcbi5mYS1saW5vZGU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMmI4XCI7XHJcbn1cclxuLmZhLWNhbGVuZGFyLW86YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XHJcbn1cclxuXHJcbi5mYS10ZXJtaW5hbDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxMjBcIjtcclxufVxyXHJcblxyXG4uci10YWJzIC5yLXRhYnMtbmF2IC5yLXRhYnMtYW5jaG9yIHtcclxuICAgIHBhZGRpbmc6IDdweCAycHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhc2hib2FyZE5vdFNlbGVjdGVkVGFiKTtcclxufVxyXG5cclxuLnItdGFicyAuci10YWJzLXRhYiB7XHJcbiAgICBtYXJnaW46IC0zcHg7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4ICFpbXBvcnRhbnRcclxufVxyXG5cclxuLnItdGFicyAuci10YWJzLW5hdiAuci10YWJzLXN0YXRlLWFjdGl2ZSAuci10YWJzLWFuY2hvciB7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzgwODA4MDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHggIWltcG9ydGFudFxyXG59XHJcblxyXG5cclxyXG4uZGV2aWNlaW5mbyB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWVmZmY7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiB0eXBpY2FsIHBob25lIHNjcmVlbiByZXNvbHV0aW9uICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDY2N3B4KSB7XHJcbn1cclxuXHJcbi5tb2JpbGVhbGVydCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5tb2JpbGVhbGVydHNob3cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2RlZWZmZiAwJSwgIzk4YmVkZSAxMDAlKTtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVtb2JpbGUgMHMgZWFzZS1pbiA1cztcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZW1vYmlsZSAwcyBlYXNlLWluIDVzO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGhlcGhvbmUge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGlvbiA1cztcclxufVxyXG5cclxuLyogdHlwaWNhbCBwaG9uZSBzY3JlZW4gcmVzb2x1dGlvbiAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA2NjdweCkgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRpb24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGV5b3VyZGV2aWNlIHtcclxuICAgIGZyb20ge1xyXG4gICAgfVxyXG5cclxuICAgIDI1JSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgIH1cclxuXHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZW1vYmlsZSB7XHJcbiAgICBmcm9tIHtcclxuICAgIH1cclxuXHJcbiAgICAyNSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuXHJcblxyXG4gICAgNTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICB9XHJcblxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlbW9iaWxlIHtcclxuICAgIGZyb20ge1xyXG4gICAgfVxyXG5cclxuICAgIDI1JSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgIH1cclxuXHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogbGFuZHNjYXBlIG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDM3NXB4KSBhbmQgKG1heC13aWR0aCA6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XHJcbn1cclxuXHJcbi8qIHBvcnRyYWl0IG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDM3NXB4KSBhbmQgKG1heC13aWR0aCA6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHtcclxufVxyXG5cclxuLyogdHlwaWNhbCB0YWJsZXQgc2NyZWVuIHJlc29sdXRpb24gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogODM0cHgpIHtcclxufVxyXG5cclxuLyogbGFuZHNjYXBlIG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDgzNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XHJcbn1cclxuXHJcbi8qIHBvcnRyYWl0IG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDgzNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMTIyNHB4KSB7XHJcbn1cclxuXHJcclxuXHJcbi5oYXJkRGFzaGJvYXJkUmVmcmVzaCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDFyZW0gMDtcclxuICAgIC8qZmxvYXQ6IHJpZ2h0IWltcG9ydGFudDsqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDJlbTtcclxuICAgIG9wYWNpdHk6IDAuOTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmM2NhY2EgIWltcG9ydGFudDtcclxuICAvKiAgd2lkdGg6IDEwcmVtOyovXHJcbn1cclxuLypcclxuLmhhcmREYXNoYm9hcmRSZWZyZXNoOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKTtcclxufVxyXG4qL1xyXG5cclxuLypDbGljayBoZXJlIHRvIHJlZnJlc2ggdGV4dCovXHJcbi5oYXJkUmVmcmVzaE9mRGFzaGJvYXJkIHtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tZm9yZWdyb3VuZCkhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5oYXJkRGFzaGJvYXJkUmVmcmVzaFRleHQge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcclxuICAgIGZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtbWFpbi1saW5rcyk7XHJcbn1cclxuXHJcbi5xdWlja3NlYXJjaGljb24ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvaWNvbnMvMTYvc2VhcmNoMi5wbmcnKSA1cHggNXB4IG5vLXJlcGVhdDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxufVxyXG5hI2hhcmRSZWZyZXNoT2ZEYXNoYm9hcmQge1xyXG4gICAgY29sb3I6ICNkMWQxZjc7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5hI2hhcmRSZWZyZXNoT2ZEYXNoYm9hcmQ6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiBMYXlvdXQgKi9cclxuLk9sZFVtYnJhY29TZWN0aW9uSGVhZGVyRGFzaGJvYXJkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcbi5PbGRVbWJyYWNvU2VjdGlvbkNvbnRlbnRBdmFpbGFiaWxpdHkge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDVweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNXB4O1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2MwZGNmZjsgKi9cclxuICAgIG1hcmdpbjogNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG59XHJcblxyXG5cclxuOndoZXJlKC5PbGRVbWJyYWNvU2VjdGlvbkJveCwgLkFBbmRCRW5kcykge1xyXG4gICAgLS1ib3JkZXItd2lkdGg6IHZhcigtLWRhc2hib2FyZC1jYXJkLWJvcmRlci13aWR0aCwgMXB4KTtcclxuICAgIC0tYm9yZGVyLXN0YXJ0OiAjZmZmZmZmO1xyXG4gICAgLS1ib3JkZXItbWlkOiAgICNlZWYyZjQ7IC8qIGdlbnRsZSBtaWQgdG9uZSB0byBzb2Z0ZW4gdGhlIGZhbGxvZmYgKi9cclxuICAgIC0tYm9yZGVyLWVuZDogICAjZDZkOGQ5O1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC8qIFRvcCBsYXllcjogaW5uZXIgY29udGVudCBiYWNrZ3JvdW5kICovXHJcbiAgICAvKiBUaGVuOiBzdWJ0bGUgaGlnaGxpZ2h0IGZyb20gdG9wLXJpZ2h0IChsaW5lYXIgKyByYWRpYWwpICovXHJcbiAgICAvKiBCb3R0b206IG1haW4gcmFkaWFsIGJvcmRlciBmcm9tIHRvcC1sZWZ0ICovXHJcbiAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgIC8qIGNvbnRlbnQgZmlsbCAqL1xyXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiwgI2ZmZikgcGFkZGluZy1ib3gsXHJcblxyXG4gICAgICAgICAgICAgICAgLyogaGlnaGxpZ2h0IHN3ZWVwIGFsb25nIHRoZSB0b3AgZWRnZSwgc3Ryb25nZXIgbmVhciB0b3AtcmlnaHQgKi9cclxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41NSksIHJnYmEoMjU1LDI1NSwyNTUsMCkgNDAlKSBib3JkZXItYm94LFxyXG5cclxuICAgICAgICAgICAgICAgIC8qIHNvZnQgcm91bmQgaGlnaGxpZ2h0IHR1Y2tlZCBpbiB0aGUgdG9wLXJpZ2h0IGNvcm5lciAqL1xyXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDYwJSBhdCAxMDAlIDAlLFxyXG4gICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUsXHJcbiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC4wKSA3MCVcclxuICAgICAgICAgICAgKSBib3JkZXItYm94LFxyXG5cclxuICAgICAgICAgICAgICAgIC8qIG1haW4gYm9yZGVyIGdyYWRpZW50IHJhZGlhdGluZyBmcm9tIHRvcC1sZWZ0ICovXHJcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1jb3JuZXIgYXQgdG9wIGxlZnQsXHJcbiAgICAgICAgICAgIHZhcigtLWJvcmRlci1zdGFydCkgMCUsXHJcbiAgICAgICAgICAgIHZhcigtLWJvcmRlci1taWQpICAgNDUlLFxyXG4gICAgICAgICAgICB2YXIoLS1ib3JkZXItZW5kKSAgIDEwMCVcclxuICAgICAgICAgICAgKSBib3JkZXItYm94O1xyXG59XHJcblxyXG4uT2xkVW1icmFjb1NlY3Rpb25Cb3hOb0JvcmRlciB7XHJcbiAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uT2xkVW1icmFjb1NlY3Rpb25Cb3hEYXNoYm9hcmRUaWxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxcmVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtIDtcclxufVxyXG5cclxuLkRhc2hmbGV4aWJsZUNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGdhcDogMTJweDtcclxufVxyXG5cclxuLmRhc2hQYWRkaW5nT3ZlcnJpZGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4vKiBUb29sYmFyIGZvciBkYXNoYm9hcmQgdGlsZXMgKi9cclxuLmRhc2hib2FyZFRpbGVIZWFkZXJDb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItYmFja2dyb3VuZCk7XHJcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyLXRleHQtY29sb3VyKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgdG8gcmlnaHQsXHJcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1oZWFkZXItYmFja2dyb3VuZCkgODUlLCAjMDAwMCkgMCUsIC8qIHNsaWdodGx5IHN0cm9uZ2VyIGF0IHRvcCAqL1xyXG4gICAgICAgICAgICAjZmZmZmZmIDEwMCVcclxuICAgICk7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEuMXJlbTtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNsYW1wKDhweCwgNCUsIDdweCk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uZGFzaGJvYXJkVGlsZUhlYWRlckNvbnRhaW5lclJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5cclxuLyogSGVhZGVyIGNvbnRyb2xzIGZvciB0aWxlcyAoY29weSB0byBjbGlwYm9hcmQsIGV4cGFuZCBldGMpICovXHJcbi5kYXNoYm9hcmRUaWxlSGVhZGVyQ29udHJvbHNTZWN0aW9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBUZXh0IGZvciB0aGUgaGVhZGVyICovXHJcbi5kYXNoYm9hcmRUaWxlSGVhZGVyQ29udHJvbHNUZXh0U2VjdGlvbiB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4vKiBOb3QgYWxsIHRpbGVzIGhhdmUgYnV0dG9ucywgdGhpcyBqdXN0IGFsbG93cyBmb3Igc2VwYXJhdGlvbiBvZiBjb25jZXJucyAqL1xyXG4uZGFzaGJvYXJkVGlsZUhlYWRlckNvbnRyb2xzVGV4dFNlY3Rpb25Ob0NvbnRyb2xzIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi50aWxlSW50cm9XcmFwcGVyIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmZsZXgtdG9vbGJhcnJpZ2h0YWxpZ25lZCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uZmxleC10b29sYmFyLWZpbHRlcmNvbXAge1xyXG4gICAgbWFyZ2luOiAxNXB4O1xyXG4gICAgLyogd2lkdGg6IDE0MHB4IWltcG9ydGFudDsgKi9cclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBncmlkLWF1dG8tcm93czogMWZyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLkF2YWlsYWJpbGl0eUZvcm1UaWxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZ2FwOiA2cHg7XHJcbn1cclxuXHJcbi5BdmFpbGFiaWxpdHlGb3JtVGlsZSA+IGRpdiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGdhcDogMTJweDtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eUNvbnRyb2wge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXI6IHZhcigtLWNvbnRyb2wtYm9yZGVyKTtcclxuICAgIHdpZHRoOiAxNjJweDtcclxuICAgIGhlaWdodDogMjRweDtcclxufVxyXG5cclxuLmF2YWlsU2NyZWVuMSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGdhcDogMnB4O1xyXG59XHJcblxyXG4uYXZhaWxTY3JlZW4xVXNlcklucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY2hhcnRXcmFwcGVyQXZhaWxhYmlsaXR5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8qIGhlaWdodDogMTUwcHg7ICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi8qIG5ldyBkcm9wZG93biBmb3IgYXV0aG9yaXR5IHN3aXRjaGluZyAqL1xyXG4vKiBCYXNpYyBzdHlsaW5nIGZvciBkcm9wZG93biBjb250YWluZXIgKi9cclxuLnhkcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG59XHJcblxyXG4ueGRyb3Bkb3duIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTYwMCk7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJlaWdlO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnhkcm9wZG93biBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTZiMztcclxufVxyXG5cclxuLnhkcm9wZG93biBidXR0b246OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdcXDI1QkMnO1xyXG4gICAgLyogVW5pY29kZSBmb3IgZG93biBhcnJvdyAqL1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAvKiBBZGRzIHNwYWNpbmcgYmV0d2VlbiB0ZXh0IGFuZCBhcnJvdyAqL1xyXG59XHJcblxyXG4uYXV0aG9yaXR5LWRyb3Bkb3duLWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG59XHJcblxyXG4uYXV0aG9yaXR5LWRyb3Bkb3duLWNvbnRlbnQgZGl2IHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xyXG59XHJcblxyXG5cclxuLmF1dGhvcml0eS1kcm9wZG93bi1jb250ZW50IGRpdjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi5hdXRob3JpdHktZHJvcGRvd24tY29udGVudCBkaXY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcclxufVxyXG5cclxuXHJcbi5uZXdzSXRlbXNCdWxsZXQge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgbGlzdC1zdHlsZTogZGlzY1xyXG59XHJcblxyXG4vKiBGcm9tIG5hdmlnYXRpb24uY3NzICovXHJcbi5uYXZpZ2F0aW9uX21haW4ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB3aWR0aDogdmFyKC0tbGVmdC1tZW51LXdpZHRoKTtcclxufVxyXG5cclxuLm5hdmlnYXRpb25fbWFpbiB1bCB1bCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLm5hdmlnYXRpb25fbWFpbiBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLkRhc2hGdWxsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9udFJhZGlvIHtcclxuICAgIGNvbG9yOmJsYWNrIWltcG9ydGFudFxyXG59XHJcblxyXG4uRGFzaDIge1xyXG4gICAgd2lkdGg6NDglXHJcbn1cclxuXHJcbi8qIEZ1bmRhbWVudGFscyAtIGxheW91dCAqL1xyXG4uYmFzaWMtZmxleC1mdWxsLXdpZHRoIHtcclxuICAgIHdpZHRoOjEwMCVcclxufVxyXG5cclxuLmJhc2ljLWZsZXgtYWxpZ24tc3RhcnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLmJhc2ljLWZsZXgtYWxpZ24tZW5kIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uYmFzaWMtZmxleC1jb2x1bW4tZ2FwLTEtcmVtIHtcclxuICAgIGNvbHVtbi1nYXA6IDFyZW07XHJcbn1cclxuXHJcbi5iYXNpYy1mbGV4LXJvdy1nYXAtMS1yZW0ge1xyXG4gICAgcm93LWdhcDogMXJlbTtcclxufVxyXG4uZnVsbC13aWR0aC12aWV3LXBvcnQge1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG59XHJcblxyXG5cclxuLmNvbC0xLTI0ICB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogNC4xNjY2NjYlOyB9XHJcbi5jb2wtMi0yNCAgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDguMzMzMzMzJTsgfVxyXG4uY29sLTMtMjQgIHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiAxMi41JTsgfVxyXG4uY29sLTQtMjQgIHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiAxNi42NjY2NjYlOyB9XHJcbi5jb2wtNS0yNCAgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDIwLjgzMzMzMyU7IH1cclxuLmNvbC02LTI0ICB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogMjUlOyB9XHJcbi5jb2wtNy0yNCAgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDI5LjE2NjY2NiU7IH1cclxuLmNvbC04LTI0ICB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogMzMuMzMzMzMzJTsgfVxyXG4uY29sLTktMjQgIHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiAzNy41JTsgfVxyXG4uY29sLTEwLTI0IHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiA0MS42NjY2NjYlOyB9XHJcbi5jb2wtMTEtMjQgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDQ1LjgzMzMzMyU7IH1cclxuLmNvbC0xMi0yNCB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogNTAlOyB9XHJcbi5jb2wtMTMtMjQgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDU0LjE2NjY2NiU7IH1cclxuLmNvbC0xNC0yNCB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogNTguMzMzMzMzJTsgfVxyXG4uY29sLTE1LTI0IHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiA2Mi41JTsgfVxyXG4uY29sLTE2LTI0IHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiA2Ni42NjY2NjYlOyB9XHJcbi5jb2wtMTctMjQgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDcwLjgzMzMzMyU7IH1cclxuLmNvbC0xOC0yNCB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogNzUlOyB9XHJcbi5jb2wtMTktMjQgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDc5LjE2NjY2NiU7IH1cclxuLmNvbC0yMC0yNCB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogODMuMzMzMzMzJTsgfVxyXG4uY29sLTIxLTI0IHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiA4Ny41JTsgfVxyXG4uY29sLTIyLTI0IHsgZmxleDogMCAwIGF1dG87IHdpZHRoOiA5MS42NjY2NjYlOyB9XHJcbi5jb2wtMjMtMjQgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDk1LjgzMzMzMyU7IH1cclxuLmNvbC0yNC0yNCB7IGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogMTAwJTsgfVxyXG5cclxuLmNvbC1yZW1haW5kZXIge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgb3ZlcmZsb3cgKi9cclxufVxyXG5cclxuLyogT3ZlcnJpZGUgZm9yIGxvZ2luIGJhY2tncm91bmQgY29sb3VyICovXHJcbi53ZWJwIC5sb2dpbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dpbi1iYWNrZ3JvdW5kKSFpbXBvcnRhbnQ7XHJcblxyXG59XHJcblxyXG4ubm8td2VicCAubG9naW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9naW4tYmFja2dyb3VuZCkhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLypUaGUgd3JhcHBlciBhcm91bmQgdGhlIGxvZ2luIHNjcmVlbiovXHJcbi5sb2dpbiAuaW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9naW4tYmFja2dyb3VuZCkhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1sb2dpbi1iYWNrZ3JvdW5kKTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1sb2dpbi1iYWNrZ3JvdW5kKTtcclxuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHZhcigtLWxvZ2luLWJhY2tncm91bmQpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxvZ2luLWJhY2tncm91bmQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbn1cclxuXHJcbi5tb2R1bGUtbG9naW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9naW4tYmFja2dyb3VuZCkhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ubW9kdWxlLW91dGVyLWxvZ2lub25seSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dpbi1iYWNrZ3JvdW5kKSFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1vZHVsZS1jb250ZW50LWxvZ2luIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxvZ2luLWJhY2tncm91bmQpIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBibGFjayFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYXNlLWJ1dHRvbiwgLmxvZ09uQnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kKSFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3VyKSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5Ob3RpY2VGb3JDb29raWVzIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxufVxyXG5cclxuLmJvbGQtdGV4dC1sYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZ1ZGdlZm9yc2VhcmNoYm94YWJzb2x1dGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLXRvcDogM3JlbTtcclxufVxyXG5cclxuLyogTWFpbiBtZW51IGxpbmtzIG1haW4tbWVudS1saW5rICovXHJcbi5tYWluLW1lbnUtbGluay1wb3J0YWwge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctdG9wOjFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBibGFjayFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB3aGl0ZSFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yLW1haW4tbWVudSkhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgLypmb250LWZhbWlseTogJ0ljb25hIFNhbnMnLCBzYW5zLXNlcmlmOyovXHJcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tYWluLWxpbmtzKSAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG59XHJcbi5tYWluLW1lbnUtbGluay1wb3J0YWw6aG92ZXIge1xyXG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1haW4tbWVudS1saW5rLXBvcnRhbC10by1iZS1yZW1vdmVkIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIGN1cnNvcjpub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLm1haW4tc3ViLW1lbnUtbGluay1wb3J0YWwge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctdG9wOjFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBibGFjayFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB3aGl0ZSFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yLW1haW4tbWVudSkhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgLypmb250LWZhbWlseTogJ0ljb25hIFNhbnMnLCBzYW5zLXNlcmlmOyovXHJcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tYWluLWxpbmtzKSAhaW1wb3J0YW50O1xyXG59XHJcbi8qIExpbmsgaG92ZXIgKGZpeGVkIHRoZSB2YXIoLi4uKSB0eXBvIGZvciBib3JkZXItdG9wKSAqL1xyXG4ubWFpbi1tZW51LWxpbmstcG9ydGFsOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnV0dG9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnV0dG9uLWJvcmRlci1jb2xvci1tYWluLW1lbnUtb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yLW1haW4tbWVudS1vbi1ob3ZlcikgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1idXR0b24tZm9udC13ZWlnaHQtb24taG92ZXIpO1xyXG59XHJcblxyXG4uYnV0dG9uMjAyMS1ob21lLW5lc3RlZC1saW5rIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXNpemUpIC0gMC4xcmVtKSFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6MC41cmVtIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cikhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG59XHJcbi8qIE5hdmlnYXRpb24gbWFpbiBtZW51ICovXHJcbi5uYXZpZ2F0aW9uX21haW4gdWwgbGkgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5pY2UtdGV4dC1ib3gge1xyXG4gICAgZm9udC1zaXplOiAxZW0haW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogNXB4IWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IHZhcigtLWNvbnRyb2wtYm9yZGVyKTtcclxuICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMjIuNXB4IWltcG9ydGFudDtcclxufVxyXG4vKiBTdGFuZGFyZCBsb3ZlbHkgYnV0dG9uICovXHJcbi5idXR0b24yMDIxIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbnJhZGl1cyk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgIHBhZGRpbmc6IDdweCAxNHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQpIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvdXIpIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnV0dG9uLWJvcmRlcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1dHRvbjIwMjE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIpIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tZm9yZWdyb3VuZC1vbi1ob3ZlcikhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ1dHRvbi1mb250LXdlaWdodC1vbi1ob3Zlcik7XHJcbiAgICBib3JkZXI6IHZhcigtLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi1ib3JkZXItb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idXR0b24yMDIxLW9yZGVyLXBhZ2Uge1xyXG4gICAgd2lkdGg6IDIwMHB4XHJcbn1cclxuLmJ1dHRvbjIwMjEtbG9nLW9uLXNjcmVlbiB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcbi5idXR0b24yMDIxLWxvZy1vbi1zY3JlZW46aG92ZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ1dHRvbi1mb250LXdlaWdodC1vbi1ob3Zlcik7XHJcbn1cclxuXHJcbi5idXR0b24yMDIxZml4ZWRub3RleHQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG4vKlxyXG4gICAgU3BlY2lhbCBidXR0b25zIGZvciBkYXNoYm9hcmQgaGVhZGVycyBcclxuKi9cclxuLmJ1dHRvbjIwMjFkYXNoYm9hcmQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1mb3JlZ3JvdW5kKSFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IHZhcigtLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi1ib3JkZXIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idXR0b24yMDIxZGFzaGJvYXJkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tZm9yZWdyb3VuZCkhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLW9uLWhvdmVyKSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ1dHRvbi1mb250LXdlaWdodC1vbi1ob3Zlcik7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcblxyXG4uYXdlc29tZWljb25kYXNoYm9hcmQge1xyXG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1pY29uLWNvbG9yKSFpbXBvcnRhbnQ7XHJcblxyXG59XHJcblxyXG5cclxuLmF3ZXNvbWVpY29uZGFzaGJvYXJkOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1uYXNzdGFyb3JhbmdlKTtcclxufVxyXG5cclxuLyogV2hlbiB0aGUgcGFyZW50IGxpbmsgaXMgaG92ZXJlZCwgY2hhbmdlIHRoZSBpY29uIGNvbG9yICovXHJcbi5idXR0b24yMDIxZGFzaGJvYXJkOmhvdmVyIC5hd2Vzb21laWNvbmRhc2hib2FyZCB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWljb24tY29sb3Itb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggYmxhY2spO1xyXG59XHJcbi5hd2Vzb21laWNvbiB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWljb24tY29sb3IpIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5hd2Vzb21laWNvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIpIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcblxyXG4vKiBXaGVuIHRoZSBwYXJlbnQgbGluayBpcyBob3ZlcmVkLCBjaGFuZ2UgdGhlIGljb24gY29sb3IgKi9cclxuLmJ1dHRvbjIwMjE6aG92ZXIgLmF3ZXNvbWVpY29uIHtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24taWNvbi1jb2xvci1vbi1ob3ZlcikgIWltcG9ydGFudDtcclxuICAgIC8qZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMnB4IGJsYWNrKTsqL1xyXG59XHJcblxyXG5cclxuLyogTWFpbiBtZW51ICovXHJcbi5hd2Vzb21lLWljb24tbmF2aWdhdGlvbiB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWljb24tY29sb3IpIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNnJlbTtcclxufVxyXG5cclxuLmF3ZXNvbWUtaWNvbi1uYXZpZ2F0aW9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24taWNvbi1jb2xvci1vbi1ob3ZlcikhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogSWNvbiBiYXNlICovXHJcbi5hd2Vzb21lLWljb24tbmF2aWdhdGlvbiB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWljb24tY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0OyAvKiBzbW9vdGggY2hhbmdlICovXHJcbn1cclxuXHJcbi8qIFdoZW4gdGhlIHBhcmVudCBsaW5rIGlzIGhvdmVyZWQsIGNoYW5nZSB0aGUgaWNvbiBjb2xvciAqL1xyXG4ubWFpbi1tZW51LWxpbmstcG9ydGFsOmhvdmVyIC5hd2Vzb21lLWljb24tbmF2aWdhdGlvbiB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWljb24tY29sb3Itb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbn1cclxuLyoubWFpbi1tZW51LWxpbmstcG9ydGFsOmhvdmVyIHsgY29sb3I6IHZhcigtLWJ1dHRvbi10ZXh0LWNvbG9yLW9uLWhvdmVyKSAhaW1wb3J0YW50OyB9Ki9cclxuXHJcbi5idXR0b24yMDIxLXNwZWNpYWwtb3ZlcnJpZGUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxufVxyXG5cclxuXHJcbi5tYWluLW1lbnUtcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB2YXIoLS1saW5lLW9yLXNlcGFyYXRvci1jb2xvdXIpIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgKi9cclxuLnByb2dyZXNzZm9yZGFzaCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuICAgIHotaW5kZXg6IDEwMDAwMDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGNvbG9yOndoaXRlc21va2U7XHJcbn1cclxuLnByb2dyZXNzQmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsLTgwMCkhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FiM2RkICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDE0cHggMTRweCAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCAjMzQ5OGRiIGluc2V0LCAwIDAgMTBweCAycHggIzM0OThkYlxyXG59XHJcblxyXG4vKiBBY2NvcmRpb24gaG9tZSBzY3JlZW4gKi9cclxuI2FjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlci51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjp2YXIoLS1idXR0b24tZm9yZWdyb3VuZCk7XHJcbiAgICBvcGFjaXR5OiAwLjk7XHJcbn1cclxuXHJcbiNhY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjp2YXIoLS1idXR0b24tZm9yZWdyb3VuZC1vbi1ob3Zlcik7XHJcbiAgICBmb250LXdlaWdodDogMTAwO1xyXG59XHJcblxyXG4jYWNjb3JkaW9uaW1wb3J0YW50IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuXHJcbiNhY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4ubmV3c2l0ZW1zIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wYWdlYmFja2dyb3VuZCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuXHJcbi51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLCBhLnVpLWJ1dHRvbjphY3RpdmUsIC51aS1idXR0b246YWN0aXZlLCAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XHJcbiAgICAvKiBib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmOyAqL1xyXG4gICAgYm9yZGVyOnVuc2V0IWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICMwMDdmZmY7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24sIC51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIikhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGJsYWNrIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBib3JkZXI6IHZhcigtLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi1ib3JkZXIpIWltcG9ydGFudDtcclxufVxyXG4udWktc3RhdGUtZGVmYXVsdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyKTtcclxufVxyXG4udWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgYm9yZGVyOnVuc2V0IWltcG9ydGFudDtcclxufVxyXG4vKiA9PT09PSBOQVNTIERpYWxvZyAoc2NvcGVkLCBub24tY29uZmxpY3RpbmcpID09PT09ICovXHJcbi5uYXNzLWRpYWxvZyB7XHJcbiAgICAvKiBUaGVtZSB2YXJzIChvdmVycmlkZSB0aGVzZSBpbiB5b3VyIGdsb2JhbCBDU1MgaWYgbmVlZGVkKSAqL1xyXG4gICAgLS1uYXNzLXN1Y2Nlc3M6ICMyZTdkMzI7XHJcbiAgICAtLW5hc3Mtc3VjY2Vzcy1iZzogI2VhZjdlYTtcclxuICAgIC0tbmFzcy1zdWNjZXNzLWJyOiAjYjdlMWI5O1xyXG5cclxuICAgIC0tbmFzcy1lcnJvcjogI2M2MjgyODtcclxuICAgIC0tbmFzcy1lcnJvci1iZzogI2ZkZWNlYTtcclxuICAgIC0tbmFzcy1lcnJvci1icjogI2Y2YzdjNDtcclxuXHJcbiAgICAtLW5hc3MtaW5mbzogIzFlODhlNTtcclxuICAgIC0tbmFzcy1pbmZvLWJnOiAjZThmMmZkO1xyXG4gICAgLS1uYXNzLWluZm8tYnI6ICNiY2Q5ZmI7XHJcblxyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiBtaW4oOTJ2dywgNjQwcHgpO1xyXG4gICAgbWF4LWhlaWdodDogODV2aDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubmFzcy1kaWFsb2c6OmJhY2tkcm9wIHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTsgfVxyXG5cclxuLm5hc3MtZGlhbG9nX19jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDEycHggNDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBIZWFkZXIgbGF5b3V0ICovXHJcbi5uYXNzLWRpYWxvZ19faGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZ2FwOiAuNzVyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tbmVidWxhLTMwMCk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbn1cclxuXHJcbi8qIFZhcmlhbnQgYWNjZW50IChoZWFkZXIpICovXHJcbi5uYXNzLWRpYWxvZy0tc3VjY2VzcyAubmFzcy1kaWFsb2dfX2hlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXNzLXN1Y2Nlc3MtYmcpO1xyXG4gICAgY29sb3I6IHZhcigtLW5hc3Mtc3VjY2Vzcyk7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1uYXNzLXN1Y2Nlc3MtYnIpO1xyXG59XHJcbi5uYXNzLWRpYWxvZy0tZXJyb3IgLm5hc3MtZGlhbG9nX19oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbmFzcy1lcnJvci1iZyk7XHJcbiAgICBjb2xvcjogdmFyKC0tbmFzcy1lcnJvcik7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1uYXNzLWVycm9yLWJyKTtcclxufVxyXG4ubmFzcy1kaWFsb2ctLWluZm8gLm5hc3MtZGlhbG9nX19oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbmFzcy1pbmZvLWJnKTtcclxuICAgIGNvbG9yOiB2YXIoLS1uYXNzLWluZm8pO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbmFzcy1pbmZvLWJyKTtcclxufVxyXG5cclxuLyogT3B0aW9uYWwgbGVmdCBhY2NlbnQgYmFyIGZvciBzdHJvbmdlciB2aXN1YWwgc2lnbmFsICovXHJcbi5uYXNzLWRpYWxvZy0tc3VjY2VzcyAubmFzcy1kaWFsb2dfX2NvbnRhaW5lciB7IGJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tbmFzcy1zdWNjZXNzKTsgfVxyXG4ubmFzcy1kaWFsb2ctLWVycm9yICAgLm5hc3MtZGlhbG9nX19jb250YWluZXIgeyBib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLW5hc3MtZXJyb3IpOyB9XHJcbi5uYXNzLWRpYWxvZy0taW5mbyAgICAubmFzcy1kaWFsb2dfX2NvbnRhaW5lciB7IGJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tbmFzcy1pbmZvKTsgfVxyXG5cclxuLm5hc3MtZGlhbG9nX19pY29uIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbn1cclxuXHJcbi8qIFRpdGxlICYgY29udHJvbHMgKi9cclxuLm5hc3MtZGlhbG9nX190aXRsZSB7IG1hcmdpbjogMDsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMS40OyB9XHJcbi5uYXNzLWRpYWxvZ19fY2xvc2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBwYWRkaW5nOiAwLjY1cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMC4ycmVtO1xyXG59XHJcbi5uYXNzLWRpYWxvZ19fY2xvc2U6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxyXG5cclxuLyogQm9keSAmIGZvb3RlciAqL1xyXG4ubmFzcy1kaWFsb2dfX2JvZHkgeyBwYWRkaW5nOiAxcmVtIDEuMjVyZW07IG92ZXJmbG93OiBhdXRvOyB9XHJcbi5uYXNzLWRpYWxvZ19fZm9vdGVyIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBnYXA6IC41cmVtO1xyXG4gICAgcGFkZGluZzogMCAxLjI1cmVtIDAuMnJlbTtcclxufVxyXG4ubmFzcy1kaWFsb2dfX2J0biB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHBhZGRpbmc6IC41cmVtIC45cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5uYXNzLWRpYWxvZ19fYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogI2YxZjFmMTsgfVxyXG5cclxuLyogUHJlY2lzZSBjZW50ZXJpbmcgKG9wdGlvbmFsIG92ZXJyaWRlKSAqL1xyXG4vKlxyXG4ubmFzcy1kaWFsb2cge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBpbnNldDogNTAlIGF1dG8gYXV0byA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuKi9cclxuXHJcbi5yZXN1bHQtbGluay1saSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6MXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGJsYWNrIWltcG9ydGFudDtcclxuICAgIGJvcmRlci10b3A6IHZhcigtLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHdoaXRlIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi1ib3JkZXItY29sb3ItbWFpbi1tZW51KSFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnJlc3VsdC1saW5rIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5zZXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcclxufVxyXG5cclxuLnRpbGVJbnRyb1dyYXBwZXIge1xyXG4gICAgLypib3JkZXItYm90dG9tOiB2YXIoLS10aWxlSW50cm9TZWN0aW9uQm90dG9tQm9yZGVyKTsqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnRpbGVJbnRyb1RleHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS10aWxlSW50cm9TZWN0aW9uRm9udFNpemUpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGhlaWdodDoyLjVyZW07XHJcbn1cclxuXHJcblxyXG4udGlsZUNvbnRyb2xQYXJ0IHtcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICBoZWlnaHQ6IHZhcigtLXRpbGVJbnRyb1NlY3Rpb25IZWlnaHQpO1xyXG59XHJcblxyXG4vKlxyXG4gICAgREFTSEJPQVJEXHJcbiovXHJcbi5jaGFydFdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQtb2YtY2hhcnQtaW4tZGFzaGJvYXJkKVxyXG59XHJcblxyXG5cclxuLmNoYXJ0V3JhcHBlckxhcmdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogNTUwcHhcclxufVxyXG5cclxuXHJcbi5ub0RhdGFXcmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYWdlYmFja2dyb3VuZCk7ICovXHJcbiAgICBib3JkZXI6IDJweCBkb3R0ZWQgZ3JheTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbn1cclxuXHJcbi5yYWRpby1idXR0b24tZGFzaGJvYXJkLXRleHQge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKCB2YXIoLS1mb250LXNpemUpIC0gMC4xcmVtKTtcclxufVxyXG4ubm9EYXRhVGV4dCB7XHJcbiAgICBjb2xvcjogZ3JleTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ucmVzdWx0cy1saXN0LXF1aWNrLXNlYXJjaCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblxyXG59XHJcblxyXG4ucmVzdWx0cy1saXN0LXF1aWNrLXNlYXJjaC1pdGVtIHtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLyogQmFzZSBjb250YWluZXIgKi9cclxuLm5hc3MtcHJvZ3Jlc3Mge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87IC8qIGJhciArIHZhbHVlICovXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLW5hc3MtdGV4dCk7XHJcbiAgICBmb250OiA1MDAgMTRweC8xLjMgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBcIk9wZW4gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLyogVHJhY2sgJiBiYXIgKi9cclxuLm5hc3MtcHJvZ3Jlc3NfX3RyYWNrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1uYXNzLWhlaWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXNzLXRyYWNrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5hc3MtcmFkaXVzKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5uYXNzLXByb2dyZXNzX19iYXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbmFzcy1wcmltYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5hc3MtcmFkaXVzKTtcclxuICAgIHdpZHRoOiAwJTtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGVhc2U7XHJcbn1cclxuXHJcbi8qIFRleHQgYXJlYSAqL1xyXG4ubmFzcy1wcm9ncmVzc19fdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcbi5uYXNzLXByb2dyZXNzX19sYWJlbCB7IGNvbG9yOiB2YXIoLS1uYXNzLXRleHQpOyB9XHJcbi5uYXNzLXByb2dyZXNzX192YWx1ZSB7IGNvbG9yOiB2YXIoLS1uYXNzLXByaW1hcnkpOyBmb250LXdlaWdodDogNjAwOyB9XHJcblxyXG4vKiBJbmRldGVybWluYXRlIHNoaW1tZXIgKi9cclxuLm5hc3MtcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm5hc3MtcHJvZ3Jlc3NfX3RyYWNrOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLFxyXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAwJSxcclxuICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjY1KSA1MCUsXHJcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCUpLFxyXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdmFyKC0tbmFzcy10cmFjayksIHZhcigtLW5hc3MtdHJhY2spKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICBhbmltYXRpb246IG5hc3MtcHJvZ3Jlc3MtbW92ZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG59XHJcbkBrZXlmcmFtZXMgbmFzcy1wcm9ncmVzcy1tb3ZlIHtcclxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cclxufVxyXG5cclxuLyogUXVpY2sgdmFyaWFudHMgKG9wdGlvbmFsKSAqL1xyXG4ubmFzcy1wcm9ncmVzcy0tc3VjY2VzcyAubmFzcy1wcm9ncmVzc19fYmFyIHsgYmFja2dyb3VuZDogdmFyKC0tbmFzcy1zdWNjZXNzKTsgfVxyXG4ubmFzcy1wcm9ncmVzcy0tZXJyb3IgICAubmFzcy1wcm9ncmVzc19fYmFyIHsgYmFja2dyb3VuZDogdmFyKC0tbmFzcy1lcnJvcik7IH1cclxuLm5hc3MtcHJvZ3Jlc3MtLWluZm8gICAgLm5hc3MtcHJvZ3Jlc3NfX2JhciB7IGJhY2tncm91bmQ6IHZhcigtLW5hc3MtaW5mbyk7IH1cclxuLm5hc3MtcHJvZ3Jlc3MtLXN1Y2Nlc3MgLm5hc3MtcHJvZ3Jlc3NfX3ZhbHVlIHsgY29sb3I6IHZhcigtLW5hc3Mtc3VjY2Vzcyk7IH1cclxuLm5hc3MtcHJvZ3Jlc3MtLWVycm9yICAgLm5hc3MtcHJvZ3Jlc3NfX3ZhbHVlIHsgY29sb3I6IHZhcigtLW5hc3MtZXJyb3IpOyB9XHJcbi5uYXNzLXByb2dyZXNzLS1pbmZvICAgIC5uYXNzLXByb2dyZXNzX192YWx1ZSB7IGNvbG9yOiB2YXIoLS1uYXNzLWluZm8pOyB9XHJcblxyXG5cclxuLmdyYWRpZW50TGluZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICNkZWVmZmYgMCUsdmFyKC0tbmVidWxhLTMwMCkgMTAwJSk7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8qIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LCAudWktYnV0dG9uLCBodG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsIGh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmVpZ2UpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4udWktd2lkZ2V0IHtcclxuICAgIGZvbnQtZmFtaWx5OiB1bnNldCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtZGlzcGxheS1zdGF0ZSB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcblxyXG4ucGFuZWwtZGlzYWJsZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTsgLyog4pyFIGZvcmNlcyBwcm9wZXIgc3RhY2tpbmcgY29udGV4dCAqL1xyXG59XHJcblxyXG4vKiBHTEFTUyBsYXllciAqL1xyXG4ucGFuZWwtZGlzYWJsZWQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcblxyXG4gICAgLyog4pyFIE1VU1QgYmUgdHJhbnNsdWNlbnQgKi9cclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVucmVhZHktb3ZlcmxheS1iZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KSk7XHJcblxyXG4gICAgLyog4pyFIGJsdXIgb25seSB3b3JrcyB3aXRoIHRyYW5zcGFyZW5jeSAqL1xyXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKHZhcigtLXVucmVhZHktYmx1ciwgNnB4KSk7XHJcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cih2YXIoLS11bnJlYWR5LWJsdXIsIDZweCkpO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcblxyXG4gICAgei1pbmRleDogMTsgLyog4pyFIHNpdHMgb3ZlciBjb250ZW50ICovXHJcbn1cclxuXHJcbi8qIENFTlRFUkVEIE1FU1NBR0UgKi9cclxuLnBhbmVsLWRpc2FibGVkOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdW5yZWFkeS1tc2cpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiB0b3A7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBjb2xvcjogdmFyKC0tdW5yZWFkeS10ZXh0LCAjNTU1KTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5yZWFkeS1mb250LXNpemUsIDEuMXJlbSk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tdW5yZWFkeS1mb250LXdlaWdodCwgNzAwKTtcclxuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS11bnJlYWR5LWxldHRlci1zcGFjaW5nLCAwLjNweCk7XHJcblxyXG4gICAgcGFkZGluZzogdmFyKC0tdW5yZWFkeS1wYWRkaW5nLCAxMnB4IDE2cHgpO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgbWF4LXdpZHRoOiBtaW4oOTAlLCA0OHJlbSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11bnJlYWR5LXJhZGl1cywgMTBweCk7XHJcblxyXG4gICAgLyog4pyFIG9wdGlvbmFsIHBpbGwgYmVoaW5kIHRleHQgKi9cclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVucmVhZHktdGV4dC1iZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXVucmVhZHktc2hhZG93LCAwIDZweCAxOHB4IHJnYmEoMCwwLDAsMC4wOCkpO1xyXG5cclxuICAgIHotaW5kZXg6IDI7IC8qIOKchSBhYm92ZSBnbGFzcyAqL1xyXG59XHJcblxyXG4vKiBXcmFwcGVyICovXHJcbi50b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogaGVscDtcclxufVxyXG5cclxuLyogVG9vbHRpcCBidWJibGUgKi9cclxuLnRvb2x0aXA6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGJvdHRvbTogY2FsYygxMDAlICsgdmFyKC0tdG9vbHRpcC1vZmZzZXQpKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDRweCk7XHJcblxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tdG9vbHRpcC1mb250LXNpemUpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b29sdGlwLWJnKTtcclxuICAgIGNvbG9yOiB2YXIoLS10b29sdGlwLWZnKTtcclxuICAgIHBhZGRpbmc6IHZhcigtLXRvb2x0aXAtcGFkZGluZyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS10b29sdGlwLXJhZGl1cyk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS10b29sdGlwLXNoYWRvdyk7XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tdG9vbHRpcC10cmFuc2l0aW9uKSxcclxuICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLXRvb2x0aXAtdHJhbnNpdGlvbik7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG59XHJcblxyXG4vKiBUb29sdGlwIGFycm93ICovXHJcbi50b29sdGlwOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGJvdHRvbTogY2FsYygxMDAlICsgMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDRweCk7XHJcblxyXG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b29sdGlwLWJnKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tdG9vbHRpcC10cmFuc2l0aW9uKSxcclxuICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLXRvb2x0aXAtdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi8qIFNob3cgdG9vbHRpcCAqL1xyXG4udG9vbHRpcDpob3Zlcjo6YWZ0ZXIsXHJcbi50b29sdGlwOmhvdmVyOjpiZWZvcmUsXHJcbi50b29sdGlwOmZvY3VzLXZpc2libGU6OmFmdGVyLFxyXG4udG9vbHRpcDpmb2N1cy12aXNpYmxlOjpiZWZvcmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuI2dsb2JhbFRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMjE0NzQ4MzY0NztcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzQsIDAuOTUpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwwLjIpO1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xyXG5cclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgIG9wYWNpdHkgMTIwbXMgZWFzZSxcclxuICAgICAgICAgICAgdHJhbnNmb3JtIDEyMG1zIGVhc2U7XHJcbn1cclxuXHJcbiNnbG9iYWxUb29sdGlwLnZpc2libGUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuXHJcbiNnbG9iYWxUb29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XHJcblxyXG4gICAgbWluLXdpZHRoOiAxODBweDtcclxuICAgIG1heC13aWR0aDogMzIwcHg7XHJcblxyXG4gICAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDM0LCAwLjk2KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMCwwLDAuMjUpO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgIG9wYWNpdHkgMTQwbXMgZWFzZSxcclxuICAgICAgICAgICAgdHJhbnNmb3JtIDE0MG1zIGVhc2U7XHJcbn1cclxuXHJcbiNnbG9iYWxUb29sdGlwLnZpc2libGUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLyogU2VjdGlvbnMgKi9cclxuI2dsb2JhbFRvb2x0aXAgLnR0LWhlYWRlciB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogOHB4IDEycHggNHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XHJcbn1cclxuXHJcbiNnbG9iYWxUb29sdGlwIC50dC1ib2R5IHtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuI2dsb2JhbFRvb2x0aXAgLnR0LWZvb3RlciB7XHJcbiAgICBwYWRkaW5nOiA2cHggMTJweCA4cHg7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XHJcbn1cclxuXHJcbi8qIEhpZGRlbiBzZWN0aW9uIHNhZmV0eSAqL1xyXG4jZ2xvYmFsVG9vbHRpcCAudHQtaGVhZGVyOmVtcHR5LFxyXG4jZ2xvYmFsVG9vbHRpcCAudHQtZm9vdGVyOmVtcHR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFycm93ICovXHJcbiNnbG9iYWxUb29sdGlwOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbiNnbG9iYWxUb29sdGlwOm5vdCguZmxpcC1ib3R0b20pOjphZnRlciB7XHJcbiAgICBib3R0b206IC0xMnB4O1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgzMCwgMzAsIDM0LCAwLjk2KTtcclxufVxyXG5cclxuI2dsb2JhbFRvb2x0aXAuZmxpcC1ib3R0b206OmFmdGVyIHtcclxuICAgIHRvcDogLTEycHg7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzQsIDAuOTYpO1xyXG59XHJcblxyXG5cclxuI2dsb2JhbFRvb2x0aXAgLnR0LWhlYWRlcjplbXB0eSxcclxuI2dsb2JhbFRvb2x0aXAgLnR0LWZvb3RlcjplbXB0eSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucHJvZHVjdE5vQXZhaWxhYmlsaXR5Q2FyZCB7XHJcbiAgICB3aWR0aDogdmFyKC0tYXZhaWxhYmlsaXR5LW5vbmUtY2FyZC13aWR0aCk7XHJcbn1cclxuXHJcbi5wcm9kdWN0QXZhaWxhYmlsaXR5Q2FyZEhlYWRlciB7XHJcbiAgICB3aWR0aDogdmFyKC0tYXZhaWxhYmlsaXR5LXNvbWUtY2FyZC13aWR0aCk7XHJcbn1cclxuXHJcbi8qIFRhYmxlcyA6OiBDb25uZWN0aW9uIHRhYmxlcywgZGF0YSB0YWJsZXMgYW5kIHNvIG11Y2ggbW9yZSAqL1xyXG4uQ29ublRhYmxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcGFnZXRpdGxlX3VuZGVybGluZWNvbCk7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tcGFnZXRpdGxlX3VuZGVybGluZWNvbCk7XHJcbn1cclxuXHJcbi5Db25uVGFibGUgdGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG5cclxuLkNvbm5UYWJsZSBhIHtcclxuICAgIGNvbG9yOiB2YXIoLS1oeXBlcmxpbmstY29sb3VyKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uQ29ublRhYmxlIHRoIHtcclxuICAgIGNvbG9yOiB2YXIoLS10YWJsZS1oZWFkZXItdGV4dC1jb2xvdXIpIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kKSFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IHZhcigtLXRhYmxlLWhlYWRlci1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXRhYmxlLWhlYWRlci1mb250LXdlaWdodCk7XHJcbn1cclxuXHJcbi5Db25uVGFibGUgdGQge1xyXG4gICAgY29sb3I6IHZhcigtLXRhYmxlLWRhdGEtdGV4dC1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YWJsZS1kYXRhLWJhY2tncm91bmQpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpbmUtb3Itc2VwYXJhdG9yLWNvbG91cikhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS10YWJsZS1kYXRhLWZvbnQtc2l6ZSk7XHJcbn1cclxuXHJcbi5Db25uVGFibGUgdHI6aG92ZXIgdGQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFibGUtZGF0YS1ob3Zlci1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuLkNvbm5UYWJsZSB0aC5hY3RpdmVUaCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDFweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTY5Njk2ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk2OTY5NiAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGhlaWdodDogMzBweDtcclxufVxyXG5cclxuLkNvbm5UYWJsZSB0aDpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMXB4O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwIHNvbGlkICM5Njk2OTYgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTY5Njk2ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGhlaWdodDogMzBweDtcclxufVxyXG5cclxuXHJcbnRoZWFkIHRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHZhcigtLXRhYmxlLWhlYWRlci10ZXh0LWNvbG91cikgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGFibGUtaGVhZGVyLWZvbnQtc2l6ZSk7XHJcbn1cclxuXHJcbnRkLmRldGFpbCwgdHIuZGV0YWlsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhYmxlLWRhdGEtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS10YWJsZS1kYXRhLXRleHQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IHZhcigtLXRhYmxlLWRhdGEtZm9udC1zaXplKTtcclxufVxyXG5cclxudGFibGUuZGV0YWlscyB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YWJsZS1kYXRhLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdmFyKC0tdGFibGUtZGF0YS10ZXh0LWNvbG9yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogU2VydmVyIHVuYXZhaWxhYmxlIGNvbXBvbmVudCBzaG93aW5nIHdoZW4gY2Fubm90IGNvbW11bmljYXRlIHdpdGggU3ltcGhvbnkgKi9cclxuLnNlcnZlci11bmF2YWlsYWJsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMC43NXJlbTtcclxuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyMTcsIDgzLCA3OSwgMC4wOCk7XHJcbiAgICBjb2xvcjogIzdhMWUxZTtcclxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Q5NTM0ZjtcclxufVxyXG5cclxuLnNlcnZlci11bmF2YWlsYWJsZV9fdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnNlcnZlci11bmF2YWlsYWJsZV9fdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLmxpbmstY2Fubm90LWNsaWNrIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5vcmRlclRpdGxlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XHJcbn1cclxuXHJcbi5tb2R1bGUgaDMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHZhcigtLWxpbmUtb3Itc2VwYXJhdG9yLWNvbG91cik7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZSkgKyB2YXIoLS1mb250LXNpemUtZmFjdG9yaW5nLWgzKSk7XHJcbiAgICBjb2xvcjogdmFyKC0tbGF2ZW5kZXItODAwKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5tYWluQ29sdW1uOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLXRvcDogdW5zZXQ7XHJcblxyXG59XHJcblxyXG4ubWFpbkNvbHVtbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tbGluZS1vci1zZXBhcmF0b3ItY29sb3VyKTtcclxuXHJcbn1cclxuXHJcbi8qIE9yZGVyIHRhYmxlIG92ZXJyaWRlICovXHJcbi50YWJsZU9yZGVyUHJvZHVjdHMgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkIHtcclxufVxyXG5cclxuLmljYy1jb250YWN0aW5nLXN1cHBsaWVycyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tYmFja2dyb3VuZCk7IFxyXG4gICAgYm9yZGVyLXJhZGl1czogMWVtOyBcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIpO1xyXG59XHJcblxyXG5cclxuLk9sZFVtYnJhY29RdWlja0xpbmtzUGFydG5lclRlYW0ge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcclxuICAgIGdhcDogMS41cmVtO1xyXG59XHJcbi5wYXJ0bmVydGVhbSBhIHtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlO1xyXG59XHJcbi5wYXJ0bmVydGVhbSBhOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE4cHggcmdiYSgwLDAsMCwwLjE1KTtcclxufVxyXG4vKlxyXG4ucGFydG5lcnRlYW0gaW1nLmZlYXRoZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59Ki9cclxuLmFjdGl2ZS1pdGVtLWluLW5hdmlnYXRpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtb24taG92ZXIpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3VyLW9uLWhvdmVyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlzYWJsZWQtaXRlbS1pbi1uYXZpZ2F0aW9uIHtcclxuICAgIFxyXG59XHJcblxyXG5cclxuLyogSlF1ZXJ5IFVJIGZpbHRlcnMgKi9cclxuXHJcbi51aS1tdWx0aXNlbGVjdCB7XHJcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgICAgLyogY2hhbmdlIHRvIHdoYXQgeW91IHdhbnQgKi9cclxuICAgIHBhZGRpbmc6IDRweCA4cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVpLW11bHRpc2VsZWN0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKSFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3VyLW9uLWhvdmVyKSFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tYnV0dG9uLWZvbnQtd2VpZ2h0LW9uLWhvdmVyKTtcclxuICAgIGJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnV0dG9uLWJvcmRlci1vbi1ob3ZlcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3RibEJhdGNoSGVhZGVyUmVxdWVzdHMgdGgge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdGJsQmF0Y2hIZWFkZXJSZXF1ZXN0cyB0aCxcclxuI3RibEJhdGNoSGVhZGVyUmVxdWVzdHMgdGQge1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vKiBLZWVwIG11bHRpc2VsZWN0IGJ1dHRvbiBjb250YWluZWQgaW4gaGVhZGVyIGZpbHRlciBjZWxscyAqL1xyXG4jdGJsQmF0Y2hIZWFkZXJSZXF1ZXN0cyB0aGVhZCAudWktbXVsdGlzZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qIE1ha2UgZmlsdGVyIGNlbGxzIGNvbXBhY3QgYW5kIGF2b2lkIHdyYXBwaW5nICovXHJcbiN0YmxCYXRjaEhlYWRlclJlcXVlc3RzIHRoZWFkIHRyLmZpbHRlcnMgdGgge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHBhZGRpbmc6IDRweCA2cHg7XHJcbn1cclxuXHJcbi8qIERhdGVwaWNrZXIgZmlsdGVyIHdpZHRoIGZpeCAqL1xyXG4jdGJsQmF0Y2hIZWFkZXJSZXF1ZXN0cyB0aGVhZCB0ci5maWx0ZXJzIGlucHV0LmRhdGVQaWNrZXIge1xyXG4gICAgd2lkdGg6IDgwcHggIWltcG9ydGFudDsgICAgIC8qIGZpdHMgZGQvbW0veXl5eSBwZXJmZWN0bHkgKi9cclxuICAgIG1pbi13aWR0aDogODBweCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vKiBDcmFwIHRhYnMgZm9yIGNvbm5lY2l0b24gc2NyZWVuICovXHJcbi5tb2R1bGVMZWZ0TmF2IHVsIGxpIGEge1xyXG4gICAgcGFkZGluZzogOHB4IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8qY29sb3I6IHJnYig1MSw1MSw1MSk7Ki9cclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC8qYmFja2dyb3VuZDogI2VlZTsqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0M7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NDQztcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJ1dHRvbnJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1idXR0b25yYWRpdXMpO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kKTtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvdXIpO1xyXG59XHJcbi5tb2R1bGVMZWZ0TmF2IHVsIGxpLmFjdGl2ZSBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iYWNrZ3JvdW5kLW9uLWhvdmVyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvdXItb24taG92ZXIpOyBcclxufVxyXG5cclxuLmJ1dHRvbjIwMjFmaXhlZGNoYXQge1xyXG4gICAgd2lkdGg6IDE0MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1vbmx5LWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24taW50ZXJuYWwtYmFja2dyb3VuZCkhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZvcmdldG1lbm90IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbn1cclxuXHJcblxyXG4ucmwtYWxlcnQtaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLnJsLWFsZXJ0IHtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbn1cclxuXHJcbi5ybC1hbGVydC1pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2YzZmU7XHJcbiAgICBib3JkZXItY29sb3I6ICNiM2Q3ZmY7XHJcbiAgICBjb2xvcjogIzA4NDI5ODtcclxufVxyXG5cclxuLnJsLWFsZXJ0IHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4vKiBPcHRpb25hbCBjbG9zZSBidXR0b24gKi9cclxuLnJsLWFsZXJ0IC5jbG9zZSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4ucmFkLWZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMTZweDsgLyogc3BhY2luZyBiZXR3ZWVuIHBhbmVscyAqL1xyXG59XHJcblxyXG4ucmFkLWxlZnQge1xyXG4gICAgd2lkdGg6IDMwJTtcclxufVxyXG5cclxuLnJhZC1yaWdodCB7XHJcbiAgICB3aWR0aDogNzAlO1xyXG59XHJcbi5yYWQtdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4ucmFkLXRhYmxlIHRoIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5yYWQtdGFibGUgdGQge1xyXG4gICAgcGFkZGluZzogNHB4IDZweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcclxufVxyXG5cclxuLnJhZC10YWJsZSB0ci5ldmVuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbn1cclxuXHJcbi5yYWQtdGFibGUgdHIub2RkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5yYWQtdGFibGUtY29sLXJvdyB7XHJcbiAgICBcclxufVxyXG4ucmFkLXRhYmxlLWNvbC1kYXRlLXRpbWUge1xyXG4gICAgd2lkdGg6IDhyZW07XHJcbn1cclxuXHJcbi5yYWQtdGFibGUtY29sLWV2ZW50IHtcclxuICAgIHdpZHRoOiA4cmVtO1xyXG59XHJcblxyXG4ucmFkLXRhYmxlLWNvbC1kdXJhdGlvbiB7XHJcbiAgICB3aWR0aDogOHJlbTtcclxufVxyXG5cclxuLnJhZC10YWJsZS1jb2wtdXNlcm5hbWUge1xyXG4gICAgd2lkdGg6IDIwcmVtO1xyXG59XHJcblxyXG4ucmFkLXN0YXRzIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ucmFkLXN0YXRzIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ucmFkLXRvdGFscyB0aCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnJhZC10b3RhbHMgdGg6Zmlyc3QtY2hpbGQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnJhZC10b3RhbHMgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnJhZC10b3RhbHMgdGQ6bGFzdC1jaGlsZCxcclxuLnJhZC10b3RhbHMgdGQ6bnRoLWNoaWxkKDIpIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5yYWQtYWxlcnRzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDEycHg7XHJcbn1cclxuXHJcbi5yYWQtYWxlcnQge1xyXG4gICAgZmxleDogMCAwIDk2JTtcclxufVxyXG5cclxuLnJhZC1hbGVydCA+IGRpdixcclxuLnJhZC1hbGVydCBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuLm1lc3NhZ2UtYWxlcnQtcHVsc2Uge1xyXG5cclxuICAgIGFuaW1hdGlvbjpcclxuICAgICAgICAgICAgbWVzc2FnZVB1bHNlIDRzIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VQdWxzZSB7XHJcblxyXG4gICAgMCUgICB7IG9wYWNpdHk6IDAuMzsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwLjM7IH1cclxufVxyXG5cclxuXHJcblxyXG4vKiBBc3NldCBodW50ZXIgKi9cclxuLmFycm93LXNoYXBlIHtcclxuICAgIGZpbGw6ICM1NjU2NTc7XHJcbn1cclxuXHJcbi5hc3NldC1oZWFsdGgtcGFuZWwge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5hc3NldC1oZWFsdGgtc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLmFzc2V0LWNhcmQge1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uYXNzZXQtY2FyZC1ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZDRlZGRhO1xyXG59XHJcblxyXG4uYXNzZXQtY2FyZC1yZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZDdkYTtcclxufVxyXG5cclxuLmFzc2V0LWNhcmQtb3JhbmdlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYzY2Q7XHJcbn1cclxuXHJcbi5hc3NldC1jYXJkLXZhbHVlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uYXNzZXQtY2FyZC1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi5hc3NldC1jb2x1bW5zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDI1cHg7XHJcbn1cclxuXHJcbi5hc3NldC1jb2x1bW4ge1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLmFzc2V0LWNvbHVtbiBoNCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG59XHJcblxyXG4uYXNzZXQtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5hc3NldC1kZXYge1xyXG4gICAgY29sb3I6ICNiNzFjMWM7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uYXNzZXQtZHVwbGljYXRlcyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxufVxyXG5cclxuLmFzc2V0LWNvbHVtbnMtNCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgIGdhcDogMTVweDtcclxufVxyXG5cclxuLmFzc2V0LWNvbHVtbnMtMiB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgIGdhcDogMTVweDtcclxufVxyXG5cclxuLmFzc2V0LXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG59XHJcblxyXG4uYXNzZXQtdGFibGUgdGgge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uYXNzZXQtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5hc3NldC1tb2RhbCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KTtcclxufVxyXG5cclxuLmFzc2V0LW1vZGFsLWNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA0NSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHJcbiAgICB3aWR0aDogODUlO1xyXG4gICAgbWF4LXdpZHRoOiAxODAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xyXG5cclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMCwwLDAsMC40KTtcclxufVxyXG5cclxuLmFzc2V0LW1vZGFsLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbiNjbG9zZUFzc2V0SGVhbHRoTW9kYWwge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmFzc2V0LWpxdWVyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlYmVlO1xyXG59XHJcblxyXG4uYXNzZXQtanF1ZXJ5IHRkOmxhc3QtY2hpbGQge1xyXG4gICAgY29sb3I6ICNjNjI4Mjg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmFzc2V0LXB1cmUtanMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjVlOTtcclxufVxyXG5cclxuLmFzc2V0LXB1cmUtanMgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBjb2xvcjogIzJlN2QzMjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5hc3NldC1iYWRnZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtaW4td2lkdGg6IDMycHg7XHJcbiAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hc3NldC1iYWRnZS1kYW5nZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2I3MWMxYztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmFzc2V0LWJhZGdlLXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZDogIzJlN2QzMjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmFzc2V0LXN5c3RlbSB7XHJcbiAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4uYXNzZXQtc3lzdGVtIHRkIHtcclxuICAgIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hc3NldC1sZWdhY3kge1xyXG4gICAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5hc3NldC1sZWdhY3kgdGQge1xyXG4gICAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcclxufVxyXG4uYXNzZXQtdW5rbm93biB7XHJcbiAgICBjb2xvcjogI2ZmOTgwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXNzZXQtdW5rbm93biB0ZCB7XHJcbiAgICBjb2xvcjogI2ZmOTgwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXNzZXQtdmlldy1idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcclxuICAgIHdpZHRoOjJyZW07XHJcbn1cclxuXHJcbi5hc3NldC12aWV3LWJ0bi1zbWFsbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xyXG4gICAgd2lkdGg6MnJlbTtcclxufVxyXG5cclxuLmFzc2V0LWZpbHRlci1idXR0b24ge1xyXG5cclxufVxyXG5cclxuLmFzc2V0LXNvdXJjZS1tb2RhbCB7XHJcblxyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgaW5zZXQ6IDA7XHJcblxyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNyk7XHJcblxyXG4gICAgei1pbmRleDogOTk5OTk7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmFzc2V0LXNvdXJjZS1kaWFsb2cge1xyXG5cclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBoZWlnaHQ6IDkwJTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5hc3NldC1zb3VyY2UtaGVhZGVyIHtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5hc3NldC1zb3VyY2UtY29kZSB7XHJcblxyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgZmxleDogMTtcclxuICAgIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9ub3NwYWNlIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5qcS1ob3RzcG90IHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAjZmY1MjUyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5qcS1zZWxlY3RvciB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogI2ZmYjc0ZDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmpxLWV2ZW50IHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAjNjRiNWY2O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcbi5qcS1tYXRjaC1hY3RpdmUge1xyXG5cclxuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjMDBlNWZmO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggIzAwZTVmZjtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgei1pbmRleDogNTtcclxufVxyXG4uanEtaG90c3BvdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uanEtZXZlbnQge1xyXG4gICAgYmFja2dyb3VuZDogIzBkNmVmZDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmpxLXV0aWxpdHkge1xyXG4gICAgYmFja2dyb3VuZDogIzZmNDJjMTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmpxLXNlbGVjdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZDdlMTQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5qcS1tYXRjaC1hY3RpdmUge1xyXG4gICAgb3V0bGluZTogM3B4IHNvbGlkICMwMGZmZmY7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4ICMwMGZmZmY7XHJcbn1cclxuLmFzc2V0LW11dGVkIHtcclxuXHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5hc3NldC1tdXRlZDpob3ZlciB7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uYXNzZXQtaW5saW5lLXN0eWxlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjIwLDUzLDY5LC4wOCk7XHJcbn1cclxuXHJcbi5hc3NldC1pbmxpbmUtY3NzIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDE5Myw3LC4wOCk7XHJcbn1cclxuLmFzc2V0LWVtcHR5IHtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxufVxyXG4uYXNzZXQtbWlzc2luZy1ub25jZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmYwZjA7XHJcbiAgICBib3JkZXItbGVmdDo0cHggc29saWQgI2RjMzU0NTtcclxufVxyXG5cclxuXHJcbi8qIENTUCAqL1xyXG4uYmxhY2std3JpdGluZyB7XHJcbiAgICBjb2xvcjpibGFjaztcclxufSJdfQ== */