@charset 'UTF-8';
/*------------------------------------------------------------------
[Master Stylesheet]

Project:		Meshable - Grid Based Portfolio and Blog HTML Template
Version:		1.0
Author: 		Muhamamd Faisal
Author URI: 	http://themeshash.com/
-------------------------------------------------------------------*/
/*-----------------------------------------------------------------
 Contents (_contents.scss)
-------------------------------------------------------------------
1. Base
2. Grid
3. Scaffolding
4. Sidebar
5. Portfolio
6. Blog
7. Comments
8. Form
---------------------------------------------------------------- */
/*========================================================
  1.  BASE 
========================================================== */
html
{
    font-size: 62.5%;
}

body
{
    font-family: 'Lato', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;

    color: #7b7d80;
    background: #f2f2f2 url('../../images/line.png') no-repeat fixed 0 0;
}

*,
*:before,
*:after
{
    box-sizing: border-box;
}

::-moz-selection
{
    color: #000;
    background: #fbf285;
}

::selection
{
    color: #000;
    background: #fbf285;
}

/** == TYPOGRAPHY == */
/** ================================================== */
a
{
    cursor: pointer; 
    text-decoration: none;

    color: inherit;
}
a:hover
{
    color: #000;
}

/** Headings */
h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: 'Lato', sans-serif;
    font-weight: normal;

    margin: 1rem 0 1.5rem; 

    color: #3a3c3d;
}

h1
{
    font-size: 2.8rem;
}

h2
{
    font-size: 2.4rem;
}

h3
{
    font-size: 2rem;
}

h4
{
    font-size: 1.8rem;
}

h5
{
    font-size: 1.6rem;
}

h6
{
    font-size: 1.6rem;
}

/** Paragraphs */
p
{
    margin: 0 0 2rem 0;

    color: #7b7d80;
}

p:last-child
{
    margin-bottom: 0;
}

/** Blockquotes */
blockquote
{
    margin-top: 25px;
    padding: 25px;

    letter-spacing: .1em;
    text-transform: uppercase;

    color: #999;
    border-left: 4px solid #e1e1e1;
}

blockquote:first-child
{
    margin-top: 0;
}

/** == LISTS == */
/** ================================================== */
ul,
ol,
dl
{
    margin-bottom: 20px;
    margin-left: 0;
}

ul
{
    list-style: square inside;
}

ol
{
    list-style: decimal inside;
}

ul ul,
ol ol
{
    margin: 0 0 0 20px;
}

dt
{
    font-weight: bold;
}

dd
{
    margin: 0 0 20px;
}

/** == BLOCK QUOTES == */
/** ================================================== */
blockquote
{
    clear: both;

    margin: 40px 40px 40px 0;
    padding: 15px 0 15px 40px;

    border: 0;
    border-left: solid 1px #ccc;
}

blockquote p
{
    color: #aaa;
}

blockquote > p:last-child
{
    margin-bottom: 0;
}

blockquote cite,
blockquote small
{
    display: block;

    margin-top: 10px;
}

blockquote em,
blockquote i,
blockquote cite
{
    font-style: normal;
}

blockquote strong,
blockquote b
{
    font-weight: 400;
}

/** == RULES == */
/** ================================================== */
hr
{
    clear: both;

    height: 1px;
    margin: 5rem 0; 

    border: 0;
    background-color: #e5e5e5;
}

/** == PRE == */
/** ================================================== */
pre
{
    font-family: 'Courier 10 Pitch', Courier, monospace;
    font-size: 15px;
    line-height: 1.6;

    position: relative;

    overflow: auto;

    max-width: 100%;
    margin-bottom: 1.6em;
    padding: 3% 5% 3% 10%;

    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4; 

    background: rgba(0, 0, 0, .05);
}

pre:before
{
    font-family: 'FontAwesome';
    font-size: 14px;

    position: absolute;
    z-index: 5; 
    top: 0;
    left: 0;

    height: 100%;
    padding: 0 3px;

    content: '\f121';

    color: #fff;
    background: #bbc3cc;
}

code,
kbd,
tt,
var
{
    font: 15px Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
}

/** == TABLE == */
/** ================================================== */
table
{
    font-size: 16px; 

    width: 100%;
    padding: 1% 3%;

    border: dotted 1px rgba(0, 0, 0, .1);
}

table td,
table th
{
    padding: 10px;

    text-align: left;
}

table thead
{
    background: rgba(0, 0, 0, .05);
}

table thead th
{
    font-weight: bold;
}

table td
{
    border-bottom: solid 1px rgba(0, 0, 0, .05);
}

table tr:last-child td
{
    border-bottom: none;
}

table tr:nth-child(even)
{
    background: rgba(0, 0, 0, .05);
}

/** == MISC == */
/** ================================================== */
.clear
{
    line-height: 1px;

    clear: both;

    height: 1px;
}

/*========================================================
  2.  GRID 
========================================================== */
*,
*:before,
*:after
{
    box-sizing: border-box;
}

/** == SCAFFOLDING == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    #site-container
    {
        max-width: 300px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #site-container
    {
        max-width: 700px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container
    {
        max-width: 1170px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container
    {
        max-width: 1500px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container
    {
        max-width: 1780px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 2560px)
{
    #site-container
    {
        max-width: 2420px;
        margin-right: auto; 
        margin-left: auto;
    }
    #site-container:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 0) and (max-width: 640px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 25%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 20%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 15.625%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    #site-container #global-sidebar
    {
        float: left;

        width: 12.5%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 0) and (max-width: 1024px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 100%;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 75%;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 80%;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 84.375%;
    }
}

@media (min-width: 2560px)
{
    #site-container #primary-content
    {
        float: left; 

        width: 87.5%;
    }
}

/** == PORTFOLIO == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 50%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 25%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 20%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    #portfolio-grid .entry,
    #store-grid .entry
    {
        float: left;

        width: 14.28571%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/** == PRIMARY CONTENT == */
/** ================================================== */
#primary-content
{
    *zoom: 1;
}
#primary-content:before,
#primary-content:after
{
    display: table; 

    content: ' ';
}
#primary-content:after
{
    clear: both;
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #top-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #top-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #top-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #top-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #top-content
    {
        float: left;

        width: 80%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #top-content
    {
        float: left;

        width: 71.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 1024px)
{
    #primary-content #top-content .summary
    {
        float: left; 

        width: 100%;
    }
}
@media (min-width: 1025px)
{
    #primary-content #top-content .summary
    {
        float: left; 

        width: 66.66667%;
    }
}
@media (min-width: 0) and (max-width: 1024px)
{
    #primary-content #top-content .skills
    {
        float: left; 

        width: 100%;
    }
}
@media (min-width: 1025px)
{
    #primary-content #top-content .skills
    {
        float: left; 

        width: 33.33333%;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 80%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #main-content.full-width
    {
        float: left;

        width: 71.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content.flexible
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #main-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #main-content
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #main-content
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #main-content
    {
        float: left;

        width: 66.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #main-content
    {
        float: left;

        width: 53.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #main-content
    {
        float: left;

        width: 48.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 0) and (max-width: 640px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 641px) and (max-width: 1024px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 33.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 26.66667%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}
@media (min-width: 2560px)
{
    #primary-content #page-sidebar
    {
        float: left;

        width: 23.33333%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/** == MISC == */
/** ================================================== */
@media (min-width: 0) and (max-width: 640px)
{
    .slicknav_nav
    {
        max-width: 280px;
        margin-right: auto; 
        margin-left: auto;
    }
    .slicknav_nav:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    .slicknav_nav
    {
        max-width: 700px;
        margin-right: auto; 
        margin-left: auto;
    }
    .slicknav_nav:after
    {
        display: block;
        clear: both; 

        content: ' ';
    }
}

@media (min-width: 0) and (max-width: 640px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 641px) and (max-width: 1024px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1025px) and (max-width: 1440px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 1920px) and (max-width: 2559px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

@media (min-width: 2560px)
{
    .portfolio #load-more,
    .store #load-more
    {
        float: left;

        width: 100%;
        padding-right: 16.25px; 
        padding-left: 16.25px;
    }
}

/*========================================================
  3.  SCAFFOLDING 
========================================================== */
#site-container
{
    padding: 60px 0;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #site-container #global-sidebar > *:not(#site-header)
    {
        display: none;
    }
}

/** Site Header */
#site-header
{
    position: relative;

    margin-bottom: 30px; 
    padding-bottom: 30px;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #site-header
    {
        margin-bottom: 40px;
    }
}
#site-header #site-logo
{
    display: block;

    margin-bottom: 30px;
}
#site-header #site-logo img
{
    display: block;
}
#site-header:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    width: 30px;
    height: 1px;

    content: '';

    background: #d4d4d4;
}

/** Social Icons */
.social-icons
{
    margin: 20px 0 0 0;
    padding: 0;

    list-style: none;
}
.social-icons li
{
    display: inline-block;
}
.social-icons li a
{
    font-size: 12px;
    line-height: 25px;

    display: inline-block;

    width: 25px;
    height: 25px;

    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s; 
    text-align: center;

    color: #b4b4b4;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 50%;
    background: #fff;
}
.social-icons li.facebook a:hover
{
    color: #3b5998;
}
.social-icons li.twitter a:hover
{
    color: #55acee;
}
.social-icons li.deviantart a:hover
{
    color: #4dc47d;
}
.social-icons li.vimeo a:hover
{
    color: #1ab7ea;
}

/** Primary Content */
#primary-content #main-content .wrapper
{
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#primary-content #main-content .wrapper .content-header
{
    padding: 20px 35px; 

    border-bottom: 1px solid #f2f2f2;
}
#primary-content #main-content .wrapper .content-header h3
{
    font-size: 18px; 

    margin: 0;

    color: #3a3c3d;
}
#primary-content #main-content .wrapper .featured-media img
{
    display: block; 

    width: 99.8%;
    margin: 1px;
}
#primary-content #main-content .wrapper .content-body
{
    padding: 28px 35px 40px 35px;
}
#primary-content #main-content .wrapper .content-body *:first-child
{
    margin-top: 0;
}
#primary-content #main-content .wrapper .content-body h1,
#primary-content #main-content .wrapper .content-body h2,
#primary-content #main-content .wrapper .content-body h3,
#primary-content #main-content .wrapper .content-body h4,
#primary-content #main-content .wrapper .content-body h5,
#primary-content #main-content .wrapper .content-body h6
{
    color: #3a3c3d;
}
#primary-content #main-content .wrapper .content-body p
{
    color: #96999d;
}
#primary-content #main-content .wrapper .content-body img
{
    max-width: 100%;
}
#primary-content #main-content .wrapper .content-body #awards
{
    text-align: center;
}

@media (min-width: 0) and (max-width: 1024px)
{
    #primary-content #page-sidebar .inner
    {
        margin-top: 60px;
        padding-top: 60px;

        border-top: 1px solid #d4d4d4;
    }
}

/** Mobile Nav */
.slicknav_menu
{
    display: none;
}
.slicknav_menu .slicknav_menu
{
    display: inline-block;
}

@media screen and (max-width: 1024px)
{
    .slicknav_menu
    {
        display: block;
    }
}

.slicknav_menu
{
    padding: 0;
}
.slicknav_menu .slicknav_btn
{
    float: none;

    margin: 0;
    padding: 20px 25px;

    text-align: right;

    border-radius: 0; 
    background: #3b3c3e;
}
.slicknav_menu .slicknav_btn > span
{
    display: inline-block; 
    float: none;
}
.slicknav_menu .slicknav_btn .slicknav_icon
{
    height: .675em;
    margin-left: .738em;
}

.slicknav_nav
{
    padding: 30px 0;
}

/** Cart Count */
#cart-count
{
    line-height: 50px;

    position: relative;
    position: absolute;
    top: 0;
    right: 0;

    display: inline-block; 

    width: 50px;
    height: 50px;

    text-align: center;

    background: #feea36;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #cart-count
    {
        display: none;
    }
}
#cart-count i
{
    font-size: 24px;

    position: relative;

    color: #000;
}
#cart-count i .count
{
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    line-height: 15px; 

    position: absolute;
    top: -5px;
    right: -10px;

    width: 15px;
    height: 15px;

    color: #fff;
    border-radius: 100%;
    background: #d31112;
}

/** Load More */
#load-more
{
    margin-top: 20px; 

    text-align: center;
}
#load-more a
{
    display: block;

    padding: 10px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 

    color: #fff;
    border-radius: 4px;
    background: #a9a9a9 url(../../images/button-glass.png) repeat-x 0 0;
}
#load-more a:hover
{
    background-color: #919191;
}

/** Go To Top */
#go-to-top
{
    line-height: 45px;

    position: fixed;
    z-index: 99;
    bottom: 60px;

    width: 45px;
    height: 45px;

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s; 
    text-align: center;

    border-radius: 100%;
    background: #a9a9a9 url('../../images/button-glass.png') repeat-x scroll 0 0;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #go-to-top
    {
        display: none !important;
    }
}
@media (min-width: 1025px) and (max-width: 1440px)
{
    #go-to-top
    {
        left: 70px;
    }
}
@media (min-width: 1366px)
{
    #go-to-top
    {
        left: 115px;
    }
}
@media (min-width: 1440px)
{
    #go-to-top
    {
        left: 150px;
    }
}
@media (min-width: 1441px) and (max-width: 1919px)
{
    #go-to-top
    {
        left: 65px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px)
{
    #go-to-top
    {
        left: 80px;
    }
}
@media (min-width: 2560px)
{
    #go-to-top
    {
        left: 87px;
    }
}
#go-to-top:hover
{
    background-color: #919191;
}
#go-to-top i
{
    font-size: 22px;

    color: #fff;
}

/*========================================================
  4.  SIDEBAR 
========================================================== */
#blog-sidebar .widget:first-child h3
{
    margin-top: 0;
}

/** General Widget */
.widget
{
    position: relative;

    margin-bottom: 30px; 
    padding-bottom: 30px;
}
.widget:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    width: 30px;
    height: 1px;

    content: '';

    background: #d4d4d4;
}
.widget:nth-last-child(1):after
{
    background: transparent;
}
.widget h3
{
    font-size: 16px;

    color: #3a3c3d;
}
.widget a:hover
{
    color: #000;
}

/** Search Widget */
.widget_search form
{
    position: relative;
}
.widget_search form input
{
    width: 80%;
    padding-left: 40px; 

    border: 0;
    border-radius: 3px;
    background: #fff;
}
.widget_search form button
{
    position: absolute;
    top: 9px;
    left: 6%;

    margin: 0;
    padding: 0;

    color: #d8d8d8; 
    border: 0;
    background: transparent;
    box-shadow: none;
}

/** Link List */
.widget_list ul
{
    margin-bottom: 0;
    padding-left: 0;

    list-style: none;
}
.widget_list ul a
{
    padding: 0 2px; 

    color: #96999d;
}
.widget_list ul li.active a
{
    color: #3a3c3d; 
    background: #feea36;
}

/** Portfolio Filter */
.widget_filter ul li a.active
{
    color: #3a3c3d;
    background: #dbdbdb;
}

/** Tag Cloud */
.widget_tag_cloud a
{
    font-size: 15px !important;
    line-height: 28px;

    display: inline-block;

    margin-right: 8px;
    margin-bottom: 11px;
    padding: 4px 15px;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 
    text-decoration: none;

    color: #757575;
    border-bottom: 0 none;
    border-radius: 3px;
    background: #e4e4e4 url(../../images/button-glass.png) repeat-x 0 0;
}
.widget_tag_cloud a:hover
{
    color: #fff; 
    background-color: #7bbb5e;
}

/** Newsletter */
.widget_newsletter .widget_wrapper
{
    margin-bottom: 10px;
    padding: 22px 30px 32px 30px;

    border-radius: 3px; 
    background: #3b3c3e;
}
.widget_newsletter .widget_wrapper h3
{
    font-size: 16px;

    margin: 0 0 10px 0; 

    color: #fff;
}
.widget_newsletter .widget_wrapper p
{
    font-size: 15px;

    margin-bottom: 10px; 

    color: #999;
}
.widget_newsletter .widget_wrapper .button
{
    width: 100%;

    text-align: center;
}
.widget_newsletter .widget_wrapper .button:hover
{
    color: #3c3c3c;
}
.widget_newsletter .widget_wrapper .button i
{
    margin-right: 5px;
}

/** Address */
.widget_address .widget-content
{
    position: relative;

    margin-bottom: 10px;
    padding: 22px 30px 32px 30px;

    border-radius: 3px; 
    background: #e4e4e4;
}
.widget_address .widget-content:before
{
    font-family: 'FontAwesome';
    font-size: 24px;

    position: absolute;
    top: 10px;
    right: 20px;
    left: auto;

    content: '\f08d';

    opacity: .2; 
    color: #000;
}
.widget_address .widget-content h3
{
    font-size: 16px;
    font-weight: bold;

    margin: 0 0 10px 0; 

    color: #777;
}
.widget_address .widget-content p
{
    font-size: 15px;

    margin-bottom: 0; 

    color: #999;
}
.widget_address .widget-content .button
{
    width: 100%;

    text-align: center;
}
.widget_address .widget-content .button:hover
{
    color: #3c3c3c;
}
.widget_address .widget-content .button i
{
    margin-right: 5px;
}

/*========================================================
  5.  PORTFOLIO 
========================================================== */
/** Portfolio Grid */
#portfolio-grid
{
    *zoom: 1;
}
#portfolio-grid:before,
#portfolio-grid:after
{
    display: table; 

    content: ' ';
}
#portfolio-grid:after
{
    clear: both;
}
#portfolio-grid .entry .wrapper
{
    margin-bottom: 32px;

    text-align: center;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#portfolio-grid .entry .wrapper .entry-media
{
    position: relative;

    display: block;
}
#portfolio-grid .entry .wrapper .entry-media img
{
    display: block;

    width: 100%;
}
#portfolio-grid .entry .wrapper .entry-media:after
{
    line-height: 260px;

    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
    color: #fff;
    background: rgba(0, 0, 0, .4) url('../../images/hover-bg.png') no-repeat center center;
}
#portfolio-grid .entry .wrapper .entry-media:hover:after
{
    opacity: 1;
}
#portfolio-grid .entry .wrapper .entry-desc
{
    padding: 20px;
}
#portfolio-grid .entry .wrapper .entry-desc h3
{
    font-size: 16px;

    margin: 0; 

    color: #3a3c3d;
}
#portfolio-grid .entry .wrapper .entry-desc span
{
    font-size: 15px;

    text-transform: capitalize; 

    color: #96999d;
}

/** Top Content */
#top-content .inner
{
    font-size: 15px;

    position: relative;

    overflow: hidden;

    margin-bottom: 35px; 
    padding: 28px 35px 30px 35px;

    background: #3b3c3e;
}
#top-content .inner .summary
{
    position: relative;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #top-content .inner .summary
    {
        margin-bottom: 30px; 
        padding-bottom: 30px;

        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }
}
@media (min-width: 1025px)
{
    #top-content .inner .summary
    {
        padding-right: 40px !important;
    }
    #top-content .inner .summary:after
    {
        position: absolute;
        top: 0; 
        right: -2.5%;

        width: 1px;
        height: 100%;

        content: '';

        background: rgba(255, 255, 255, .1);
    }
}
@media (min-width: 1025px) and (min-width: 641px) and (max-width: 1024px)
{
    #top-content .inner .summary:after
    {
        right: 2%;
    }
}
@media (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px)
{
    #top-content .inner .summary:after
    {
        right: -3%;
    }
}
@media (min-width: 1025px) and (min-width: 2560px)
{
    #top-content .inner .summary:after
    {
        right: -3%;
    }
}
#top-content .inner .summary h3
{
    font-size: 17px;

    margin-top: 0; 
    margin-bottom: 10px;

    color: #fff;
}
#top-content .inner .summary p
{
    color: #999;
}
#top-content .inner .skills
{
    padding-left: 67px !important;
}
@media (min-width: 0) and (max-width: 1024px)
{
    #top-content .inner .skills
    {
        padding-left: 0 !important;
    }
}
#top-content .inner .skills h4
{
    font-size: 17px;

    margin-top: 0; 
    margin-bottom: 10px;

    color: #fff;
}
#top-content .inner .skills ul
{
    margin-top: 10px;
    margin-bottom: 0; 
    padding: 0;

    list-style: none;
}
#top-content .inner .skills ul li a
{
    color: #999;
}
#top-content .inner .skills ul li a:hover
{
    color: #fff;
}
#top-content .inner .navigation
{
    position: absolute;
    top: 20px; 
    right: 20px;
}
#top-content .inner .navigation ul
{
    margin: 0; 

    list-style: none;
}
#top-content .inner .navigation ul li
{
    font-size: 17px;
    line-height: 27px;

    display: inline-block;

    width: 27px;
    height: 27px;
    margin-right: 2px; 

    text-align: center;
}
#top-content .inner .navigation ul li a
{
    display: block;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 

    color: #000;
    border-radius: 2px;
    background: #a9a9a9 url(../../images/button-glass.png) repeat-x 0 0;
}
#top-content .inner .navigation ul li a:hover
{
    color: #fff; 
    background-color: #7bbb5e;
}

/** Main Content */
#main-content.portfolio-images
{
    margin-bottom: 60px;
}
#main-content.portfolio-images .entry-media
{
    margin: 0 0 32px 0;
}
#main-content.portfolio-images .entry-media .image
{
    position: relative;

    display: block;
}
#main-content.portfolio-images .entry-media .image img
{
    display: block;

    width: 100%;
    margin-bottom: 30px;
}
#main-content.portfolio-images .entry-media .image figcaption
{
    position: absolute;
    right: 20px;
    bottom: 20px;

    padding: 2px 18px; 

    color: #96999d;
    background: #fff;
}
#main-content.portfolio-images .sharing-links
{
    margin-top: 45px; 

    text-align: center;
}
#main-content.portfolio-images .sharing-links h4
{
    font-size: 16px;

    margin-bottom: 1rem;

    text-transform: uppercase; 

    color: #3a3c3d;
}
#main-content.portfolio-images .sharing-links ul
{
    display: inline-block;

    margin: 0 auto;
    padding: 10px 35px; 

    list-style: none;

    text-align: center;

    border-radius: 3px;
    background: #e4e4e4;
}
#main-content.portfolio-images .sharing-links ul li
{
    display: inline-block;

    margin-right: 20px;
}
#main-content.portfolio-images .sharing-links ul li:last-child
{
    margin-right: 0;
}
#main-content.portfolio-images .sharing-links ul li a
{
    font-size: 24px;

    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s; 

    color: #878787;
}
#main-content.portfolio-images .sharing-links ul li a:hover
{
    color: #757575;
}

/** Page Sidebar */
@media (min-width: 0) and (max-width: 1024px)
{
    #page-sidebar.portfolio-meta
    {
        margin-top: 0 !important;
        padding-top: 0 !important;

        border: 0 !important;
    }
}

#page-sidebar.portfolio-meta .meta-info
{
    position: relative;

    padding: 30px 35px; 

    background: #e4e4e4;
}
#page-sidebar.portfolio-meta .meta-info:after
{
    font-size: 20px;

    position: absolute;
    top: 20px;
    right: 20px;

    width: 20px;
    height: 20px;

    content: '';

    opacity: .2; 
    color: #000;
    background: url(../../images/icons/info.svg);
}
#page-sidebar.portfolio-meta .meta-info .meta
{
    margin-bottom: 25px;
}
#page-sidebar.portfolio-meta .meta-info .meta:last-of-type
{
    margin-bottom: 3px;
}
#page-sidebar.portfolio-meta .meta-info .meta h4
{
    font-size: 16px;

    margin: 0; 

    color: #3a3c3d;
}
#page-sidebar.portfolio-meta .meta-info .meta p
{
    color: #96999d;
}

/*========================================================
  6.  BLOG 
========================================================== */
.blog.single .entry-desc h3
{
    padding: 0 3px;
}

.blog.single .entry-meta
{
    margin-top: 10px !important;
}

.blog
{
    /** General Styling */
    /** Standard Format */
    /** Quote Format */
    /** Link Format */
}
.blog .entry
{
    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.blog .entry .entry-media
{
    position: relative; 

    overflow: hidden;

    margin: 0;
}
.blog .entry .entry-media a
{
    display: block;
}
.blog .entry .entry-media a:after
{
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
    background: rgba(0, 0, 0, .3);
}
.blog .entry .entry-media img
{
    display: block; 

    width: 100%;

    -webkit-transition: -webkit-transform 300ms ease-in-out 0s;
            transition: -webkit-transform 300ms ease-in-out 0s;
            transition:         transform 300ms ease-in-out 0s;
            transition:         transform 300ms ease-in-out 0s, -webkit-transform 300ms ease-in-out 0s;
}
.blog .entry .entry-desc
{
    padding: 20px 35px;
}
.blog .entry .entry-desc h3
{
    font-size: 24px;
    font-weight: bold; 

    margin-top: 5px;
    margin-bottom: 10px;
}
.blog .entry .entry-desc h3 a
{
    padding: 3px; 

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s;

    color: #3a3c3d;
}
.blog .entry .entry-desc h3 a:hover
{
    color: #3a3c3d;
    background: #f6f6f6;
}
.blog .entry .entry-desc p
{
    color: #96999d;
}
.blog .entry .entry-meta
{
    margin: 0;
    padding: 0 36px 30px 36px;

    list-style: none;

    *zoom: 1;
}
.blog .entry .entry-meta:before,
.blog .entry .entry-meta:after
{
    display: table; 

    content: ' ';
}
.blog .entry .entry-meta:after
{
    clear: both;
}
.blog .entry .entry-meta li
{
    font-size: 15px;

    display: inline-block;
    float: right; 

    color: #96999d;
}
.blog .entry .entry-meta li:first-child
{
    float: left;
}
.blog .entry .entry-meta li a
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;
}
.blog .entry .entry-meta li a i
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;

    color: #d2d6db;
}
.blog .entry .entry-meta li a:hover
{
    color: #66696d;
}
.blog .entry .entry-meta li a:hover i
{
    color: #66696d;
}
.blog .entry .entry-meta li.date i
{
    font-size: 17px; 

    margin-right: 8px;
}
.blog .entry .entry-meta li.like
{
    margin-left: 15px;
}
.blog .entry .entry-meta li.like i
{
    font-size: 20px;

    margin-right: 5px;
}
.blog .entry .entry-meta li.like a:hover
{
    color: #7bbb5e;
}
.blog .entry .entry-meta li.like a:hover i
{
    color: #7bbb5e;
}
.blog .entry .entry-meta li.comments i
{
    font-size: 18px;

    margin-right: 5px;
}
.blog .format-standard:hover .entry-media a img
{
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
}
.blog .format-standard:hover .entry-media a:after
{
    opacity: 1;
}
.blog .format-quote .entry-media
{
    position: relative;

    padding: 35px 60px 38px 60px; 

    background: #3b3c3e;
}
.blog .format-quote .entry-media blockquote
{
    margin: 0;
    padding: 0;

    border: 0;
}
.blog .format-quote .entry-media blockquote:after
{
    font-family: 'FontAwesome';
    font-size: 23px; 

    position: absolute;
    top: 34px;
    left: 30px;

    content: '\f10d';

    color: #d2d6db;
}
.blog .format-quote .entry-media blockquote p
{
    font-size: 23px;
    font-weight: normal;
    font-style: italic;
    line-height: 32px;

    position: relative;

    padding: 0 2px 0 35px; 

    letter-spacing: 0;
    text-transform: initial;

    color: #fff;
}
.blog .format-quote .entry-media blockquote p:before
{
    position: absolute;
    top: 0; 
    left: 10px;

    width: 1px;
    height: 100%;

    content: '';

    background: rgba(255, 255, 255, .1);
}
.blog .format-link .entry-media
{
    position: relative;

    padding: 35px 60px 38px 60px; 

    background: #3b3c3e;
}
.blog .format-link .entry-media p
{
    margin: 0;
    padding: 0;

    border: 0;
}
.blog .format-link .entry-media p:after
{
    font-family: 'FontAwesome';
    font-size: 23px; 

    position: absolute;
    top: 34px;
    left: 30px;

    content: '\f0c1';

    color: #d2d6db;
}
.blog .format-link .entry-media p a
{
    font-size: 23px;
    font-weight: normal;
    font-style: italic;
    line-height: 32px;

    position: relative;

    padding: 0 2px 0 35px; 

    letter-spacing: 0;
    text-transform: initial;

    color: #fff;
}
.blog .format-link .entry-media p a:before
{
    position: absolute;
    top: 0; 
    left: 10px;

    width: 1px;
    height: 100%;

    content: '';

    background: rgba(255, 255, 255, .1);
}

/** Gallery Format */
.format-gallery .slick-arrow
{
    line-height: 30px;

    position: absolute;
    right: 20px;
    bottom: 20px;

    width: 30px;
    height: 30px;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 
    text-align: center;

    color: #fff;
    border-radius: 2px;
    background: #3b3c3e;
}
.format-gallery .slick-arrow i.fa
{
    font-size: 18px;
}
.format-gallery .slick-arrow.prev-arrow
{
    z-index: 99; 
    right: 54px;
}
.format-gallery .slick-arrow:hover
{
    color: #000; 
    background: #feea36;
}

/*========================================================
  5.  STORE 
========================================================== */
/** Store Grid */
#store-grid
{
    *zoom: 1;
}
#store-grid:before,
#store-grid:after
{
    display: table; 

    content: ' ';
}
#store-grid:after
{
    clear: both;
}
#store-grid .entry .wrapper
{
    position: relative;

    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
#store-grid .entry .wrapper:before,
#store-grid .entry .wrapper:after
{
    font-size: 16px;
    line-height: 30px;

    position: absolute;
    z-index: 1;
    z-index: 999;
    top: 0;
    left: 0;

    padding: 0 22px;

    text-transform: capitalize;
}
#store-grid .entry .wrapper:before
{
    content: attr(data-sale);

    color: #fff; 
    background: #d31112;
}
#store-grid .entry .wrapper:after
{
    content: attr(data-stock);

    color: #3a3c3d; 
    background: #fbf285;
}
#store-grid .entry .wrapper:hover .add-to-cart
{
    opacity: 1;
}
#store-grid .entry .wrapper .add-to-cart
{
    -webkit-transition: opacity 300ms ease-in-out 0s;
            transition: opacity 300ms ease-in-out 0s; 

    opacity: 0;
}
#store-grid .entry .wrapper .add-to-cart a
{
    font-size: 15px;
    line-height: 33px;

    position: absolute;
    z-index: 999;
    top: 12px;
    right: 12px;

    width: 33px;
    height: 33px;

    text-align: center;
    text-transform: capitalize;

    color: #b4b4b4; 
    border: 1px solid rgba(180, 180, 180, .5);
    border-radius: 100%;
    background: #fff url(../../images/button-glass.png) repeat-x 0 0;
}
#store-grid .entry .wrapper .add-to-cart a:hover
{
    color: #fff; 
    border: 1px solid #76b45a;
    background-color: #7bbb5e;
}
#store-grid .entry .wrapper .add-to-cart a i
{
    line-height: 30px;
}
#store-grid .entry .wrapper .entry-media
{
    position: relative;

    display: block;

    margin: 0;
}
#store-grid .entry .wrapper .entry-media img
{
    display: block;

    width: 100%;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots
{
    position: absolute;
    bottom: 10px;

    margin: 0;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li
{
    width: 15px;
    height: 15px; 
    margin: 0;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li button
{
    box-shadow: none;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li button:before
{
    width: 8px;
    height: 8px;

    content: '';

    opacity: 1; 
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
}
#store-grid .entry .wrapper .entry-media ul.slick-dots li.slick-active button:before
{
    background: #fff;
}
#store-grid .entry .wrapper .entry-desc
{
    position: relative; 

    padding: 22px 25px;
}
#store-grid .entry .wrapper .entry-desc h3
{
    font-size: 16px;
    line-height: 1.3; 

    margin: 0;

    color: #3a3c3d;
}
#store-grid .entry .wrapper .entry-desc span.taxonomy
{
    font-size: 15px;

    text-transform: capitalize; 

    color: #96999d;
}
#store-grid .entry .wrapper .entry-desc span.price
{
    font-size: 15px;

    position: absolute;
    top: 25px;
    right: 25px;

    padding: 0 5px; 

    color: #fff;
    background: #3b3c3e;
}

/** Store Cart */
.store.cart #main-content .cart-summary
{
    padding: 20px 35px; 

    background: #3b3c3e;
}
.store.cart #main-content .cart-summary h3
{
    font-size: 24px;
    font-weight: bold; 

    color: #fff;
}
.store.cart #main-content .cart-summary form input[type='text'],
.store.cart #main-content .cart-summary form input[type='number']
{
    margin-bottom: 0;

    border: 0; 
    background: #eee;
}
.store.cart #main-content .cart-summary form input[type='submit']
{
    margin: 15px 0 0 0;
}
.store.cart #main-content .cart-summary table
{
    margin-top: 30px;

    border-collapse: collapse; 

    border: 0;
}
.store.cart #main-content .cart-summary table thead
{
    background: transparent;
}
.store.cart #main-content .cart-summary table thead tr
{
    border-top: 1px solid #565757;
    border-bottom: 1px solid #565757;
}
.store.cart #main-content .cart-summary table thead tr th
{
    font-weight: normal; 

    padding: 12px 8px;

    vertical-align: middle;

    color: #fff;
    border: 0;
}
.store.cart #main-content .cart-summary table thead tr th.product-name
{
    text-align: left;
}
.store.cart #main-content .cart-summary table thead tr th.product-price,
.store.cart #main-content .cart-summary table thead tr th.product-quantity,
.store.cart #main-content .cart-summary table thead tr th.product-subtotal
{
    width: 17%;

    text-align: center;
}
.store.cart #main-content .cart-summary table tbody
{
    font-weight: normal; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr
{
    border-bottom: 1px solid #565757;
    background: transparent;
}
.store.cart #main-content .cart-summary table tbody tr:last-child
{
    border-bottom: 0;
}
.store.cart #main-content .cart-summary table tbody tr td
{
    padding: 20px 8px;

    vertical-align: middle;

    border: 0;
}
.store.cart #main-content .cart-summary table tbody tr td.product-price,
.store.cart #main-content .cart-summary table tbody tr td.product-quantity,
.store.cart #main-content .cart-summary table tbody tr td.product-subtotal
{
    width: 17%;

    text-align: center;
}
.store.cart #main-content .cart-summary table tbody tr td.product-name a
{
    display: inline-block; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr td.product-name a:hover
{
    color: #fff;
}
.store.cart #main-content .cart-summary table tbody tr td.product-remove a
{
    font-size: 26px;
    font-weight: 300; 

    color: #999;
}
.store.cart #main-content .cart-summary table tbody tr td.product-remove a:hover
{
    color: #fff;
}
.store.cart #main-content .cart-summary table tbody tr td.actions
{
    padding-right: 0;
    padding-left: 0; 

    text-align: right;
}
.store.cart #main-content .cart-summary table tbody tr td .quantity input
{
    width: 45px;
    height: 40px;

    text-align: center;

    border-radius: 3px; 

    -moz-appearance: textfield;
}
.store.cart #main-content .cart-summary table tbody tr td .coupon
{
    display: inline-block;
    float: left;
}
.store.cart #main-content .cart-summary table tbody tr td .coupon label
{
    display: none;
}
.store.cart #main-content .cart-summary table tbody tr td .coupon input[type='text']
{
    display: inline-block;

    width: auto;
    min-width: 220px; 
    margin-right: 10px;
}
@media (min-width: 0) and (max-width: 640px)
{
    .store.cart #main-content .cart-summary table
    {
        display: block;
        /* Force table to not be like tables anymore */
        /* Hide table headers (but not display: none;, for accessibility) */
        /* Label the data */
    }
    .store.cart #main-content .cart-summary table thead,
    .store.cart #main-content .cart-summary table tbody,
    .store.cart #main-content .cart-summary table th,
    .store.cart #main-content .cart-summary table td,
    .store.cart #main-content .cart-summary table tr
    {
        display: block;
    }
    .store.cart #main-content .cart-summary table thead tr
    {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    .store.cart #main-content .cart-summary table tr
    {
        border: 1px solid #565757;
    }
    .store.cart #main-content .cart-summary table td
    {
        position: relative;

        padding-left: 50%; 
        /* Behave  like a "row" */

        border: none;
        border-bottom: 1px solid #eee;
    }
    .store.cart #main-content .cart-summary table td:before
    {
        white-space: nowrap;

        color: #fff;
    }
    .store.cart #main-content .cart-summary table td:nth-of-type(1):before
    {
        content: 'Product';
    }
    .store.cart #main-content .cart-summary table td:nth-of-type(2):before
    {
        content: 'Price';
    }
    .store.cart #main-content .cart-summary table td:nth-of-type(3):before
    {
        content: 'Quantity';
    }
    .store.cart #main-content .cart-summary table td:nth-of-type(4):before
    {
        content: 'Total';
    }
    .store.cart #main-content .cart-summary table input[type='text']
    {
        width: auto;
    }
}

/** Order Total */
.store.cart #main-content .order-total
{
    margin-top: 40px; 
    padding: 20px 35px;

    background: #fff;
}
.store.cart #main-content .order-total h3
{
    font-size: 24px;
    font-weight: bold; 

    color: #3a3c3d;
}
.store.cart #main-content .order-total table
{
    margin-top: 30px;
    margin-bottom: 10px;

    border: 0;
}
.store.cart #main-content .order-total table tbody
{
    font-weight: normal; 

    color: #afafaf;
}
.store.cart #main-content .order-total table tbody tr
{
    background: transparent;
}
.store.cart #main-content .order-total table tbody tr:first-child
{
    border-top: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total table tbody tr th
{
    font-weight: normal;

    text-align: left;
    vertical-align: middle;

    color: #2b2e33;
    border: 0;
    border-bottom: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total table tbody tr td
{
    padding: 14px 8px; 

    text-align: right;

    border: 0;
    border-bottom: 1px solid #e3e3e3;
}
.store.cart #main-content .order-total .calculate-shipping
{
    font-size: 10px;
    font-weight: 600;

    display: inline-block;

    margin-right: 10px;
    margin-bottom: auto;
    padding: 1px 5px;

    white-space: nowrap;
    text-transform: uppercase; 

    color: #3a3c3d;
    border-radius: 3px;
    background: #feea36;
}
.store.cart #main-content .order-total .proceed-checkout
{
    margin: 20px 0; 

    text-align: right;
}
.store.cart #main-content .order-total .proceed-checkout a
{
    margin-right: 0;
}

/** Calculate Shipping */
.store.cart #page-sidebar .shipping-info
{
    position: relative;

    padding: 30px 35px; 

    color: #3a3c3d;
    background: #e4e4e4;
}
.store.cart #page-sidebar .shipping-info:after
{
    font-size: 20px;

    position: absolute;
    top: 30px;
    right: 37px;

    width: 30px;
    height: 30px;

    content: '';

    opacity: .2; 
    color: #000;
    background: url(../../images/icons/delivery-truck5.svg);
}
.store.cart #page-sidebar .shipping-info h4
{
    margin-top: 0;
}
.store.cart #page-sidebar .shipping-info form
{
    margin-top: 30px;
    margin-bottom: 10px; 

    *zoom: 1;
}
.store.cart #page-sidebar .shipping-info form:before,
.store.cart #page-sidebar .shipping-info form:after
{
    display: table; 

    content: ' ';
}
.store.cart #page-sidebar .shipping-info form:after
{
    clear: both;
}
.store.cart #page-sidebar .shipping-info form input[type='text'],
.store.cart #page-sidebar .shipping-info form select
{
    border: 0;
    border-bottom: 1px solid #d9d9d9;
    background: #f6f6f6;
    box-shadow: none;
}
.store.cart #page-sidebar .shipping-info form select
{
    text-indent: 1px;
    text-overflow: ''; 

    background: #f6f6f6 url(../../images/select-field-arrow.png) no-repeat 95% center;

    -webkit-appearance: none;
       -moz-appearance: none;
}
.store.cart #page-sidebar .shipping-info form button
{
    margin-top: 20px; 
    margin-right: 0;

    text-shadow: none;
}

/** Single Product */
.single-product #main-content .entry
{
    margin-bottom: 32px;

    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.single-product #main-content .entry .entry-header
{
    position: relative;

    padding: 35px 40px; 

    background: #3b3c3e;
}
.single-product #main-content .entry .entry-header .title
{
    display: inline-block;
}
.single-product #main-content .entry .entry-header .title h1
{
    font-weight: bold;

    margin: 0; 

    color: #fff;
}
.single-product #main-content .entry .entry-header .title p
{
    font-size: 18px;

    color: #999;
}
.single-product #main-content .entry .entry-header .cart
{
    float: right;
}
.single-product #main-content .entry .entry-header .cart .quantity
{
    display: inline-block; 
    float: left;
}
.single-product #main-content .entry .entry-header .cart .quantity input
{
    width: 50px;
    height: 42px;

    text-align: center;

    border: 0;
    border-radius: 3px;
    background: #eee;

    -moz-appearance: textfield;
}
.single-product #main-content .entry .entry-header .cart button
{
    margin: 0 0 0 20px;
}
.single-product #main-content .entry .entry-desc
{
    padding: 20px 35px;
}
.single-product #main-content .entry .entry-desc h3
{
    font-size: 24px;
    font-weight: bold; 

    margin-top: 5px;
    margin-bottom: 10px;
}
.single-product #main-content .entry .entry-desc h3 a
{
    padding: 3px; 

    -webkit-transition: background 300ms ease-in-out 0s;
            transition: background 300ms ease-in-out 0s;

    color: #3a3c3d;
}
.single-product #main-content .entry .entry-desc h3 a:hover
{
    color: #3a3c3d;
    background: #f6f6f6;
}
.single-product #main-content .entry .entry-desc p
{
    color: #96999d;
}
.single-product #main-content .entry .entry-desc table
{
    border: 0;
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
}
.single-product #main-content .entry .entry-desc table tbody tr:first-child th,
.single-product #main-content .entry .entry-desc table tbody tr:first-child td
{
    padding-top: 20px;
}
.single-product #main-content .entry .entry-desc table tbody tr
{
    background: transparent;
}
.single-product #main-content .entry .entry-desc table tbody tr th[scope='rowgroup']
{
    width: 30%;
}
.single-product #main-content .entry .entry-desc table tbody tr th[scope='row']
{
    font-weight: normal;
}
.single-product #main-content .entry .entry-desc table tbody tr th
{
    padding: 2px 10px; 

    vertical-align: top;

    color: #3b3c3e;
}
.single-product #main-content .entry .entry-desc table tbody tr td
{
    padding: 2px 10px;

    vertical-align: middle;

    color: #999; 
    border: 0;
}
.single-product #main-content .entry .entry-desc table tbody tr:last-child th,
.single-product #main-content .entry .entry-desc table tbody tr:last-child td
{
    padding-bottom: 30px;
}
.single-product #main-content .entry .entry-meta
{
    margin: 0;
    padding: 0 36px 30px 36px;

    list-style: none;

    *zoom: 1;
}
.single-product #main-content .entry .entry-meta:before,
.single-product #main-content .entry .entry-meta:after
{
    display: table; 

    content: ' ';
}
.single-product #main-content .entry .entry-meta:after
{
    clear: both;
}
.single-product #main-content .entry .entry-meta li
{
    font-size: 15px;

    display: inline-block;
    float: right; 

    color: #96999d;
}
.single-product #main-content .entry .entry-meta li:first-child
{
    float: left;
}
.single-product #main-content .entry .entry-meta li a
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;
}
.single-product #main-content .entry .entry-meta li a i
{
    -webkit-transition: color 300ms ease-in-out 0s;
            transition: color 300ms ease-in-out 0s;

    color: #d2d6db;
}
.single-product #main-content .entry .entry-meta li a:hover
{
    color: #66696d;
}
.single-product #main-content .entry .entry-meta li a:hover i
{
    color: #66696d;
}
.single-product #main-content .entry .entry-meta li.date i
{
    font-size: 17px; 

    margin-right: 8px;
}
.single-product #main-content .entry .entry-meta li.like
{
    margin-left: 15px;
}
.single-product #main-content .entry .entry-meta li.like i
{
    font-size: 20px;

    margin-right: 5px;
}
.single-product #main-content .entry .entry-meta li.like a:hover
{
    color: #7bbb5e;
}
.single-product #main-content .entry .entry-meta li.like a:hover i
{
    color: #7bbb5e;
}
.single-product #main-content .entry .entry-meta li.comments i
{
    font-size: 18px;

    margin-right: 5px;
}

.single-product #page-sidebar .entry-media
{
    margin: 0;
}
.single-product #page-sidebar .entry-media img
{
    width: 100%;
    height: auto;
}
.single-product #page-sidebar .entry-media ul.slick-dots
{
    position: absolute;
    bottom: 10px;

    margin: 0;
}
.single-product #page-sidebar .entry-media ul.slick-dots li
{
    width: 15px;
    height: 15px; 
    margin: 0;
}
.single-product #page-sidebar .entry-media ul.slick-dots li button
{
    box-shadow: none;
}
.single-product #page-sidebar .entry-media ul.slick-dots li button:before
{
    width: 8px;
    height: 8px;

    content: '';

    opacity: 1; 
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
}
.single-product #page-sidebar .entry-media ul.slick-dots li.slick-active button:before
{
    background: #fff;
}

.single-product #page-sidebar .more-images
{
    background: #efefef;
}
.single-product #page-sidebar .more-images:before
{
    display: block;

    width: 100%;
    padding: 17px; 

    content: attr(data-more-images);
    text-align: center;

    background: #fff;
}
.single-product #page-sidebar .more-images a
{
    display: inline-block;

    max-width: 100px;
}
.single-product #page-sidebar .more-images a img
{
    width: 100%;
}
.single-product #page-sidebar .more-images a.slick-current
{
    background: transparent -webkit-repeating-linear-gradient(45deg, #43f3b7, #43f3b7 1px, #4ae5b0 1px, #4ae5b0 5px) repeat scroll 0 0;
    background: transparent repeating-linear-gradient(45deg, #43f3b7, #43f3b7 1px, #4ae5b0 1px, #4ae5b0 5px) repeat scroll 0 0;
}
.single-product #page-sidebar .more-images a.slick-current img
{
    opacity: .3;
}

/*========================================================
  7.  COMMENTS 
========================================================== */
/** Comments List */
#comments
{
    margin-top: 80px;
}
#comments h3
{
    font-size: 22px;

    margin-bottom: .5rem; 

    color: #3a3c3d;
}
#comments > p
{
    color: #96999d;
}
#comments ol.comments-list
{
    margin-top: 40px; 
    padding-left: 0;
}
#comments ol.comments-list li.comment
{
    margin-top: 30px;
    padding: 28px 35px;

    list-style: none;

    border-radius: 2px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);

    *zoom: 1;
}
#comments ol.comments-list li.comment:before,
#comments ol.comments-list li.comment:after
{
    display: table; 

    content: ' ';
}
#comments ol.comments-list li.comment:after
{
    clear: both;
}
#comments ol.comments-list li.comment .author-avatar
{
    float: left;

    width: 90px;
    margin-right: 25px;
    padding-left: 0;

    border-right: 1px solid #f2f2f2;
}
@media (min-width: 0) and (max-width: 640px)
{
    #comments ol.comments-list li.comment .author-avatar
    {
        float: none;

        border: 0;
    }
}
#comments ol.comments-list li.comment .author-avatar img
{
    display: block;
}
#comments ol.comments-list li.comment .comment-body
{
    margin-left: 115px;
}
@media (min-width: 0) and (max-width: 640px)
{
    #comments ol.comments-list li.comment .comment-body
    {
        margin-left: 0;
    }
}
#comments ol.comments-list li.comment .comment-body .meta .author
{
    font-size: 18px;

    display: block;

    color: #3a3c3d;
}
#comments ol.comments-list li.comment .comment-body .meta .time
{
    font-size: 15px;

    color: #96999d;
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link
{
    font-size: 15px;

    color: #96999d;
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link:before
{
    margin: 0 3px; 

    content: '·';
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link:hover
{
    color: #000;
}
#comments ol.comments-list li.comment .comment-body .meta .comment-reply-link:hover:before
{
    color: #7b7b7b;
}
#comments ol.comments-list li.comment .comment-body .content
{
    margin-top: 10px;
}
#comments ol.comments-list li.comment .comment-body .content p
{
    color: #96999d;
}

/** Comments Form */
#comments-form
{
    margin-top: 80px;
}
#comments-form h3
{
    font-size: 22px;

    margin-bottom: .5rem; 

    color: #3a3c3d;
}
#comments-form > p
{
    color: #96999d;
}
#comments-form form
{
    margin-top: 40px;
}
#comments-form form p
{
    margin-bottom: 14px;
}
#comments-form form input[type='text'],
#comments-form form input[type='email'],
#comments-form form input[type='url'],
#comments-form form input[type='password'],
#comments-form form input[type='search']
{
    width: 100%;
    padding: 1.3rem 2rem;

    -webkit-transition: box-shadow .3s, border .3s;
            transition: box-shadow .3s, border .3s; 

    color: #96999d;
    border: solid 5px rgba(0, 0, 0, .07);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}
#comments-form form textarea
{
    width: 100%;

    -webkit-transition: box-shadow .3s, border .3s;
            transition: box-shadow .3s, border .3s; 

    color: #96999d;
    border: solid 5px rgba(0, 0, 0, .07);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}
#comments-form form input[type='text']:focus,
#comments-form form input[type='email']:focus,
#comments-form form input[type='url']:focus,
#comments-form form input[type='password']:focus,
#comments-form form input[type='search']:focus,
#comments-form form textarea:focus
{
    border: solid 5px rgba(0, 0, 0, .1);
}
#comments-form form label
{
    display: inline-block; 

    color: #7b7d80;
}
#comments-form form ::-webkit-input-placeholder
{
    /* Safari, Chrome and Opera */
    color: #7b7b7b;
}
#comments-form form :-moz-placeholder
{
    /* Firefox 18- */
    color: #7b7b7b;
}
#comments-form form ::-moz-placeholder
{
    /* Firefox 19+ */
    color: #7b7b7b;
}
#comments-form form :-ms-input-placeholder
{
    /* IE 10+ */
    color: #7b7b7b;
}
#comments-form form ::-ms-input-placeholder
{
    /* Edge */
    color: #7b7b7b;
}
#comments-form form :placeholder-shown
{
    /* Standard one last! */
    color: #7b7b7b;
}

/*========================================================
 8.  FORMS 
========================================================== */
/*---------------------------------------------------------
 General (_forms.scss)
-------------------------------------------------------- */
input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
select,
textarea
{
    display: block;

    width: 100%;
    margin: 0;
    margin-bottom: 1.4rem;
    padding: 1.2rem 2rem;

    vertical-align: baseline;

    color: #96999d;
    border: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-radius: 3px;
    background: rgba(0, 0, 0, .07);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07);
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
select:focus,
textarea:focus
{
    outline: medium none;
}

/*---------------------------------------------------------
 Buttons (_forms.scss)
-------------------------------------------------------- */
input[type='submit'],
button,
.button,
input[type='button']
{
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 24px;

    display: inline-block;

    margin-top: 10px;
    padding: 9px 23px;

    -webkit-transition: all 300ms ease-in-out 0s;
            transition: all 300ms ease-in-out 0s; 

    color: #3c3c3c;
    border: none;
    border-radius: 3px;
    background: #ffd46e url(../../images/button-glass.png) repeat-x 0 0;
    text-shadow: #fff0ac 0 1px 0;
}

input[type='submit']:hover,
button:hover,
.button:hover,
input[type='button']:hover
{
    color: #545454; 
    background: #fffda5;
}

input[type='submit']:active,
button:active,
.button:active,
input[type='button']:active
{
    position: relative;
    top: 1px;
}

/*---------------------------------------------------------
 Labels (_forms.scss)
-------------------------------------------------------- */
label
{
    font-size: 1.6rem;
    line-height: 46px;

    display: inline-block; 

    color: #888;
}
label span.required
{
    color: #f26c4f;
}

/*---------------------------------------------------------
 Placeholders (_forms.scss)
-------------------------------------------------------- */
:placeholder-shown
{
    font-style: italic; 
    /* Standard one last! */

    color: rgba(0, 0, 0, .3);
}

/*===================================================================*/
/* BUTTON STYLES 
/*===================================================================*/
.trend-button
{
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: normal;

    display: inline-block;

    margin-top: 15px;
    margin-right: 15px;
    padding: 9px 23px;

    -webkit-transition: .2s all ease;
            transition: .2s all ease; 

    color: #fff;
    border: none;
    border-bottom: solid 1px #f5e383;
    border-radius: 3px;
    background: #ffd46e url(../../images/button-glass.png) repeat-x 0 0;
}

.trend-button:hover
{
    color: #fff; 
    background-color: #fffda5;
}

.trend-button:active
{
    position: relative;
    top: 1px;

    box-shadow: #dcb759 0 1px 0;
}

/* BUTTON COLORS */
.trend-button.black
{
    border-color: #000;
    background: #333;
    box-shadow: #141414 0 2px 0;
}

.trend-button.black:hover
{
    border-color: #3c3c3c; 
    background-color: #3c3c3c;
}

.trend-button.grey
{
    border-color: #4e4e4e; 
    background-color: #666;
}

.trend-button.grey:hover
{
    border-color: #919191; 
    background-color: #7bbb5e;
}

.trend-button.green
{
    background: #7fc33c;
}

.trend-button.green:hover
{
    background: #8dd242;
}

.trend-button.blue
{
    border-color: #0b7095;
    background: #2caada;
    box-shadow: #2681a2 0 2px 0;
}

.trend-button.blue:hover
{
    border-color: #2681a2; 
    background: #32bcef;
}

.trend-button.yellow
{
    border-color: #c79a0b;
    background: #fcc71f;
    box-shadow: #c29300 0 2px 0;
}

.trend-button.yellow:hover
{
    border-color: #ffcf38; 
    background: #ffcf38;
}

.trend-button.red
{
    border-color: #771800;
    background: #e3514a;
    box-shadow: #c02a05 0 2px 0;
}

.trend-button.red:hover
{
    border-color: #ab4b44; 
    background: #ff5e56;
}

.trend-button.purple
{
    border-color: #996192;
    background: #d17ac6;
    box-shadow: #996192 0 2px 0;
}

.trend-button.purple:hover
{
    border-color: #996192; 
    background: #eb90e0;
}

.trend-button.orange
{
    border-color: #bd2e0b;
    background: #ff7654;
    box-shadow: #e44c26 0 2px 0;
}

.trend-button.orange:hover
{
    border-color: #ff8262; 
    background: #ff8262;
}

.trend-button.pink
{
    border-color: #fda5c5;
    background: #ffadcb;
    box-shadow: #fda5c5 0 2px 0;
}

.trend-button.pink:hover
{
    border-color: #ffb5d0; 
    background: #ffb5d0;
}

/*===================================================================*/
/* TOGGLES
/*===================================================================*/
.trend-toggle
{
    margin-top: 10px;
}

.trend-toggle:first-child
{
    margin-top: 35px;
}

.trend-toggle-heading
{
    background: #f1f1f1;
}

.trend-toggle-heading
{
    cursor: pointer;

    outline: none;
}

.trend-toggle-heading p
{
    margin: 0;
}

.trend-toggle-title > a
{
    display: block;

    padding: 14px 20px; 

    text-decoration: none;
}

.trend-toggle-title > a:hover
{
    color: #000;
}

.trend-toggle-content
{
    padding: 15px 20px;

    color: #96999d; 
    border: 1px solid #f2f2f2;
    border-top: 0;
}

.collapse
{
    display: none;
}

.collapse.open
{
    display: block;
}

.trend-toggle-title > a:before
{
    font-family: 'FontAwesome';
    font-size: 14px;
    font-weight: 300;

    margin-right: 18px; 

    content: '\f067';
}

.active .trend-toggle-title > a:before
{
    content: '\f068';
}

/*===================================================================*/
/* TABS
/*===================================================================*/
.trend-tabs
{
    margin-top: 30px;
}

.trend-tab-headings
{
    z-index: 400;

    display: block;

    width: 100%;
    margin: 10px 0 0 0;
    padding: 0;

    *zoom: 1;
}
.trend-tab-headings:before,
.trend-tab-headings:after
{
    display: table; 

    content: ' ';
}
.trend-tab-headings:after
{
    clear: both;
}

.trend-tab-headings > li
{
    float: left;

    margin-bottom: 10px; 

    list-style: none;
}

.trend-tab-headings > li > a
{
    margin-right: 5px;
    padding: 15px 20px;

    border-radius: 2px 2px 0 0;
}

.trend-tab-headings > li.active > a,
.trend-tab-headings > li.active > a:hover,
.trend-tab-headings > li.active > a:focus
{
    cursor: default;
    text-decoration: none;

    border-bottom-color: transparent; 
    background-color: #f1f1f1;
}

.trend-tab-headings > li > a:hover
{
    color: #000;
}

.trend-tab-body
{
    z-index: 300; 

    float: left;

    padding: 15px 20px;

    opacity: 0;
    border-top: 0;
    background: #f1f1f1;
}

.trend-tab-body.open
{
    opacity: 1;
}

.trend-tab-contents
{
    float: left;

    width: 100%;
    margin-bottom: 50px;

    color: #96999d; 
    background-color: #000;
}

.trend-tab-contents > .trend-tab-body
{
    display: none;
}

.trend-tab-contents > .open
{
    display: block;
}

@media only screen and (max-width: 400px)
{
    .trend-tab-headings > li
    {
        margin-bottom: 0;
    }
    .trend-tab-headings > li > a
    {
        margin-right: 1px;
        padding: 7px 7px;
    }
    .trend-tab-body
    {
        padding: 7px;
    }
}

/*===================================================================*/
/* HIGHLIGHT
/*===================================================================*/
span.highlight
{
    font-style: italic; 

    padding: 2px 5px;

    color: #a5651a;
    background-color: #fff49b;
}

/*===================================================================*/
/* ALERTS
/*===================================================================*/
.trend-alert
{
    line-height: 25px; 

    position: relative;

    margin: 20px 0 0 0;
    padding: 18px 20px;

    color: #fff;
    border-radius: 2px;
    background-color: #888;
}

.trend-alert.note
{
    color: #846f44; 
    background: #fdf8e4;
}

.trend-alert.info
{
    color: #2e6d8e; 
    background: #d9edf6;
}

.trend-alert.success
{
    color: #417044; 
    background: #def0d8;
}

.trend-alert.error
{
    color: #ac4641; 
    background: #f2dedf;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwiX2NvbnRlbnRzLnNjc3MiLCJfYmFzZS5zY3NzIiwiX3ByZWJvb3Quc2NzcyIsInNraW5zL19kZWZhdWx0LnNjc3MiLCJfZ3JpZC5zY3NzIiwibGliL3N1c3kvc3VzeS9sYW5ndWFnZS9zdXN5L19ib3gtc2l6aW5nLnNjc3MiLCJsaWIvc3VzeS9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsImxpYi9icmVha3BvaW50L19icmVha3BvaW50LnNjc3MiLCJsaWIvc3VzeS9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRhaW5lci5zY3NzIiwibGliL3N1c3kvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsImxpYi9zdXN5L3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwibGliL3N1c3kvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsImxpYi9zdXN5L3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3V0dGVycy5zY3NzIiwiX21peGlucy5zY3NzIiwiX3NjYWZmb2xkaW5nLnNjc3MiLCJfc2lkZWJhci5zY3NzIiwiX3BvcnRmb2xpby5zY3NzIiwiX2Jsb2cuc2NzcyIsIl9zdG9yZS5zY3NzIiwiX2NvbW1lbnRzLnNjc3MiLCJfZm9ybXMuc2NzcyIsIl9zaG9ydGNvZGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7O3FFQU9xRTtBQ1ByRTs7Ozs7Ozs7Ozs7bUVBV21FO0FDWG5FOzs2REFFNkQ7QUFFNUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxnQ0NOd0M7RURPeEMsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsZUVOb0I7RUZPcEIsdUVFVHdFLEVGVXhFOztBQUVEO0VBQ0UsdUJBQXVCLEVBQ3hCOztBQUVEO0VBQ0ksWUFBWTtFQUNaLG9CQUFvQixFQUN2Qjs7QUFIRDtFQUNJLFlBQVk7RUFDWixvQkFBb0IsRUFDdkI7O0FBRUYsdUJBQXVCO0FBQ3ZCLHlEQUF5RDtBQUV4RDtFQUNDLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsZ0JBQWdCLEVBS2hCO0VBUkQ7SUFNRSxZRWIwQixFRmMxQjs7QUFHRixlQUFlO0FBQ2Y7RUFDQyxnQ0N2Q3dDO0VEd0N4QyxvQkFBb0I7RUFDcEIsZUVyQ3VCO0VGc0N2QixzQkFBc0IsRUFDdEI7O0FBRUQ7RUFBSyxrQkFBa0IsRUFBSTs7QUFDM0I7RUFBSyxrQkFBa0IsRUFBSTs7QUFDM0I7RUFBSyxnQkFBZ0IsRUFBSTs7QUFDekI7RUFBSyxrQkFBa0IsRUFBSTs7QUFDM0I7RUFBSyxrQkFBa0IsRUFBSTs7QUFDM0I7RUFBSyxrQkFBa0IsRUFBSTs7QUFFM0IsaUJBQWlCO0FBQ2pCO0VBQUksbUJBQW9CO0VBQUUsZUVoREwsRUZnRDBCOztBQUMvQztFQUFlLGlCQUFpQixFQUFJOztBQUVwQyxrQkFBa0I7QUFDbEI7RUFDQywwQkFBMEI7RUFDMUIsY0FBYztFQUNkLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLCtCQUErQixFQUMvQjs7QUFFRDtFQUF5QixjQUFjLEVBQUk7O0FBRzVDLGtCQUFrQjtBQUNsQix5REFBeUQ7QUFFeEQ7RUFDRSxvQkFBb0I7RUFDcEIsZUFBZSxFQUNoQjs7QUFFRDtFQUNFLDBCQUEwQixFQUMzQjs7QUFDRDtFQUNJLDJCQUEyQixFQUM5Qjs7QUFFRDs7RUFFRSxtQkFBbUIsRUFDcEI7O0FBRUQ7RUFDSSxrQkFBa0IsRUFDckI7O0FBQ0Q7RUFDRSxpQkFBaUIsRUFDbEI7O0FBR0YseUJBQXlCO0FBQ3pCLHlEQUF5RDtBQUd4RDtFQUNFLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsMEJBQTBCO0VBQzFCLFVBQVU7RUFDViwrQkFBNkIsRUFDOUI7O0FBRUQ7RUFDRSxZQUFZLEVBQ2I7O0FBRUQ7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7O0VBRUUsZUFBZTtFQUNmLGlCQUFpQixFQUNsQjs7QUFFRDs7O0VBR0UsbUJBQW1CLEVBQ3BCOztBQUVEOztFQUVFLGlCQUFpQixFQUNsQjs7QUFHRixrQkFBa0I7QUFDbEIseURBQXlEO0FBRXhEO0VBQ0UsWUFBWTtFQUNaLDBCQUF3QjtFQUN4QixVQUFVO0VBQ1YsWUFBWTtFQUNaLGVBQWUsRUFDaEI7O0FBR0YsZ0JBQWdCO0FBQ2hCLHlEQUF5RDtBQUV4RDtFQUNDLG1CQUFtQjtFQUNuQixnQ0FBZ0I7RUFDaEIsb0RBQW9EO0VBQ3BELGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFZO0lBQVosZUFBWTtPQUFaLFlBQVksRUFDWjs7QUFFRDtFQUNDLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsT0FBTztFQUNQLGFBQWE7RUFDYiwyQkFBMkI7RUFDM0IsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixXQUFXLEVBQ1g7O0FBRUQ7RUFBcUIsMEVBQTJFLEVBQUU7O0FBR25HLGtCQUFrQjtBQUNsQix5REFBeUQ7QUFFeEQ7RUFDQyxZQUFZO0VBQ1osc0NBQXVCO0VBQ3ZCLGVBQWU7RUFDZixnQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxjQUFjO0VBQ2QsaUJBQWlCLEVBQ2pCOztBQUVEO0VBQWMsZ0NBQWdCLEVBQW1COztBQUVqRDtFQUFpQixrQkFBa0IsRUFBSTs7QUFFdkM7RUFBVyw2Q0FBNkIsRUFBbUI7O0FBRTNEO0VBQXlCLG9CQUFvQixFQUFJOztBQUVqRDtFQUEyQixnQ0FBZ0IsRUFBbUI7O0FBRy9ELGlCQUFpQjtBQUNqQix5REFBeUQ7QUFFeEQ7RUFDQyxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFlBQVksRUFDWjs7QUd2TkY7OzZEQUU2RDtBQ2tCekQ7RUNEQSx1QkRlbUMsRUFkMkI7O0FESGxFLHdCQUF3QjtBQUN4Qix5REFBeUQ7QUc4Q3JEO0VINUNIO0lFREcsaUJGRXFEO0lFRnJELGtCRXFEb0M7SUZyRHBDLG1CRXFEbUUsRUo1QnJFO0lBeEJEO01LUkssYUFBYTtNQUNiLGVBQWU7TUFDZixZQUFZLEVBQ2IsRUFBQTs7QUZpREQ7RUg1Q0g7SUVERyxpQkZHcUQ7SUVIckQsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjVCckU7SUF4QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLGtCRlhlO0lFV2Ysa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjVCckU7SUF4QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLGtCRksyRDtJRUwzRCxrQkVxRG9DO0lGckRwQyxtQkVxRG1FLEVKNUJyRTtJQXhCRDtNS1JLLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQUNiLEVBQUE7O0FGaUREO0VINUNIO0lFREcsa0JGTTBEO0lFTjFELGtCRXFEb0M7SUZyRHBDLG1CRXFEbUUsRUo1QnJFO0lBeEJEO01LUkssYUFBYTtNQUNiLGVBQWU7TUFDZixZQUFZLEVBQ2IsRUFBQTs7QUZpREQ7RUg1Q0g7SUVERyxrQkZPMkQ7SUVQM0Qsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSjVCckU7SUF4QkQ7TUtSSyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDVDSDtJRURHLFlJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUnBFbkIsRUFBQTs7QUc0QkM7RUg1Q0g7SUVERyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJwRW5CLEVBQUE7O0FHNEJDO0VINUNIO0lFREcsV0l3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVScEVuQixFQUFBOztBRzRCQztFSDVDSDtJRURHLFdJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUnBFbkIsRUFBQTs7QUc0QkM7RUg1Q0g7SUVERyxlSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJwRW5CLEVBQUE7O0FHNEJDO0VINUNIO0lFREcsYUl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVScEVuQixFQUFBOztBRzRCQztFSDVDSDtJRURHLFlJd0lvQjtJSnhJcEIsWUtBNEQsRVB3QjdELEVBQUE7O0FHcUJDO0VINUNIO0lFREcsV0l3SW9CO0lKeElwQixZS0E0RCxFUHdCN0QsRUFBQTs7QUdxQkM7RUg1Q0g7SUVERyxXSXdJb0I7SUp4SXBCLFlLQTRELEVQd0I3RCxFQUFBOztBR3FCQztFSDVDSDtJRURHLGVJd0lvQjtJSnhJcEIsWUtBNEQsRVB3QjdELEVBQUE7O0FHcUJDO0VINUNIO0lFREcsYUl3SW9CO0lKeElwQixZS0E0RCxFUHdCN0QsRUFBQTs7QUFJSCxzQkFBc0I7QUFDdEIseURBQXlEO0FHZ0JyRDtFSGRIOztJRS9CRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVI1Q25CLEVBQUE7O0FHSUM7RUhkSDs7SUUvQkcsV0l3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSNUNuQixFQUFBOztBR0lDO0VIZEg7O0lFL0JHLGlCSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVI1Q25CLEVBQUE7O0FHSUM7RUhkSDs7SUUvQkcsV0l3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSNUNuQixFQUFBOztBR0lDO0VIZEg7O0lFL0JHLFdJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUjVDbkIsRUFBQTs7QUdJQztFSGRIOztJRS9CRyxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxzQk1xRmtCO0lOckZsQix1Qk1xRmtCLEVSNUNuQixFQUFBOztBQUlILDRCQUE0QjtBQUM1Qix5REFBeUQ7QUFFeEQ7R1NoREcsUUFBUyxFVG9HWDtFQXBERDtJUzdDTyxhQUFhO0lBQ2IsZUFBZSxFQUNsQjtFVDJDSjtJU3pDTyxZQUFZLEVBQ2Y7RU5xQ0Q7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJsQm5CLEVBQUE7RUd0QkM7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJsQm5CLEVBQUE7RUd0QkM7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJsQm5CLEVBQUE7RUd0QkM7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJsQm5CLEVBQUE7RUd0QkM7SUhHSDtNRWhERyxXSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJsQm5CLEVBQUE7RUd0QkM7SUhHSDtNRWhERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSbEJuQixFQUFBO0VHdEJDO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RCxFUDhENUQsRUFBQTtFR2pCQTtJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTRELEVQOEQ1RCxFQUFBO0VHakJBO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RCxFUGtFNUQsRUFBQTtFR3JCQTtJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTRELEVQa0U1RCxFQUFBO0VHckJBO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSUGxCLEVBQUE7RUdqQ0E7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJQbEIsRUFBQTtFR2pDQTtJSEdIO01FaERHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUlBsQixFQUFBO0VHakNBO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSUGxCLEVBQUE7RUdqQ0E7SUhHSDtNRWhERyxXSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJQbEIsRUFBQTtFR2pDQTtJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJQbEIsRUFBQTtFR2pDQTtJSEdIO01FaERHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUkhsQixFQUFBO0VHckNBO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSS25CLEVBQUE7RUc3Q0M7SUhHSDtNRWhERyxZSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJLbkIsRUFBQTtFRzdDQztJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJLbkIsRUFBQTtFRzdDQztJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJLbkIsRUFBQTtFRzdDQztJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJLbkIsRUFBQTtFRzdDQztJSEdIO01FaERHLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVJLbkIsRUFBQTtFRzdDQztJSEdIO01FaERHLFlJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQixFUmFuQixFQUFBO0VHckRDO0lIR0g7TUVoREcsWUl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSYW5CLEVBQUE7RUdyREM7SUhHSDtNRWhERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSYW5CLEVBQUE7RUdyREM7SUhHSDtNRWhERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSYW5CLEVBQUE7RUdyREM7SUhHSDtNRWhERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSYW5CLEVBQUE7RUdyREM7SUhHSDtNRWhERyxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVSYW5CLEVBQUE7O0FBTUgsaUJBQWlCO0FBQ2pCLHlEQUF5RDtBRzVEckQ7RUg4REg7SUUzR0csaUJGNEdxRDtJRTVHckQsa0JFcURvQztJRnJEcEMsbUJFcURtRSxFSnlEckU7SUFIRDtNS2xISyxhQUFhO01BQ2IsZUFBZTtNQUNmLFlBQVksRUFDYixFQUFBOztBRmlERDtFSDhESDtJRTNHRyxpQkY2R3FEO0lFN0dyRCxrQkVxRG9DO0lGckRwQyxtQkVxRG1FLEVKeURyRTtJQUhEO01LbEhLLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQUNiLEVBQUE7O0FGaUREO0VIbUVIOztJRWhIRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJvQ3BCLEVBQUE7O0FHNUVFO0VIbUVIOztJRWhIRyxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHNCTXFGa0I7SU5yRmxCLHVCTXFGa0IsRVJvQ3BCLEVBQUE7O0FHNUVFO0VIbUVIOztJRWhIRyxZSXdJb0I7SUp4SXBCLFlL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QUNDLGVBQWUsRUFDZjs7QUFFRDtFQUdDO0lBQ0MsbUJBQW1CLEVBQ25CO0VBRUQ7SUFDQyxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQ2pCO0VBRUQ7SUFDQyxhQUFhLEVBQ2IsRUFBQTs7QUFLRix1RUFBdUU7QUFDdkU7dUVBQ3VFO0FBRXZFO0VBQ0MsMEJBQTBCO0VBQzFCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsbUJBQW1CLEVBQ25COztBQUdELHVFQUF1RTtBQUN2RTt1RUFDdUU7QUFFdkU7RUFDQyx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFDbEI7O0FBRUQ7RUFBcUIsb0JBQW9CO0VBQUUsZUFBZSxFQUFJOztBQUM5RDtFQUFxQixvQkFBb0I7RUFBRSxlQUFlLEVBQUk7O0FBQzlEO0VBQXVCLG9CQUFvQjtFQUFFLGVBQWUsRUFBSTs7QUFDaEU7RUFBdUIsb0JBQW9CO0VBQUUsZUFBZSxFQUFJIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltNYXN0ZXIgU3R5bGVzaGVldF1cblxuUHJvamVjdDpcdFx0TWVzaGFibGUgLSBHcmlkIEJhc2VkIFBvcnRmb2xpbyBhbmQgQmxvZyBIVE1MIFRlbXBsYXRlXG5WZXJzaW9uOlx0XHQxLjBcbkF1dGhvcjogXHRcdE11aGFtYW1kIEZhaXNhbFxuQXV0aG9yIFVSSTogXHRodHRwOi8vdGhlbWVzaGFzaC5jb20vXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIENvbnRlbnRzIChfY29udGVudHMuc2NzcylcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4xLiBCYXNlXHJcbjIuIEdyaWRcclxuMy4gU2NhZmZvbGRpbmdcclxuNC4gU2lkZWJhclxyXG41LiBQb3J0Zm9saW9cclxuNi4gQmxvZ1xyXG43LiBDb21tZW50c1xyXG44LiBGb3JtXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAxLiAgQkFTRSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjN0I3RDgwO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyIHVybChcIi4uLy4uL2ltYWdlcy9saW5lLnBuZ1wiKSBuby1yZXBlYXQgZml4ZWQgMCUgMCU7IH1cblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNGQkYyODU7IH1cblxuLyoqID09IFRZUE9HUkFQSFkgPT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4vKiogSGVhZGluZ3MgKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjM2EzYzNkO1xuICBtYXJnaW46IDFyZW0gMCAxLjVyZW07IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuOHJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAycmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbi8qKiBQYXJhZ3JhcGhzICovXG5wIHtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICBjb2xvcjogIzdCN0Q4MDsgfVxuXG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qKiBCbG9ja3F1b3RlcyAqL1xuYmxvY2txdW90ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0UxRTFFMTsgfVxuXG5ibG9ja3F1b3RlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiogPT0gTElTVFMgPT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsIG9sLCBkbCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlIGluc2lkZTsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWwgaW5zaWRlOyB9XG5cbnVsIHVsLFxub2wgb2wge1xuICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cblxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kZCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLyoqID09IEJMT0NLIFFVT1RFUyA9PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogNDBweCA0MHB4IDQwcHggMDtcbiAgcGFkZGluZzogMTVweCAwIDE1cHggNDBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICNjY2NjY2M7IH1cblxuYmxvY2txdW90ZSBwIHtcbiAgY29sb3I6ICNhYWE7IH1cblxuYmxvY2txdW90ZSA+IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBjaXRlLFxuYmxvY2txdW90ZSBzbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbmJsb2NrcXVvdGUgZW0sXG5ibG9ja3F1b3RlIGksXG5ibG9ja3F1b3RlIGNpdGUge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuYmxvY2txdW90ZSBzdHJvbmcsXG5ibG9ja3F1b3RlIGIge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qKiA9PSBSVUxFUyA9PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDVyZW0gMDsgfVxuXG4vKiogPT0gUFJFID09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnByZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgZm9udC1mYW1pbHk6IFwiQ291cmllciAxMCBQaXRjaFwiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS42ZW07XG4gIHBhZGRpbmc6IDMlIDUlIDMlIDEwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGFiLXNpemU6IDQ7IH1cblxucHJlOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7XG4gIGJhY2tncm91bmQ6ICNCQkMzQ0M7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwIDNweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB6LWluZGV4OiA1OyB9XG5cbmNvZGUsIGtiZCwgdHQsIHZhciB7XG4gIGZvbnQ6IDE1cHggTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlOyB9XG5cbi8qKiA9PSBUQUJMRSA9PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IGRvdHRlZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwYWRkaW5nOiAxJSAzJTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbnRhYmxlIHRkLCB0YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbnRhYmxlIHRoZWFkIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUgdGQge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG50YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG50YWJsZSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi8qKiA9PSBNSVNDID09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBsaW5lLWhlaWdodDogMXB4O1xuICBoZWlnaHQ6IDFweDsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgMi4gIEdSSUQgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqID09IFNDQUZGT0xESU5HID09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgI3NpdGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNzaXRlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI3NpdGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNzaXRlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3NpdGUtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgI3NpdGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAjc2l0ZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAjc2l0ZS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTc4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNzaXRlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyNDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3NpdGUtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgI3NpdGUtY29udGFpbmVyICNnbG9iYWwtc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI3NpdGUtY29udGFpbmVyICNnbG9iYWwtc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciAjZ2xvYmFsLXNpZGViYXIge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciAjZ2xvYmFsLXNpZGViYXIge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciAjZ2xvYmFsLXNpZGViYXIge1xuICAgIHdpZHRoOiAxNS42MjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAjc2l0ZS1jb250YWluZXIgI2dsb2JhbC1zaWRlYmFyIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAjc2l0ZS1jb250YWluZXIgI3ByaW1hcnktY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICNzaXRlLWNvbnRhaW5lciAjcHJpbWFyeS1jb250ZW50IHtcbiAgICB3aWR0aDogNzUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAjc2l0ZS1jb250YWluZXIgI3ByaW1hcnktY29udGVudCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgI3NpdGUtY29udGFpbmVyICNwcmltYXJ5LWNvbnRlbnQge1xuICAgIHdpZHRoOiA4NC4zNzUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAjc2l0ZS1jb250YWluZXIgI3ByaW1hcnktY29udGVudCB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLyoqID09IFBPUlRGT0xJTyA9PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICNwb3J0Zm9saW8tZ3JpZCAuZW50cnksXG4gICNzdG9yZS1ncmlkIC5lbnRyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI3BvcnRmb2xpby1ncmlkIC5lbnRyeSxcbiAgI3N0b3JlLWdyaWQgLmVudHJ5IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5LFxuICAjc3RvcmUtZ3JpZCAuZW50cnkge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gICNwb3J0Zm9saW8tZ3JpZCAuZW50cnksXG4gICNzdG9yZS1ncmlkIC5lbnRyeSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgI3BvcnRmb2xpby1ncmlkIC5lbnRyeSxcbiAgI3N0b3JlLWdyaWQgLmVudHJ5IHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5LFxuICAjc3RvcmUtZ3JpZCAuZW50cnkge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG4vKiogPT0gUFJJTUFSWSBDT05URU5UID09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNwcmltYXJ5LWNvbnRlbnQge1xuICAqem9vbTogMTsgfVxuICAjcHJpbWFyeS1jb250ZW50OmJlZm9yZSwgI3ByaW1hcnktY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICNwcmltYXJ5LWNvbnRlbnQ6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICN0b3AtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3RvcC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3RvcC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3RvcC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3RvcC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgI3ByaW1hcnktY29udGVudCAjdG9wLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDcxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI3ByaW1hcnktY29udGVudCAjdG9wLWNvbnRlbnQgLnN1bW1hcnkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICN0b3AtY29udGVudCAuc3VtbWFyeSB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3RvcC1jb250ZW50IC5za2lsbHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICN0b3AtY29udGVudCAuc2tpbGxzIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQuZnVsbC13aWR0aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudC5mdWxsLXdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudC5mdWxsLXdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudC5mdWxsLXdpZHRoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudC5mdWxsLXdpZHRoIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50LmZ1bGwtd2lkdGgge1xuICAgICAgd2lkdGg6IDcxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQuZmxleGlibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCB7XG4gICAgICB3aWR0aDogNTMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCB7XG4gICAgICB3aWR0aDogNDguMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3BhZ2Utc2lkZWJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwcmltYXJ5LWNvbnRlbnQgI3BhZ2Utc2lkZWJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNwYWdlLXNpZGViYXIge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNwYWdlLXNpZGViYXIge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNwYWdlLXNpZGViYXIge1xuICAgICAgd2lkdGg6IDI2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgICAjcHJpbWFyeS1jb250ZW50ICNwYWdlLXNpZGViYXIge1xuICAgICAgd2lkdGg6IDIzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG5cbi8qKiA9PSBNSVNDID09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnNsaWNrbmF2X25hdiB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAuc2xpY2tuYXZfbmF2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuc2xpY2tuYXZfbmF2IHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5zbGlja25hdl9uYXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAucG9ydGZvbGlvICNsb2FkLW1vcmUsXG4gIC5zdG9yZSAjbG9hZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucG9ydGZvbGlvICNsb2FkLW1vcmUsXG4gIC5zdG9yZSAjbG9hZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnBvcnRmb2xpbyAjbG9hZC1tb3JlLFxuICAuc3RvcmUgI2xvYWQtbW9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC5wb3J0Zm9saW8gI2xvYWQtbW9yZSxcbiAgLnN0b3JlICNsb2FkLW1vcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTYuMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAucG9ydGZvbGlvICNsb2FkLW1vcmUsXG4gIC5zdG9yZSAjbG9hZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTYuMjVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgLnBvcnRmb2xpbyAjbG9hZC1tb3JlLFxuICAuc3RvcmUgI2xvYWQtbW9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi4yNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjI1cHg7IH0gfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgMy4gIFNDQUZGT0xESU5HIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc2l0ZS1jb250YWluZXIge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjc2l0ZS1jb250YWluZXIgI2dsb2JhbC1zaWRlYmFyID4gKjpub3QoI3NpdGUtaGVhZGVyKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqIFNpdGUgSGVhZGVyICovXG4jc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI3NpdGUtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAjc2l0ZS1oZWFkZXIgI3NpdGUtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICNzaXRlLWhlYWRlciAjc2l0ZS1sb2dvIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjc2l0ZS1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNENEQ0RDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG5cbi8qKiBTb2NpYWwgSWNvbnMgKi9cbi5zb2NpYWwtaWNvbnMge1xuICBtYXJnaW46IDIwcHggMCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNvY2lhbC1pY29ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnNvY2lhbC1pY29ucyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogI0I0QjRCNDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgIC5zb2NpYWwtaWNvbnMgbGkuZmFjZWJvb2sgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNiNTk5ODsgfVxuICAgIC5zb2NpYWwtaWNvbnMgbGkudHdpdHRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTVhY2VlOyB9XG4gICAgLnNvY2lhbC1pY29ucyBsaS5kZXZpYW50YXJ0IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM0ZGM0N2Q7IH1cbiAgICAuc29jaWFsLWljb25zIGxpLnZpbWVvIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMxYWI3ZWE7IH1cblxuLyoqIFByaW1hcnkgQ29udGVudCAqL1xuI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IC53cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDIwcHggMzVweDsgfVxuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1oZWFkZXIgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICMzYTNjM2Q7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IC53cmFwcGVyIC5mZWF0dXJlZC1tZWRpYSBpbWcge1xuICAgIHdpZHRoOiA5OS44JTtcbiAgICBtYXJnaW46IDFweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQgLndyYXBwZXIgLmNvbnRlbnQtYm9keSB7XG4gICAgcGFkZGluZzogMjhweCAzNXB4IDQwcHggMzVweDsgfVxuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1ib2R5ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1ib2R5IGgxLCAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQgLndyYXBwZXIgLmNvbnRlbnQtYm9keSBoMiwgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IC53cmFwcGVyIC5jb250ZW50LWJvZHkgaDMsICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1ib2R5IGg0LCAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQgLndyYXBwZXIgLmNvbnRlbnQtYm9keSBoNSwgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IC53cmFwcGVyIC5jb250ZW50LWJvZHkgaDYge1xuICAgICAgY29sb3I6ICMzYTNjM2Q7IH1cbiAgICAjcHJpbWFyeS1jb250ZW50ICNtYWluLWNvbnRlbnQgLndyYXBwZXIgLmNvbnRlbnQtYm9keSBwIHtcbiAgICAgIGNvbG9yOiAjOTY5OTlkOyB9XG4gICAgI3ByaW1hcnktY29udGVudCAjbWFpbi1jb250ZW50IC53cmFwcGVyIC5jb250ZW50LWJvZHkgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwcmltYXJ5LWNvbnRlbnQgI21haW4tY29udGVudCAud3JhcHBlciAuY29udGVudC1ib2R5ICNhd2FyZHMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNwcmltYXJ5LWNvbnRlbnQgI3BhZ2Utc2lkZWJhciAuaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNENEQ0RDQ7IH0gfVxuXG4vKiogTW9iaWxlIE5hdiAqL1xuLnNsaWNrbmF2X21lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGlja25hdl9tZW51IC5zbGlja25hdl9tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5zbGlja25hdl9tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zbGlja25hdl9tZW51IHtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2tuYXZfbWVudSAuc2xpY2tuYXZfYnRuIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgIGJhY2tncm91bmQ6ICMzQjNDM0U7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5zbGlja25hdl9tZW51IC5zbGlja25hdl9idG4gPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnNsaWNrbmF2X21lbnUgLnNsaWNrbmF2X2J0biAuc2xpY2tuYXZfaWNvbiB7XG4gICAgICBoZWlnaHQ6IDAuNjc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC43MzhlbTsgfVxuXG4uc2xpY2tuYXZfbmF2IHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG5cbi8qKiBDYXJ0IENvdW50ICovXG4jY2FydC1jb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZlZWEzNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjY2FydC1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI2NhcnQtY291bnQgaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgICNjYXJ0LWNvdW50IGkgLmNvdW50IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIGJhY2tncm91bmQ6ICNkMzExMTI7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4OyB9XG5cbi8qKiBMb2FkIE1vcmUgKi9cbiNsb2FkLW1vcmUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgI2xvYWQtbW9yZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjYTlhOWE5IHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1pbi1vdXQgMHM7IH1cbiAgICAjbG9hZC1tb3JlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuXG4vKiogR28gVG8gVG9wICovXG4jZ28tdG8tdG9wIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgei1pbmRleDogOTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA2MHB4O1xuICBiYWNrZ3JvdW5kOiAjYTlhOWE5IHVybChcIi4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nXCIpIHJlcGVhdC14IHNjcm9sbCAwcHggMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI2dvLXRvLXRvcCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2dvLXRvLXRvcCB7XG4gICAgICBsZWZ0OiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICNnby10by10b3Age1xuICAgICAgbGVmdDogMTE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2dvLXRvLXRvcCB7XG4gICAgICBsZWZ0OiAxNTBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgICAjZ28tdG8tdG9wIHtcbiAgICAgIGxlZnQ6IDY1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gICAgI2dvLXRvLXRvcCB7XG4gICAgICBsZWZ0OiA4MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICNnby10by10b3Age1xuICAgICAgbGVmdDogODdweDsgfSB9XG4gICNnby10by10b3A6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTkxOTE7IH1cbiAgI2dvLXRvLXRvcCBpIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDQuICBTSURFQkFSIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jYmxvZy1zaWRlYmFyIC53aWRnZXQ6Zmlyc3QtY2hpbGQgaDMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qKiBHZW5lcmFsIFdpZGdldCAqL1xuLndpZGdldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLndpZGdldDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI0Q0RDRENDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLndpZGdldDpudGgtbGFzdC1jaGlsZCgxKTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLndpZGdldCBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjM2EzYzNkOyB9XG4gIC53aWRnZXQgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLyoqIFNlYXJjaCBXaWRnZXQgKi9cbi53aWRnZXRfc2VhcmNoIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndpZGdldF9zZWFyY2ggZm9ybSBpbnB1dCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogODAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gIC53aWRnZXRfc2VhcmNoIGZvcm0gYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG4gICAgbGVmdDogNiU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNEOEQ4RDg7IH1cblxuLyoqIExpbmsgTGlzdCAqL1xuLndpZGdldF9saXN0IHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC53aWRnZXRfbGlzdCB1bCBhIHtcbiAgICBjb2xvcjogIzk2OTk5ZDtcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxuICAud2lkZ2V0X2xpc3QgdWwgbGkuYWN0aXZlIGEge1xuICAgIGJhY2tncm91bmQ6ICNGRUVBMzY7XG4gICAgY29sb3I6ICMzQTNDM0Q7IH1cblxuLyoqIFBvcnRmb2xpbyBGaWx0ZXIgKi9cbi53aWRnZXRfZmlsdGVyIHVsIGxpIGEuYWN0aXZlIHtcbiAgY29sb3I6ICMzQTNDM0Q7XG4gIGJhY2tncm91bmQ6ICNkYmRiZGI7IH1cblxuLyoqIFRhZyBDbG91ZCAqL1xuLndpZGdldF90YWdfY2xvdWQgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBwYWRkaW5nOiA0cHggMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7XG4gIGJhY2tncm91bmQ6ICNFNEU0RTQgdXJsKC4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nKSByZXBlYXQteCAwIDA7XG4gIGNvbG9yOiAjNzU3NTc1O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b206IDBweCBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAud2lkZ2V0X3RhZ19jbG91ZCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JiYjVlO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qKiBOZXdzbGV0dGVyICovXG4ud2lkZ2V0X25ld3NsZXR0ZXIgLndpZGdldF93cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogIzNCM0MzRTtcbiAgcGFkZGluZzogMjJweCAzMHB4IDMycHggMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC53aWRnZXRfbmV3c2xldHRlciAud2lkZ2V0X3dyYXBwZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgLndpZGdldF9uZXdzbGV0dGVyIC53aWRnZXRfd3JhcHBlciBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAud2lkZ2V0X25ld3NsZXR0ZXIgLndpZGdldF93cmFwcGVyIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC53aWRnZXRfbmV3c2xldHRlciAud2lkZ2V0X3dyYXBwZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogIzNDM0MzQzsgfVxuICAgIC53aWRnZXRfbmV3c2xldHRlciAud2lkZ2V0X3dyYXBwZXIgLmJ1dHRvbiBpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi8qKiBBZGRyZXNzICovXG4ud2lkZ2V0X2FkZHJlc3MgLndpZGdldC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBwYWRkaW5nOiAyMnB4IDMwcHggMzJweCAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLndpZGdldF9hZGRyZXNzIC53aWRnZXQtY29udGVudDpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBjb250ZW50OiBcIlxcZjA4ZFwiO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgLndpZGdldF9hZGRyZXNzIC53aWRnZXQtY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAud2lkZ2V0X2FkZHJlc3MgLndpZGdldC1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC53aWRnZXRfYWRkcmVzcyAud2lkZ2V0LWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLndpZGdldF9hZGRyZXNzIC53aWRnZXQtY29udGVudCAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM0MzQzNDOyB9XG4gICAgLndpZGdldF9hZGRyZXNzIC53aWRnZXQtY29udGVudCAuYnV0dG9uIGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDUuICBQT1JURk9MSU8gXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBQb3J0Zm9saW8gR3JpZCAqL1xuI3BvcnRmb2xpby1ncmlkIHtcbiAgKnpvb206IDE7IH1cbiAgI3BvcnRmb2xpby1ncmlkOmJlZm9yZSwgI3BvcnRmb2xpby1ncmlkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI3BvcnRmb2xpby1ncmlkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5IC53cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgICNwb3J0Zm9saW8tZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1tZWRpYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNwb3J0Zm9saW8tZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCkgdXJsKFwiLi4vLi4vaW1hZ2VzL2hvdmVyLWJnLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgICAgI3BvcnRmb2xpby1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktbWVkaWE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3BvcnRmb2xpby1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktZGVzYyB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1kZXNjIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogIzNhM2MzZDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjcG9ydGZvbGlvLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1kZXNjIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjOTY5OTlkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vKiogVG9wIENvbnRlbnQgKi9cbiN0b3AtY29udGVudCAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgYmFja2dyb3VuZDogIzNCM0MzRTtcbiAgcGFkZGluZzogMjhweCAzNXB4IDMwcHggMzVweDtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAjdG9wLWNvbnRlbnQgLmlubmVyIC5zdW1tYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgI3RvcC1jb250ZW50IC5pbm5lciAuc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAjdG9wLWNvbnRlbnQgLmlubmVyIC5zdW1tYXJ5IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC0yLjUlO1xuICAgICAgICAgIHRvcDogMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICByaWdodDogMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTMlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgICAjdG9wLWNvbnRlbnQgLmlubmVyIC5zdW1tYXJ5OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0zJTsgfSB9XG4gICAgI3RvcC1jb250ZW50IC5pbm5lciAuc3VtbWFyeSBoMyB7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3RvcC1jb250ZW50IC5pbm5lciAuc3VtbWFyeSBwIHtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICN0b3AtY29udGVudCAuaW5uZXIgLnNraWxscyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2N3B4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgI3RvcC1jb250ZW50IC5pbm5lciAuc2tpbGxzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgICN0b3AtY29udGVudCAuaW5uZXIgLnNraWxscyBoNCB7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3RvcC1jb250ZW50IC5pbm5lciAuc2tpbGxzIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLnNraWxscyB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLnNraWxscyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgI3RvcC1jb250ZW50IC5pbm5lciAubmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMjBweDsgfVxuICAgICN0b3AtY29udGVudCAuaW5uZXIgLm5hdmlnYXRpb24gdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgI3RvcC1jb250ZW50IC5pbm5lciAubmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgICAgICAjdG9wLWNvbnRlbnQgLmlubmVyIC5uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhOWE5YTkgdXJsKC4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nKSByZXBlYXQteCAwIDA7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgICAgICAgICN0b3AtY29udGVudCAuaW5uZXIgLm5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JiYjVlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IH1cblxuLyoqIE1haW4gQ29udGVudCAqL1xuI21haW4tY29udGVudC5wb3J0Zm9saW8taW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAjbWFpbi1jb250ZW50LnBvcnRmb2xpby1pbWFnZXMgLmVudHJ5LW1lZGlhIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4IDA7IH1cbiAgICAjbWFpbi1jb250ZW50LnBvcnRmb2xpby1pbWFnZXMgLmVudHJ5LW1lZGlhIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI21haW4tY29udGVudC5wb3J0Zm9saW8taW1hZ2VzIC5lbnRyeS1tZWRpYSAuaW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAjbWFpbi1jb250ZW50LnBvcnRmb2xpby1pbWFnZXMgLmVudHJ5LW1lZGlhIC5pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzk2OTk5ZDtcbiAgICAgICAgcGFkZGluZzogMnB4IDE4cHg7IH1cbiAgI21haW4tY29udGVudC5wb3J0Zm9saW8taW1hZ2VzIC5zaGFyaW5nLWxpbmtzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNDVweDsgfVxuICAgICNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyAuc2hhcmluZy1saW5rcyBoNCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzNhM2MzZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI21haW4tY29udGVudC5wb3J0Zm9saW8taW1hZ2VzIC5zaGFyaW5nLWxpbmtzIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICNFNEU0RTQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7IH1cbiAgICAgICNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyAuc2hhcmluZy1saW5rcyB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgICNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyAuc2hhcmluZy1saW5rcyB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgI21haW4tY29udGVudC5wb3J0Zm9saW8taW1hZ2VzIC5zaGFyaW5nLWxpbmtzIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgICAgICAgICNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyAuc2hhcmluZy1saW5rcyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzU3NTc1OyB9XG5cbi8qKiBQYWdlIFNpZGViYXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNwYWdlLXNpZGViYXIucG9ydGZvbGlvLW1ldGEge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9IH1cblxuI3BhZ2Utc2lkZWJhci5wb3J0Zm9saW8tbWV0YSAubWV0YS1pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjRTRFNEU0O1xuICBwYWRkaW5nOiAzMHB4IDM1cHg7IH1cbiAgI3BhZ2Utc2lkZWJhci5wb3J0Zm9saW8tbWV0YSAubWV0YS1pbmZvOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL2luZm8uc3ZnKTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gICNwYWdlLXNpZGViYXIucG9ydGZvbGlvLW1ldGEgLm1ldGEtaW5mbyAubWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICNwYWdlLXNpZGViYXIucG9ydGZvbGlvLW1ldGEgLm1ldGEtaW5mbyAubWV0YTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG4gICAgI3BhZ2Utc2lkZWJhci5wb3J0Zm9saW8tbWV0YSAubWV0YS1pbmZvIC5tZXRhIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjM2EzYzNkO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI3BhZ2Utc2lkZWJhci5wb3J0Zm9saW8tbWV0YSAubWV0YS1pbmZvIC5tZXRhIHAge1xuICAgICAgY29sb3I6ICM5Njk5OWQ7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDYuICBCTE9HIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvZy5zaW5nbGUgLmVudHJ5LWRlc2MgaDMge1xuICBwYWRkaW5nOiAwIDNweDsgfVxuXG4uYmxvZy5zaW5nbGUgLmVudHJ5LW1ldGEge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJsb2cge1xuICAvKiogR2VuZXJhbCBTdHlsaW5nICovXG4gIC8qKiBTdGFuZGFyZCBGb3JtYXQgKi9cbiAgLyoqIFF1b3RlIEZvcm1hdCAqL1xuICAvKiogTGluayBGb3JtYXQgKi8gfVxuICAuYmxvZyAuZW50cnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1lZGlhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWVkaWEgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWVkaWEgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQgMHM7IH1cbiAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWVkaWEgaW1nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYmxvZyAuZW50cnkgLmVudHJ5LWRlc2Mge1xuICAgICAgcGFkZGluZzogMjBweCAzNXB4OyB9XG4gICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LWRlc2MgaDMge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgLmJsb2cgLmVudHJ5IC5lbnRyeS1kZXNjIGgzIGEge1xuICAgICAgICAgIGNvbG9yOiAjM2EzYzNkO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAgICAgcGFkZGluZzogM3B4OyB9XG4gICAgICAgICAgLmJsb2cgLmVudHJ5IC5lbnRyeS1kZXNjIGgzIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMzQTNDM0Q7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjZGNkY2OyB9XG4gICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LWRlc2MgcCB7XG4gICAgICAgIGNvbG9yOiAjOTY5OTlkOyB9XG4gICAgLmJsb2cgLmVudHJ5IC5lbnRyeS1tZXRhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDM2cHggMzBweCAzNnB4O1xuICAgICAgKnpvb206IDE7IH1cbiAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YTpiZWZvcmUsIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YTphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1ldGEgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgY29sb3I6ICM5Njk5OWQ7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1ldGEgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaSBhIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaSBhIGkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAgICAgICBjb2xvcjogI0QyRDZEQjsgfVxuICAgICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2OTZEOyB9XG4gICAgICAgICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1ldGEgbGkgYTpob3ZlciBpIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM2NjY5NkQ7IH1cbiAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaS5kYXRlIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1ldGEgbGkubGlrZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaS5saWtlIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgICAuYmxvZyAuZW50cnkgLmVudHJ5LW1ldGEgbGkubGlrZSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzdiYmI1ZTsgfVxuICAgICAgICAgIC5ibG9nIC5lbnRyeSAuZW50cnktbWV0YSBsaS5saWtlIGE6aG92ZXIgaSB7XG4gICAgICAgICAgICBjb2xvcjogIzdiYmI1ZTsgfVxuICAgICAgLmJsb2cgLmVudHJ5IC5lbnRyeS1tZXRhIGxpLmNvbW1lbnRzIGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5ibG9nIC5mb3JtYXQtc3RhbmRhcmQ6aG92ZXIgLmVudHJ5LW1lZGlhIGEgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpOyB9XG4gIC5ibG9nIC5mb3JtYXQtc3RhbmRhcmQ6aG92ZXIgLmVudHJ5LW1lZGlhIGE6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJsb2cgLmZvcm1hdC1xdW90ZSAuZW50cnktbWVkaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjM2IzYzNlO1xuICAgIHBhZGRpbmc6IDM1cHggNjBweCAzOHB4IDYwcHg7IH1cbiAgICAuYmxvZyAuZm9ybWF0LXF1b3RlIC5lbnRyeS1tZWRpYSBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5ibG9nIC5mb3JtYXQtcXVvdGUgLmVudHJ5LW1lZGlhIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzRweDtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG4gICAgICAgIGNvbG9yOiAjZDJkNmRiO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgICAgIC5ibG9nIC5mb3JtYXQtcXVvdGUgLmVudHJ5LW1lZGlhIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwIDJweCAwIDM1cHg7IH1cbiAgICAgICAgLmJsb2cgLmZvcm1hdC1xdW90ZSAuZW50cnktbWVkaWEgYmxvY2txdW90ZSBwOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRvcDogMDsgfVxuICAuYmxvZyAuZm9ybWF0LWxpbmsgLmVudHJ5LW1lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzNiM2MzZTtcbiAgICBwYWRkaW5nOiAzNXB4IDYwcHggMzhweCA2MHB4OyB9XG4gICAgLmJsb2cgLmZvcm1hdC1saW5rIC5lbnRyeS1tZWRpYSBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5ibG9nIC5mb3JtYXQtbGluayAuZW50cnktbWVkaWEgcDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNHB4O1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgY29udGVudDogXCJcXGYwYzFcIjtcbiAgICAgICAgY29sb3I6ICNkMmQ2ZGI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAgICAgLmJsb2cgLmZvcm1hdC1saW5rIC5lbnRyeS1tZWRpYSBwIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZzogMCAycHggMCAzNXB4OyB9XG4gICAgICAgIC5ibG9nIC5mb3JtYXQtbGluayAuZW50cnktbWVkaWEgcCBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRvcDogMDsgfVxuXG4vKiogR2FsbGVyeSBGb3JtYXQgKi9cbi5mb3JtYXQtZ2FsbGVyeSAuc2xpY2stYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQ6ICMzYjNjM2U7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAuZm9ybWF0LWdhbGxlcnkgLnNsaWNrLWFycm93IGkuZmEge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuZm9ybWF0LWdhbGxlcnkgLnNsaWNrLWFycm93LnByZXYtYXJyb3cge1xuICAgIHJpZ2h0OiA1NHB4O1xuICAgIHotaW5kZXg6IDk5OyB9XG4gIC5mb3JtYXQtZ2FsbGVyeSAuc2xpY2stYXJyb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRUVBMzY7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDUuICBTVE9SRSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFN0b3JlIEdyaWQgKi9cbiNzdG9yZS1ncmlkIHtcbiAgKnpvb206IDE7IH1cbiAgI3N0b3JlLWdyaWQ6YmVmb3JlLCAjc3RvcmUtZ3JpZDphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICNzdG9yZS1ncmlkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyOmJlZm9yZSwgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAwcHggMjJweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgICNzdG9yZS1ncmlkIC5lbnRyeSAud3JhcHBlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXNhbGUpO1xuICAgICAgYmFja2dyb3VuZDogI0QzMTExMjtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zdG9jayk7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkJGMjg1O1xuICAgICAgY29sb3I6ICMzYTNjM2Q7IH1cbiAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXI6aG92ZXIgLmFkZC10by1jYXJ0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmFkZC10by1jYXJ0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0IDBzOyB9XG4gICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmFkZC10by1jYXJ0IGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxODAsIDE4MCwgMTgwLCAwLjUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xuICAgICAgICBjb2xvcjogI2I0YjRiNDsgfVxuICAgICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmFkZC10by1jYXJ0IGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3NmI0NWE7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdiYmI1ZTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmFkZC10by1jYXJ0IGEgaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1tZWRpYSB1bC5zbGljay1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhIHVsLnNsaWNrLWRvdHMgbGkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgICAgICAgICAjc3RvcmUtZ3JpZCAuZW50cnkgLndyYXBwZXIgLmVudHJ5LW1lZGlhIHVsLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgICAgICNzdG9yZS1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktbWVkaWEgdWwuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICNzdG9yZS1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktbWVkaWEgdWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICNzdG9yZS1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktZGVzYyB7XG4gICAgICBwYWRkaW5nOiAyMnB4IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNzdG9yZS1ncmlkIC5lbnRyeSAud3JhcHBlciAuZW50cnktZGVzYyBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6ICMzYTNjM2Q7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1kZXNjIHNwYW4udGF4b25vbXkge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjOTY5OTlkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgICAgI3N0b3JlLWdyaWQgLmVudHJ5IC53cmFwcGVyIC5lbnRyeS1kZXNjIHNwYW4ucHJpY2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYjNjM2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi8qKiBTdG9yZSBDYXJ0ICovXG4uc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM2IzYzNlO1xuICBwYWRkaW5nOiAyMHB4IDM1cHg7IH1cbiAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSBmb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMCAwOyB9XG4gIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1NjU3NTc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTY1NzU3OyB9XG4gICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LXByaWNlLCAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1xdWFudGl0eSwgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTY1NzU3O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgcGFkZGluZzogMjBweCA4cHg7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcHJpY2UsIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5LCAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgICAgICAgICB3aWR0aDogMTclO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIGE6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXJlbW92ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcmVtb3ZlIGE6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZCAucXVhbnRpdHkgaW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZCAuY291cG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGJvZHkgdHIgdGQgLmNvdXBvbiBsYWJlbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0Ym9keSB0ciB0ZCAuY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDIyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvKiBGb3JjZSB0YWJsZSB0byBub3QgYmUgbGlrZSB0YWJsZXMgYW55bW9yZSAqL1xuICAgICAgLyogSGlkZSB0YWJsZSBoZWFkZXJzIChidXQgbm90IGRpc3BsYXk6IG5vbmU7LCBmb3IgYWNjZXNzaWJpbGl0eSkgKi9cbiAgICAgIC8qIExhYmVsIHRoZSBkYXRhICovIH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCwgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRib2R5LCAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGgsIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0ZCwgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OXB4OyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdHIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTY1NzU3OyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGQge1xuICAgICAgICAvKiBCZWhhdmUgIGxpa2UgYSBcInJvd1wiICovXG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7IH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLmNhcnQtc3VtbWFyeSB0YWJsZSB0ZDpiZWZvcmUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAuY2FydC1zdW1tYXJ5IHRhYmxlIHRkOm50aC1vZi10eXBlKDEpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiUHJvZHVjdFwiOyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGQ6bnRoLW9mLXR5cGUoMik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJQcmljZVwiOyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGQ6bnRoLW9mLXR5cGUoMyk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJRdWFudGl0eVwiOyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgdGQ6bnRoLW9mLXR5cGUoNCk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJUb3RhbFwiOyB9XG4gICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5jYXJ0LXN1bW1hcnkgdGFibGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi8qKiBPcmRlciBUb3RhbCAqL1xuLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAub3JkZXItdG90YWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4IDM1cHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAub3JkZXItdG90YWwgaDMge1xuICAgIGNvbG9yOiAjM2EzYzNkO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5vcmRlci10b3RhbCB0YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLm9yZGVyLXRvdGFsIHRhYmxlIHRib2R5IHtcbiAgICAgIGNvbG9yOiAjQUZBRkFGO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLnN0b3JlLmNhcnQgI21haW4tY29udGVudCAub3JkZXItdG90YWwgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5vcmRlci10b3RhbCB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2UzZTM7IH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLm9yZGVyLXRvdGFsIHRhYmxlIHRib2R5IHRyIHRoIHtcbiAgICAgICAgY29sb3I6ICMyQjJFMzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7IH1cbiAgICAgIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLm9yZGVyLXRvdGFsIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggOHB4OyB9XG4gIC5zdG9yZS5jYXJ0ICNtYWluLWNvbnRlbnQgLm9yZGVyLXRvdGFsIC5jYWxjdWxhdGUtc2hpcHBpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMzQTNDM0Q7XG4gICAgYmFja2dyb3VuZDogI0ZFRUEzNjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5vcmRlci10b3RhbCAucHJvY2VlZC1jaGVja291dCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAuc3RvcmUuY2FydCAjbWFpbi1jb250ZW50IC5vcmRlci10b3RhbCAucHJvY2VlZC1jaGVja291dCBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiogQ2FsY3VsYXRlIFNoaXBwaW5nICovXG4uc3RvcmUuY2FydCAjcGFnZS1zaWRlYmFyIC5zaGlwcGluZy1pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBjb2xvcjogIzNhM2MzZDtcbiAgcGFkZGluZzogMzBweCAzNXB4OyB9XG4gIC5zdG9yZS5jYXJ0ICNwYWdlLXNpZGViYXIgLnNoaXBwaW5nLWluZm86YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IDMwcHg7XG4gICAgcmlnaHQ6IDM3cHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvaWNvbnMvZGVsaXZlcnktdHJ1Y2s1LnN2Zyk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAuc3RvcmUuY2FydCAjcGFnZS1zaWRlYmFyIC5zaGlwcGluZy1pbmZvIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5zdG9yZS5jYXJ0ICNwYWdlLXNpZGViYXIgLnNoaXBwaW5nLWluZm8gZm9ybSB7XG4gICAgKnpvb206IDE7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLnN0b3JlLmNhcnQgI3BhZ2Utc2lkZWJhciAuc2hpcHBpbmctaW5mbyBmb3JtOmJlZm9yZSwgLnN0b3JlLmNhcnQgI3BhZ2Utc2lkZWJhciAuc2hpcHBpbmctaW5mbyBmb3JtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnN0b3JlLmNhcnQgI3BhZ2Utc2lkZWJhciAuc2hpcHBpbmctaW5mbyBmb3JtOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnN0b3JlLmNhcnQgI3BhZ2Utc2lkZWJhciAuc2hpcHBpbmctaW5mbyBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuc3RvcmUuY2FydCAjcGFnZS1zaWRlYmFyIC5zaGlwcGluZy1pbmZvIGZvcm0gc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuc3RvcmUuY2FydCAjcGFnZS1zaWRlYmFyIC5zaGlwcGluZy1pbmZvIGZvcm0gc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmY2ZjYgdXJsKC4uLy4uL2ltYWdlcy9zZWxlY3QtZmllbGQtYXJyb3cucG5nKSBuby1yZXBlYXQgOTUlIGNlbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHRleHQtaW5kZW50OiAxcHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiAnJzsgfVxuICAgIC5zdG9yZS5jYXJ0ICNwYWdlLXNpZGViYXIgLnNoaXBwaW5nLWluZm8gZm9ybSBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qKiBTaW5nbGUgUHJvZHVjdCAqL1xuLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzNiM2MzZTtcbiAgICBwYWRkaW5nOiAzNXB4IDQwcHg7IH1cbiAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWhlYWRlciAudGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWhlYWRlciAudGl0bGUgaDEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1oZWFkZXIgLnRpdGxlIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1oZWFkZXIgLmNhcnQge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWhlYWRlciAuY2FydCAucXVhbnRpdHkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktaGVhZGVyIC5jYXJ0IC5xdWFudGl0eSBpbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktaGVhZGVyIC5jYXJ0IGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfVxuICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWRlc2Mge1xuICAgIHBhZGRpbmc6IDIwcHggMzVweDsgfVxuICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyBoMyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyBoMyBhIHtcbiAgICAgICAgY29sb3I6ICMzYTNjM2Q7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAgIHBhZGRpbmc6IDNweDsgfVxuICAgICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWRlc2MgaDMgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMzQTNDM0Q7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0Y2RjZGNjsgfVxuICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyBwIHtcbiAgICAgIGNvbG9yOiAjOTY5OTlkOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1kZXNjIHRhYmxlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCwgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1kZXNjIHRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyB0YWJsZSB0Ym9keSB0ciB0aFtzY29wZT1cInJvd2dyb3VwXCJdIHtcbiAgICAgICAgICB3aWR0aDogMzAlOyB9XG4gICAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyB0YWJsZSB0Ym9keSB0ciB0aFtzY29wZT1cInJvd1wiXSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LWRlc2MgdGFibGUgdGJvZHkgdHIgdGgge1xuICAgICAgICAgIGNvbG9yOiAjM0IzQzNFO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7IH1cbiAgICAgICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1kZXNjIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgICAgICBjb2xvcjogIzk5OTsgfVxuICAgICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1kZXNjIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgsIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktZGVzYyB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDM2cHggMzBweCAzNnB4O1xuICAgICp6b29tOiAxOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhOmJlZm9yZSwgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjOTY5OTlkO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhIGxpIGEge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwczsgfVxuICAgICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGkgYSBpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwcztcbiAgICAgICAgICBjb2xvcjogI0QyRDZEQjsgfVxuICAgICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY5NkQ7IH1cbiAgICAgICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGkgYTpob3ZlciBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2OTZEOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhIGxpLmRhdGUgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktbWV0YSBsaS5saWtlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGkubGlrZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLnNpbmdsZS1wcm9kdWN0ICNtYWluLWNvbnRlbnQgLmVudHJ5IC5lbnRyeS1tZXRhIGxpLmxpa2UgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjN2JiYjVlOyB9XG4gICAgICAgIC5zaW5nbGUtcHJvZHVjdCAjbWFpbi1jb250ZW50IC5lbnRyeSAuZW50cnktbWV0YSBsaS5saWtlIGE6aG92ZXIgaSB7XG4gICAgICAgICAgY29sb3I6ICM3YmJiNWU7IH1cbiAgICAuc2luZ2xlLXByb2R1Y3QgI21haW4tY29udGVudCAuZW50cnkgLmVudHJ5LW1ldGEgbGkuY29tbWVudHMgaSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4uc2luZ2xlLXByb2R1Y3QgI3BhZ2Utc2lkZWJhciAuZW50cnktbWVkaWEge1xuICBtYXJnaW46IDA7IH1cbiAgLnNpbmdsZS1wcm9kdWN0ICNwYWdlLXNpZGViYXIgLmVudHJ5LW1lZGlhIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5zaW5nbGUtcHJvZHVjdCAjcGFnZS1zaWRlYmFyIC5lbnRyeS1tZWRpYSB1bC5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaW5nbGUtcHJvZHVjdCAjcGFnZS1zaWRlYmFyIC5lbnRyeS1tZWRpYSB1bC5zbGljay1kb3RzIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4OyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI3BhZ2Utc2lkZWJhciAuZW50cnktbWVkaWEgdWwuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgIC5zaW5nbGUtcHJvZHVjdCAjcGFnZS1zaWRlYmFyIC5lbnRyeS1tZWRpYSB1bC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5zaW5nbGUtcHJvZHVjdCAjcGFnZS1zaWRlYmFyIC5lbnRyeS1tZWRpYSB1bC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnNpbmdsZS1wcm9kdWN0ICNwYWdlLXNpZGViYXIgLm1vcmUtaW1hZ2VzIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjsgfVxuICAuc2luZ2xlLXByb2R1Y3QgI3BhZ2Utc2lkZWJhciAubW9yZS1pbWFnZXM6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbW9yZS1pbWFnZXMpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE3cHg7IH1cbiAgLnNpbmdsZS1wcm9kdWN0ICNwYWdlLXNpZGViYXIgLm1vcmUtaW1hZ2VzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMHB4OyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNwYWdlLXNpZGViYXIgLm1vcmUtaW1hZ2VzIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNwYWdlLXNpZGViYXIgLm1vcmUtaW1hZ2VzIGEuc2xpY2stY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjNDNGM0I3LCAjNDNGM0I3IDFweCwgIzRBRTVCMCAxcHgsICM0QUU1QjAgNXB4KSByZXBlYXQgc2Nyb2xsIDAlIDAlOyB9XG4gICAgICAuc2luZ2xlLXByb2R1Y3QgI3BhZ2Utc2lkZWJhciAubW9yZS1pbWFnZXMgYS5zbGljay1jdXJyZW50IGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNy4gIENPTU1FTlRTIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQ29tbWVudHMgTGlzdCAqL1xuI2NvbW1lbnRzIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuICAjY29tbWVudHMgaDMge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzNhM2MzZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgI2NvbW1lbnRzID4gcCB7XG4gICAgY29sb3I6ICM5Njk5OWQ7IH1cbiAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3QgbGkuY29tbWVudCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmc6IDI4cHggMzVweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAqem9vbTogMTsgfVxuICAgICAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3QgbGkuY29tbWVudDpiZWZvcmUsICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQgLmF1dGhvci1hdmF0YXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50IC5hdXRob3ItYXZhdGFyIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAgICAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3QgbGkuY29tbWVudCAuYXV0aG9yLWF2YXRhciBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50IC5jb21tZW50LWJvZHkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTE1cHg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQgLmNvbW1lbnQtYm9keSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgICAgICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQgLmNvbW1lbnQtYm9keSAubWV0YSAuYXV0aG9yIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgY29sb3I6ICMzYTNjM2Q7IH1cbiAgICAgICAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3QgbGkuY29tbWVudCAuY29tbWVudC1ib2R5IC5tZXRhIC50aW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgY29sb3I6ICM5Njk5OWQ7IH1cbiAgICAgICAgI2NvbW1lbnRzIG9sLmNvbW1lbnRzLWxpc3QgbGkuY29tbWVudCAuY29tbWVudC1ib2R5IC5tZXRhIC5jb21tZW50LXJlcGx5LWxpbmsge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBjb2xvcjogIzk2OTk5ZDsgfVxuICAgICAgICAgICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQgLmNvbW1lbnQtYm9keSAubWV0YSAuY29tbWVudC1yZXBseS1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnwrcnO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDNweDsgfVxuICAgICAgICAgICNjb21tZW50cyBvbC5jb21tZW50cy1saXN0IGxpLmNvbW1lbnQgLmNvbW1lbnQtYm9keSAubWV0YSAuY29tbWVudC1yZXBseS1saW5rOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50IC5jb21tZW50LWJvZHkgLm1ldGEgLmNvbW1lbnQtcmVwbHktbGluazpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAgICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50IC5jb21tZW50LWJvZHkgLmNvbnRlbnQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgICAgICAjY29tbWVudHMgb2wuY29tbWVudHMtbGlzdCBsaS5jb21tZW50IC5jb21tZW50LWJvZHkgLmNvbnRlbnQgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzk2OTk5ZDsgfVxuXG4vKiogQ29tbWVudHMgRm9ybSAqL1xuI2NvbW1lbnRzLWZvcm0ge1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICNjb21tZW50cy1mb3JtIGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMzYTNjM2Q7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICNjb21tZW50cy1mb3JtID4gcCB7XG4gICAgY29sb3I6ICM5Njk5OWQ7IH1cbiAgI2NvbW1lbnRzLWZvcm0gZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogIzk2OTk5ZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS4zcmVtIDJyZW07XG4gICAgICBib3JkZXI6IHNvbGlkIDVweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcywgYm9yZGVyIDAuM3M7IH1cbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIHRleHRhcmVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogIzk2OTk5ZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBzb2xpZCA1cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MsIGJvcmRlciAwLjNzOyB9XG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYm9yZGVyOiBzb2xpZCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSBsYWJlbCB7XG4gICAgICBjb2xvcjogIzdCN0Q4MDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIFNhZmFyaSwgQ2hyb21lIGFuZCBPcGVyYSAqL1xuICAgICAgY29sb3I6ICM3YjdiN2I7IH1cbiAgICAjY29tbWVudHMtZm9ybSBmb3JtIDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIEZpcmVmb3ggMTgtICovXG4gICAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiAjN2I3YjdiOyB9XG4gICAgI2NvbW1lbnRzLWZvcm0gZm9ybSA6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBFZGdlICovXG4gICAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAgICNjb21tZW50cy1mb3JtIGZvcm0gOnBsYWNlaG9sZGVyLXNob3duIHtcbiAgICAgIC8qIFN0YW5kYXJkIG9uZSBsYXN0ISAqL1xuICAgICAgY29sb3I6ICM3YjdiN2I7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gOC4gIEZPUk1TIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gR2VuZXJhbCAoX2Zvcm1zLnNjc3MpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjOTY5OTlEO1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICBwYWRkaW5nOiAxLjJyZW0gMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA3KTsgfVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuc2VsZWN0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBtZWRpdW0gbm9uZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gQnV0dG9ucyAoX2Zvcm1zLnNjc3MpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuYnV0dG9uLCAuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiA5cHggMjNweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkQ0NkUgdXJsKC4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nKSByZXBlYXQteCAwIDA7XG4gIGNvbG9yOiAjM2MzYzNjO1xuICB0ZXh0LXNoYWRvdzogI0ZGRjBBQyAwIDFweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7IH1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpob3ZlcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGREE1O1xuICBjb2xvcjogIzU0NTQ1NDsgfVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbmJ1dHRvbjphY3RpdmUsIC5idXR0b246YWN0aXZlLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4OyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiBMYWJlbHMgKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xubGFiZWwge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gIGNvbG9yOiAjODg4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgbGFiZWwgc3Bhbi5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNGMjZDNEY7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIFBsYWNlaG9sZGVycyAoX2Zvcm1zLnNjc3MpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cGxhY2Vob2xkZXItc2hvd24ge1xuICAvKiBTdGFuZGFyZCBvbmUgbGFzdCEgKi9cbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiBCVVRUT04gU1RZTEVTIFxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRyZW5kLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgcGFkZGluZzogOXB4IDIzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0Y1RTM4MztcbiAgYmFja2dyb3VuZDogI0ZGRDQ2RSB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IC4ycyBhbGwgZWFzZTsgfVxuXG4udHJlbmQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkRBNTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRyZW5kLWJ1dHRvbjphY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBib3gtc2hhZG93OiAjRENCNzU5IDAgMXB4IDA7IH1cblxuLyogQlVUVE9OIENPTE9SUyAqL1xuLnRyZW5kLWJ1dHRvbi5ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogIzE0MTQxNCAwIDJweCAwOyB9XG5cbi50cmVuZC1idXR0b24uYmxhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0MzQzNDO1xuICBib3JkZXItY29sb3I6ICMzQzNDM0M7IH1cblxuLnRyZW5kLWJ1dHRvbi5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgYm9yZGVyLWNvbG9yOiAjNGU0ZTRlOyB9XG5cbi50cmVuZC1idXR0b24uZ3JleTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QkJCNUU7XG4gIGJvcmRlci1jb2xvcjogIzkxOTE5MTsgfVxuXG4udHJlbmQtYnV0dG9uLmdyZWVuIHtcbiAgYmFja2dyb3VuZDogIzdmYzMzYzsgfVxuXG4udHJlbmQtYnV0dG9uLmdyZWVuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzhkZDI0MjsgfVxuXG4udHJlbmQtYnV0dG9uLmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMmNhYWRhO1xuICBib3JkZXItY29sb3I6ICMwYjcwOTU7XG4gIGJveC1zaGFkb3c6ICMyNjgxYTIgMCAycHggMDsgfVxuXG4udHJlbmQtYnV0dG9uLmJsdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzJiY2VmO1xuICBib3JkZXItY29sb3I6ICMyNjgxYTI7IH1cblxuLnRyZW5kLWJ1dHRvbi55ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiAjRkNDNzFGO1xuICBib3JkZXItY29sb3I6ICNjNzlhMGI7XG4gIGJveC1zaGFkb3c6ICNjMjkzMDAgMCAycHggMDsgfVxuXG4udHJlbmQtYnV0dG9uLnllbGxvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNGRkNGMzg7XG4gIGJvcmRlci1jb2xvcjogI0ZGQ0YzODsgfVxuXG4udHJlbmQtYnV0dG9uLnJlZCB7XG4gIGJhY2tncm91bmQ6ICNlMzUxNGE7XG4gIGJvcmRlci1jb2xvcjogIzc3MTgwMDtcbiAgYm94LXNoYWRvdzogI2MwMmEwNSAwIDJweCAwOyB9XG5cbi50cmVuZC1idXR0b24ucmVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNWU1NjtcbiAgYm9yZGVyLWNvbG9yOiAjYWI0YjQ0OyB9XG5cbi50cmVuZC1idXR0b24ucHVycGxlIHtcbiAgYmFja2dyb3VuZDogI2QxN2FjNjtcbiAgYm9yZGVyLWNvbG9yOiAjOTk2MTkyO1xuICBib3gtc2hhZG93OiAjOTk2MTkyIDAgMnB4IDA7IH1cblxuLnRyZW5kLWJ1dHRvbi5wdXJwbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWI5MGUwO1xuICBib3JkZXItY29sb3I6ICM5OTYxOTI7IH1cblxuLnRyZW5kLWJ1dHRvbi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjRkY3NjU0O1xuICBib3JkZXItY29sb3I6ICNiZDJlMGI7XG4gIGJveC1zaGFkb3c6ICNlNDRjMjYgMCAycHggMDsgfVxuXG4udHJlbmQtYnV0dG9uLm9yYW5nZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNGRjgyNjI7XG4gIGJvcmRlci1jb2xvcjogI0ZGODI2MjsgfVxuXG4udHJlbmQtYnV0dG9uLnBpbmsge1xuICBiYWNrZ3JvdW5kOiAjRkZBRENCO1xuICBib3JkZXItY29sb3I6ICNGREE1QzU7XG4gIGJveC1zaGFkb3c6ICNGREE1QzUgMCAycHggMDsgfVxuXG4udHJlbmQtYnV0dG9uLnBpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZCNUQwO1xuICBib3JkZXItY29sb3I6ICNGRkI1RDA7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qIFRPR0dMRVNcclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi50cmVuZC10b2dnbGUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi50cmVuZC10b2dnbGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi50cmVuZC10b2dnbGUtaGVhZGluZyB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7IH1cblxuLnRyZW5kLXRvZ2dsZS1oZWFkaW5nIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi50cmVuZC10b2dnbGUtaGVhZGluZyBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50cmVuZC10b2dnbGUtdGl0bGUgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMTRweCAyMHB4OyB9XG5cbi50cmVuZC10b2dnbGUtdGl0bGUgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnRyZW5kLXRvZ2dsZS1jb250ZW50IHtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItdG9wOiAwO1xuICBjb2xvcjogIzk2OTk5ZDsgfVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb2xsYXBzZS5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xuICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cblxuLmFjdGl2ZSAudHJlbmQtdG9nZ2xlLXRpdGxlID4gYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiBUQUJTXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4udHJlbmQtdGFicyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLnRyZW5kLXRhYi1oZWFkaW5ncyB7XG4gIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDQwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gICp6b29tOiAxOyB9XG4gIC50cmVuZC10YWItaGVhZGluZ3M6YmVmb3JlLCAudHJlbmQtdGFiLWhlYWRpbmdzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRyZW5kLXRhYi1oZWFkaW5nczphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwOyB9XG5cbi50cmVuZC10YWItaGVhZGluZ3MgPiBsaS5hY3RpdmUgPiBhLFxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4udHJlbmQtdGFiLWhlYWRpbmdzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udHJlbmQtdGFiLWhlYWRpbmdzID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnRyZW5kLXRhYi1ib2R5IHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgei1pbmRleDogMzAwOyB9XG5cbi50cmVuZC10YWItYm9keS5vcGVuIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4udHJlbmQtdGFiLWNvbnRlbnRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzk2OTk5ZDsgfVxuXG4udHJlbmQtdGFiLWNvbnRlbnRzID4gLnRyZW5kLXRhYi1ib2R5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udHJlbmQtdGFiLWNvbnRlbnRzID4gLm9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gIC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDdweCA3cHg7IH1cbiAgLnRyZW5kLXRhYi1ib2R5IHtcbiAgICBwYWRkaW5nOiA3cHg7IH0gfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogSElHSExJR0hUXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5zcGFuLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY0OUI7XG4gIGNvbG9yOiAjQTU2NTFBO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qIEFMRVJUU1xyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRyZW5kLWFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLnRyZW5kLWFsZXJ0Lm5vdGUge1xuICBiYWNrZ3JvdW5kOiAjZmRmOGU0O1xuICBjb2xvcjogIzg0NmY0NDsgfVxuXG4udHJlbmQtYWxlcnQuaW5mbyB7XG4gIGJhY2tncm91bmQ6ICNkOWVkZjY7XG4gIGNvbG9yOiAjMmU2ZDhlOyB9XG5cbi50cmVuZC1hbGVydC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2RlZjBkODtcbiAgY29sb3I6ICM0MTcwNDQ7IH1cblxuLnRyZW5kLWFsZXJ0LmVycm9yIHtcbiAgYmFja2dyb3VuZDogI2YyZGVkZjtcbiAgY29sb3I6ICNhYzQ2NDE7IH1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bTWFzdGVyIFN0eWxlc2hlZXRdXG5cblByb2plY3Q6XHRcdE1lc2hhYmxlIC0gR3JpZCBCYXNlZCBQb3J0Zm9saW8gYW5kIEJsb2cgSFRNTCBUZW1wbGF0ZVxuVmVyc2lvbjpcdFx0MS4wXG5BdXRob3I6IFx0XHRNdWhhbWFtZCBGYWlzYWxcbkF1dGhvciBVUkk6IFx0aHR0cDovL3RoZW1lc2hhc2guY29tL1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLy8gVGhpcmQgUGFydHkgTGlicmFyaWVzLlxuQGltcG9ydCAnbGliL3N1c3kvc3VzeSc7XG5AaW1wb3J0ICdsaWIvYnJlYWtwb2ludC9icmVha3BvaW50JztcblxuLy8gQ3VzdG9tIFZhcmlhYmxlcyBhbmQgTWl4aW5zLlxuQGltcG9ydCAncHJlYm9vdCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnc2tpbnMvZGVmYXVsdCc7XG5cbi8vIEN1c3RvbSBTdHlsaW5nLlxuQGltcG9ydCAnY29udGVudHMnO1xuQGltcG9ydCAnYmFzZSc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ3NjYWZmb2xkaW5nJztcbkBpbXBvcnQgJ3NpZGViYXInO1xuQGltcG9ydCAncG9ydGZvbGlvJztcbkBpbXBvcnQgJ2Jsb2cnO1xuQGltcG9ydCAnc3RvcmUnO1xuQGltcG9ydCAnY29tbWVudHMnO1xuQGltcG9ydCAnZm9ybXMnO1xuQGltcG9ydCAnc2hvcnRjb2Rlcyc7IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gQ29udGVudHMgKF9jb250ZW50cy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjEuIEJhc2VcclxuMi4gR3JpZFxyXG4zLiBTY2FmZm9sZGluZ1xyXG40LiBTaWRlYmFyXHJcbjUuIFBvcnRmb2xpb1xyXG42LiBCbG9nXHJcbjcuIENvbW1lbnRzXHJcbjguIEZvcm1cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAxLiAgQkFTRSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRodG1sIHtcclxuXHRcdGZvbnQtc2l6ZTogNjIuNSU7XHJcblx0fVxyXG5cclxuXHRib2R5IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtc3RhY2s7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdFx0Y29sb3I6ICRib2R5LXRleHQ7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxuXHR9XHJcblxyXG5cdCosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuXHQgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cclxuXHQ6OnNlbGVjdGlvbiB7XHJcblx0ICAgIGNvbG9yOiAjMDAwO1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAjRkJGMjg1O1xyXG5cdH1cclxuXHJcbi8qKiA9PSBUWVBPR1JBUEhZID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSGVhZGluZ3MgKi9cclxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LXN0YWNrO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdGNvbG9yOiAkYm9keS1oZWFkaW5nO1xyXG5cdFx0bWFyZ2luOiAxcmVtIDAgMS41cmVtO1xyXG5cdH1cclxuXHJcblx0aDEgeyBmb250LXNpemU6IDIuOHJlbTsgfVxyXG5cdGgyIHsgZm9udC1zaXplOiAyLjRyZW07IH1cclxuXHRoMyB7IGZvbnQtc2l6ZTogMnJlbTsgfVxyXG5cdGg0IHsgZm9udC1zaXplOiAxLjhyZW07IH1cclxuXHRoNSB7IGZvbnQtc2l6ZTogMS42cmVtOyB9XHJcblx0aDYgeyBmb250LXNpemU6IDEuNnJlbTsgfVxyXG5cclxuXHQvKiogUGFyYWdyYXBocyAqL1xyXG5cdHAgeyBtYXJnaW46ICAwIDAgMnJlbSAwOyBjb2xvcjogJGJvZHktdGV4dDsgfVxyXG5cdHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcblx0LyoqIEJsb2NrcXVvdGVzICovXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzogMjVweDtcclxuXHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0UxRTFFMTtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGU6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcblxyXG5cclxuLyoqID09IExJU1RTID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHR1bCwgb2wsIGRsIHtcclxuXHQgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ICBtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHQgIGxpc3Qtc3R5bGU6IHNxdWFyZSBpbnNpZGU7XHJcblx0fVxyXG5cdG9sIHtcclxuXHQgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XHJcblx0fVxyXG5cclxuXHR1bCB1bCxcclxuXHRvbCBvbCB7XHJcblx0ICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcblx0fVxyXG5cclxuXHRkdCB7XHJcblx0ICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHRkZCB7XHJcblx0ICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gQkxPQ0sgUVVPVEVTID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0ICBjbGVhcjogYm90aDtcclxuXHQgIG1hcmdpbjogNDBweCA0MHB4IDQwcHggMDtcclxuXHQgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDQwcHg7XHJcblx0ICBib3JkZXI6IDA7XHJcblx0ICBib3JkZXItbGVmdDogc29saWQgMXB4IGRhcmtlbigjZTVlNWU1LCAxMCUpO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBwIHtcclxuXHQgIGNvbG9yOiAjYWFhO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSA+IHA6bGFzdC1jaGlsZCB7XHJcblx0ICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBjaXRlLFxyXG5cdGJsb2NrcXVvdGUgc21hbGwge1xyXG5cdCAgZGlzcGxheTogYmxvY2s7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSBlbSxcclxuXHRibG9ja3F1b3RlIGksXHJcblx0YmxvY2txdW90ZSBjaXRlIHtcclxuXHQgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGUgc3Ryb25nLFxyXG5cdGJsb2NrcXVvdGUgYiB7XHJcblx0ICBmb250LXdlaWdodDogNDAwO1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUlVMRVMgPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdGhyIHtcclxuXHQgIGNsZWFyOiBib3RoO1xyXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb250YWluZXItYm9yZGVyLCA1JSk7XHJcblx0ICBib3JkZXI6IDA7XHJcblx0ICBoZWlnaHQ6IDFweDtcclxuXHQgIG1hcmdpbjogNXJlbSAwO1xyXG5cdH1cclxuXHJcblxyXG4vKiogPT0gUFJFID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHRwcmUge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHRcdGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNmVtO1xyXG5cdFx0cGFkZGluZzogMyUgNSUgMyUgMTAlO1xyXG5cdFx0b3ZlcmZsb3c6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHR0YWItc2l6ZTogNDtcclxuXHR9XHJcblxyXG5cdHByZTpiZWZvcmUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcblx0XHRjb250ZW50OiBcIlxcZjEyMVwiO1xyXG5cdFx0YmFja2dyb3VuZDogI0JCQzNDQztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMCAzcHg7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHR6LWluZGV4OiA1O1xyXG5cdH1cclxuXHJcblx0Y29kZSwga2JkLCB0dCwgdmFyIHsgZm9udDogMTVweCBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2UgfVxyXG5cclxuXHJcbi8qKiA9PSBUQUJMRSA9PSAqL1xyXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0dGFibGUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXI6IGRvdHRlZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0cGFkZGluZzogMSUgMyU7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB0ZCwgdGFibGUgdGgge1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB0aGVhZCB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cclxuXHJcblx0dGFibGUgdGhlYWQgdGggeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuXHR0YWJsZSB0ZCB7IGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XHJcblxyXG5cdHRhYmxlIHRyOmxhc3QtY2hpbGQgdGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XHJcblxyXG5cdHRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cclxuXHJcblxyXG4vKiogPT0gTUlTQyA9PSAqL1xyXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0LmNsZWFyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDFweDtcclxuXHRcdGhlaWdodDogMXB4O1xyXG5cdH0iLCJcclxuLy8gVHlwb2dyYXBoeVxyXG4kcHJpbWFyeS1mb250LXN0YWNrOiAgICAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRzZWNvbmRhcnktZm9udC1zdGFjazogICdMYXRvJywgc2Fucy1zZXJpZjtcclxuXHJcbi8vIFJlc3Bvc2l2ZSBCcmVha3BvaW50IFZhbHVlcy5cclxuJG1vYmlsZTogMCA2NDBweDtcclxuJHRhYmxldDogNjQxcHggMTAyNHB4O1xyXG5cclxuJHRvdWNoOiAwIDEwMjRweDtcclxuJG5vLXRvdWNoOiAxMDI1cHg7XHJcblxyXG4kbGctZGVza3RvcDogIDEwMjVweCAxNDQwcHg7XHJcbiR4bGctZGVza3RvcDogIDE0NDFweCAxOTE5cHg7XHJcblxyXG4kaGQtZGVza3RvcDogMTkyMHB4IDI1NTlweDtcclxuJHhoZC1kZXNrdG9wOiAyNTYwcHg7XHJcblxyXG4kcmV0aW5hOiAgMTQ0MHB4O1xyXG4kbGFwdG9wOiAgMTM2NnB4O1xyXG4iLCIvLyBBY2NlbnQgQ29sb3JcclxuJGFjY2VudC1iZzogICAgXHRcdFx0I0ZFRUEzNiAhZGVmYXVsdDtcclxuJGFjY2VudC10ZXh0OiAgICBcdFx0IzNBM0MzRCAhZGVmYXVsdDtcclxuXHJcbi8vIEJvZHlcclxuJGJvZHktYmc6ICAgIFx0XHRcdCNmMmYyZjIgdXJsKFwiLi4vLi4vaW1hZ2VzL2xpbmUucG5nXCIpIG5vLXJlcGVhdCBmaXhlZCAwJSAwJSAhZGVmYXVsdDsgXHJcbiRib2R5LWhlYWRpbmc6IFx0XHRcdCMzYTNjM2QgIWRlZmF1bHQ7XHJcbiRib2R5LXRleHQ6IFx0XHRcdCM3QjdEODAgIWRlZmF1bHQ7XHJcbiRib2R5LWxpbms6IFx0XHRcdCM5Njk5OWQgIWRlZmF1bHQ7XHJcbiRib2R5LWJvcmRlcjpcdFx0XHQjRDRENEQ0ICFkZWZhdWx0O1xyXG5cclxuLy8gQ29udGFpbmVyXHJcbiRjb250YWluZXItYmc6ICBcdFx0I2ZmZiAhZGVmYXVsdDtcclxuJGNvbnRhaW5lci1oZWFkaW5nOiAgXHQjM2EzYzNkICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXRleHQ6IFx0XHQjOTY5OTlkICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLWxpbms6IFx0XHQjRkZGICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLWJvcmRlcjpcdFx0I2YyZjJmMiAhZGVmYXVsdDtcclxuJGNvbnRhaW5lci1pY29uOlx0XHQjRDJENkRCICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLWljb24taG92ZXI6XHQjNjY2OTZEICFkZWZhdWx0O1xyXG5cclxuLy8gTGlua3NcclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XHJcbiRsaW5rLWNvbG9yLWhvdmVyOiAgICAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuLy8gRm9ybXNcclxuJGZpZWxkLWJnOiAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjA3KSAhZGVmYXVsdDtcclxuJGZpZWxkLXRleHQ6ICAgICAgICAgICAgIzk2OTk5RCAhZGVmYXVsdDtcclxuJGZpZWxkLXBsYWNlaG9sZGVyOiAgICAgcmdiYSgwLCAwLCAwLCAwLjMpICFkZWZhdWx0O1xyXG4kZmllbGQtYm9yZGVyOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gVGFncyBXaWRnZXRcclxuJHRhZy1iZzogICAgICAgICAgICAgXHQjRTRFNEU0ICFkZWZhdWx0O1xyXG4kdGFnLXRleHQ6ICAgICAgICAgICAgIFx0Izc1NzU3NSAhZGVmYXVsdDtcclxuXHJcbi8vIExvYWQgTW9yZVxyXG4kbG9hZC1tb3JlLWJnOiAgICAgICAgICAjYTlhOWE5ICFkZWZhdWx0O1xyXG4kbG9hZC1tb3JlLWJnLWhvdmVyOiAgICAjOTE5MTkxICFkZWZhdWx0O1xyXG4kbG9hZC1tb3JlLXRleHQ6ICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gU2hvcnRjb2Rlc1xyXG4kdG9nZ2xlLWJnOiAgICAgICAgICBcdCNmMWYxZjEgIWRlZmF1bHQ7XHJcbiR0b2dnbGUtdGV4dDogICAgICAgICAgXHQjMDAwICFkZWZhdWx0O1xyXG5cclxuLy8gQmxvZ1xyXG4kcG9zdC1mb3JtYXQtYmc6ICAgICAgICAjM2IzYzNlICFkZWZhdWx0O1xyXG4kcG9zdC1mb3JtYXQtdGV4dDogICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcG9zdC1mb3JtYXQtaWNvbjogICAgICAjZDJkNmRiICFkZWZhdWx0O1xyXG4kcG9zdC1mb3JtYXQtYm9yZGVyOiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWRlZmF1bHQ7XHJcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAyLiAgR1JJRCBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblx0JHN1c3k6IChcclxuXHRcdGdsb2JhbC1ib3gtc2l6aW5nOiBib3JkZXItYm94LFxyXG5cdFx0Z3V0dGVyLXBvc2l0aW9uOiBpbnNpZGUtc3RhdGljLFxyXG5cdFx0Y29udGFpbmVyOiAxMTcwcHgsXHJcblx0XHRjb2x1bW5zOiAxMixcclxuXHRcdGNvbHVtbi13aWR0aDogMjYwcHgsXHJcblx0XHRndXR0ZXJzOiAxLzgsXHJcblx0KTtcclxuXHJcblx0QGluY2x1ZGUgYm9yZGVyLWJveC1zaXppbmc7XHJcblxyXG5cclxuLyoqID09IFNDQUZGT0xESU5HID09ICovXHJcbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQjc2l0ZS1jb250YWluZXIge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIGNvbnRhaW5lcigzMDBweCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBjb250YWluZXIoNzAwcHgpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIGNvbnRhaW5lcigpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4bGctZGVza3RvcCkgeyBAaW5jbHVkZSBjb250YWluZXIoMTUwMHB4KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBjb250YWluZXIoMTc4MHB4KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgY29udGFpbmVyKDI0MjBweCk7IH1cclxuXHJcblx0XHQjZ2xvYmFsLXNpZGViYXIge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgNCk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDUpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxLjI1IG9mIDgpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiA4KTsgfVxyXG5cclxuXHRcdH1cclxuXHRcdCNwcmltYXJ5LWNvbnRlbnQge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMSBuZXN0KTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiA0IG5lc3QpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNCBvZiA1IG5lc3QpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3Bhbig2Ljc1IG9mIDggbmVzdCk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3Bhbig3IG9mIDggbmVzdCk7IH1cclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cclxuXHJcbi8qKiA9PSBQT1JURk9MSU8gPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdCNwb3J0Zm9saW8tZ3JpZCxcclxuXHQjc3RvcmUtZ3JpZFxyXG5cdHtcclxuXHRcdC5lbnRyeSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgMSk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAyKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4bGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgNCk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDEgb2YgNSk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDcpOyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcbi8qKiA9PSBQUklNQVJZIENPTlRFTlQgPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdCNwcmltYXJ5LWNvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0I3RvcC1jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAxKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgc3BhbigyIG9mIDIpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMi40IG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMi4xNSBvZiAzKTsgfVxyXG5cclxuXHRcdFx0LnN1bW1hcnkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvdWNoKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiAzIG5lc3QpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbm8tdG91Y2gpIHsgQGluY2x1ZGUgc3BhbigyIG9mIDMgbmVzdCk7IH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuc2tpbGxzIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBAaW5jbHVkZSBzcGFuKDMgb2YgMyBuZXN0KTsgfVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vLXRvdWNoKSB7QGluY2x1ZGUgc3BhbigxIG9mIDMgbmVzdCk7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCNtYWluLWNvbnRlbnQge1xyXG5cclxuXHRcdFx0Ji5mdWxsLXdpZHRoIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7IEBpbmNsdWRlIHNwYW4oMiBvZiAyKTsgfVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigzIG9mIDMpOyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkaGQtZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDIuNCBvZiAzKTsgfVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMi4xNSBvZiAzKTsgfVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmZsZXhpYmxlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiAzKTsgfVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMik7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGctZGVza3RvcCkgeyBAaW5jbHVkZSBzcGFuKDIgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigyIG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxLjYgb2YgMyk7IH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxLjQ1IG9mIDMpOyB9XHJcblx0XHR9XHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAxKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgc3BhbigyIG9mIDIpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3BhbigxIG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMSBvZiAzKTsgfVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMC44IG9mIDMpOyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMC43IG9mIDMpOyB9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblxyXG5cclxuLyoqID09IE1JU0MgPT0gKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdC5zbGlja25hdl9uYXYge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlKSB7IEBpbmNsdWRlIGNvbnRhaW5lcigyODBweCk7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkgeyBAaW5jbHVkZSBjb250YWluZXIoNzAwcHgpOyB9XHJcblx0fVxyXG5cclxuXHQucG9ydGZvbGlvICNsb2FkLW1vcmUsXHJcblx0LnN0b3JlICNsb2FkLW1vcmVcclxuXHR7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgQGluY2x1ZGUgc3BhbigxIG9mIDEpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgQGluY2x1ZGUgc3BhbigyIG9mIDIpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZy1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oMyBvZiAzKTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGxnLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3Bhbig0IG9mIDQpOyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRoZC1kZXNrdG9wKSB7IEBpbmNsdWRlIHNwYW4oNSBvZiA1KTsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgQGluY2x1ZGUgc3Bhbig3IG9mIDcpOyB9XHJcblx0fSIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBDb250YWluZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgY29udGFpbmVyIGVsZW1lbnRcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgICAgOiAkbGF5b3V0O1xuICAkbGF5b3V0ICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG5cbiAgJF93aWR0aCAgICAgOiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xuICAkX2p1c3RpZnkgICA6IHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihzdXN5LWdldChjb250YWluZXItcG9zaXRpb24sICRsYXlvdXQpKTtcbiAgJF9wcm9wZXJ0eSAgOiBpZihzdXN5LWdldChtYXRoLCAkbGF5b3V0KSA9PSBzdGF0aWMsIHdpZHRoLCBtYXgtd2lkdGgpO1xuXG4gICRfYm94ICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJGxheW91dCk7XG5cbiAgQGlmICRfYm94IHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRfYm94KSk7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoY29udGFpbmVyLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGZsb2F0LWNvbnRhaW5lcigkX3dpZHRoLCAkX2p1c3RpZnksICRfcHJvcGVydHkpO1xuICBAaW5jbHVkZSBzaG93LWdyaWQoJGxheW91dCk7XG59XG5cbi8vIENvbnRhaW5lciBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0OiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICBAcmV0dXJuIGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG59XG5cbi8vIEdldCBDb250YWluZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB0aGUgY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XTogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1jb250YWluZXItd2lkdGgoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dCAgICAgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF93aWR0aCAgICAgICAgIDogc3VzeS1nZXQoY29udGFpbmVyLCAkbGF5b3V0KTtcbiAgJF9jb2x1bW4td2lkdGggIDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkbGF5b3V0KTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGxheW91dCk7XG5cbiAgQGlmIG5vdCgkX3dpZHRoKSBvciAkX3dpZHRoID09IGF1dG8ge1xuICAgIEBpZiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKSB7XG4gICAgICAkX2NvbHVtbnMgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRsYXlvdXQpO1xuICAgICAgJF9ndXR0ZXJzICAgOiBzdXN5LWdldChndXR0ZXJzLCAkbGF5b3V0KTtcbiAgICAgICRfc3ByZWFkICAgIDogaWYoaXMtc3BsaXQoJGxheW91dCksIHdpZGUsIG5hcnJvdyk7XG4gICAgICAkX3dpZHRoICAgICA6IHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkgKiAkX2NvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3dpZHRoO1xufVxuXG4vLyBQYXJzZSBDb250YWluZXIgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFyc2UgdGhlICRjb250YWluZXItcG9zaXRpb24gaW50byBtYXJnaW4gdmFsdWVzLlxuLy8gLSBbJGp1c3RpZnldICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCA8bGVuZ3RoPiBbPGxlbmd0aD5dXG5AZnVuY3Rpb24gcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKFxuICAkanVzdGlmeTogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgY29udGFpbmVyLXBvc2l0aW9uKVxuKSB7XG4gICRfcmV0dXJuOiBpZigkanVzdGlmeSA9PSBsZWZ0LCAwLCBhdXRvKSBpZigkanVzdGlmeSA9PSByaWdodCwgMCwgYXV0byk7XG5cbiAgQGlmIG5vdChpbmRleChsZWZ0IHJpZ2h0IGNlbnRlciwgJGp1c3RpZnkpKSB7XG4gICAgJF9yZXR1cm46IG50aCgkanVzdGlmeSwgMSk7XG4gICAgJF9yZXR1cm46ICRfcmV0dXJuIGlmKGxlbmd0aCgkanVzdGlmeSkgPiAxLCBudGgoJGp1c3RpZnksIDIpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gU3VzeSBGYWxsYmFjayBDbGVhcmZpeFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENsZWFyZml4XG4vLyAtLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG5AbWl4aW4gc3VzeS1jbGVhcmZpeCB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoY2xlYXJmaXgsIChtaXhpbjogY2xlYXJmaXgpKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH0gQGVsc2Uge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3V0dGVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIEd1dHRlcnNcbi8vIC0tLS0tLS1cbi8vIFNldCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX291dHB1dDogKFxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXG4gICAgYWZ0ZXI6IG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlciksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChndXR0ZXJzLCAkaW5zcGVjdCk7XG5cbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH1cbn1cblxuQG1peGluIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZ3V0dGVycygkc3Bhbik7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBndXR0ZXIuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRzcGFuOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSBvciBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xufVxuXG5cbi8vIEdldCBHdXR0ZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXItd2lkdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVycyA6IHN1c3ktZ2V0KGd1dHRlcnMsICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgIDogc3VzeS1nZXQoZ3V0dGVyLW92ZXJyaWRlLCAkY29udGV4dCk7XG5cbiAgQGlmICRfZ3V0dGVycyBhbmQgKCRfZ3V0dGVycyA+IDApIGFuZCBub3QoJF9ndXR0ZXIpIHtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkY29udGV4dCk7XG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJF9ndXR0ZXI6ICRfZ3V0dGVycyAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGNvbnRleHQpO1xuICAgICAgJF9zcHJlYWQgIDogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCB3aWRlLCBzdXN5LWdldChzcHJlYWQsICRjb250ZXh0KSk7XG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xuICAgIH1cbiAgfVxuXG4gICRfZ3V0dGVyOiBpZigkX2d1dHRlciA9PSAnbm8tZ3V0dGVycycgb3IgJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcicsIG51bGwsICRfZ3V0dGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVyO1xufVxuXG5cbi8vIEdldCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlcnMoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICAgICAgICAgICAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlci1wb3NpdGlvbiAgIDogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICAgICAgICAgICAgOiBnZXQtZ3V0dGVyLXdpZHRoKCRjb250ZXh0KTtcblxuICAkX3JldHVybiAgICAgICAgICAgIDogKGJlZm9yZTogbnVsbCwgYWZ0ZXI6IG51bGwpO1xuXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcbiAgICAkX2d1dHRlcjogJF9ndXR0ZXIgLyAyO1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChiZWZvcmU6ICRfZ3V0dGVyLCBhZnRlcjogJF9ndXR0ZXIpKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKCRfZ3V0dGVyLXBvc2l0aW9uOiAkX2d1dHRlcikpO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBJcyBJbnNpZGVcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIGluc2lkZS5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1pbnNpZGUoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gSXMgU3BsaXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtc3BsaXQoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9zcGxpdDogc3BsaXQgaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfc3BsaXQsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIEd1dHRlciBNYXRoXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBtYXRoIHRvIHVzZSBmb3IgZ3V0dGVyIGNhbGN1bGF0aW9uc1xuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGd1dHRlci1tYXRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkX3JldHVybiAgOiBzdXN5LWdldChtYXRoLCAkY29udGV4dCk7XG4gICRfcmV0dXJuICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpID09IGluc2lkZS1zdGF0aWMsIHN0YXRpYywgJF9yZXR1cm4pO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBDZW50ZXIgUG9zaXRpb25pbmcgTWl4aW4gXHJcbkBtaXhpbiBjZW50ZXIoJGhvcml6b250YWw6IHRydWUsICR2ZXJ0aWNhbDogdHJ1ZSkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBAaWYgKCRob3Jpem9udGFsIGFuZCAkdmVydGljYWwpIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAoJGhvcml6b250YWwpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG4gIH0gQGVsc2UgaWYgKCR2ZXJ0aWNhbCkge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDbGVhcmZveCBNaXhpbiBcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICp6b29tOiAxO1xyXG5cclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAzLiAgU0NBRkZPTERJTkcgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblx0I3NpdGUtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDYwcHggMDtcclxuXHJcblx0XHQjZ2xvYmFsLXNpZGViYXIge1xyXG5cdFx0XHQ+ICo6bm90KCNzaXRlLWhlYWRlcikge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvdWNoKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVx0XHRcclxuXHR9XHJcblxyXG5cdC8qKiBTaXRlIEhlYWRlciAqL1xyXG5cdCNzaXRlLWhlYWRlciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxyXG5cclxuXHRcdCNzaXRlLWxvZ28ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdFx0aW1nIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdCAgY29udGVudDogJyc7XHJcblx0XHQgIHdpZHRoOiAzMHB4O1xyXG5cdFx0ICBoZWlnaHQ6IDFweDtcclxuXHRcdCAgYmFja2dyb3VuZDogJGJvZHktYm9yZGVyO1xyXG5cdFx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHQgIGxlZnQ6IDA7XHJcblx0XHQgIGJvdHRvbTogMDtcclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cclxuXHQvKiogU29jaWFsIEljb25zICovXHJcblx0LnNvY2lhbC1pY29ucyB7XHJcblx0XHRtYXJnaW46IDIwcHggMCAwIDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMjVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI1cHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjQjRCNEI0O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuZmFjZWJvb2sge1xyXG5cdFx0XHRcdGE6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMzYjU5OTg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCYudHdpdHRlciB7XHJcblx0XHRcdFx0YTpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogIzU1YWNlZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5kZXZpYW50YXJ0IHtcclxuXHRcdFx0XHRhOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjNGRjNDdkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHJcblx0XHRcdCYudmltZW8ge1xyXG5cdFx0XHRcdGE6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMxYWI3ZWE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogUHJpbWFyeSBDb250ZW50ICovXHJcblx0I3ByaW1hcnktY29udGVudCB7XHJcblxyXG5cdFx0I21haW4tY29udGVudCB7XHJcblx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0LmNvbnRlbnQtaGVhZGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29udGFpbmVyLWJvcmRlcjtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggMzVweDtcclxuXHJcblx0XHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuZmVhdHVyZWQtbWVkaWEge1xyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDk5LjglO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDFweDtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jb250ZW50LWJvZHkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjhweCAzNXB4IDQwcHggMzVweDtcclxuXHJcblx0XHRcdFx0XHQqOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0I2F3YXJkcyB7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHRcdFx0LmlubmVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNjBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA2MHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRib2R5LWJvcmRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQvKiogTW9iaWxlIE5hdiAqL1xyXG5cdC5zbGlja25hdl9tZW51IHtcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHJcblx0XHQuc2xpY2tuYXZfbWVudSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1x0XHRcclxuXHRcdC5zbGlja25hdl9tZW51IHtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zbGlja25hdl9tZW51IHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0LnNsaWNrbmF2X2J0biAge1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMjBweCAyNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjM0IzQzNFO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuXHRcdFx0PiBzcGFuIHtcclxuXHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zbGlja25hdl9pY29uIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDAuNjc1ZW07XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAuNzM4ZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zbGlja25hdl9uYXYge1xyXG5cdFx0cGFkZGluZzogMzBweCAwO1xyXG5cdH1cclxuXHJcblxyXG5cdC8qKiBDYXJ0IENvdW50ICovXHJcblx0I2NhcnQtY291bnQge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0YmFja2dyb3VuZDogI2ZlZWEzNjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdH1cclxuXHJcblx0XHRpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGNvbG9yOiAjMDAwO1xyXG5cclxuXHRcdFx0LmNvdW50IHtcclxuXHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LXN0YWNrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogLTEwcHg7XHJcblx0XHRcdFx0dG9wOiAtNXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNkMzExMTI7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIExvYWQgTW9yZSAqL1xyXG5cdCNsb2FkLW1vcmUge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGNvbG9yOiAkbG9hZC1tb3JlLXRleHQ7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0YmFja2dyb3VuZDogJGxvYWQtbW9yZS1iZyB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsb2FkLW1vcmUtYmctaG92ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBHbyBUbyBUb3AgKi9cclxuXHQjZ28tdG8tdG9wIHtcclxuXHRcdHdpZHRoOiA0NXB4O1xyXG5cdFx0aGVpZ2h0OiA0NXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQ1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0ei1pbmRleDogOTk7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRib3R0b206IDYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAkbG9hZC1tb3JlLWJnIHVybChcIi4uLy4uL2ltYWdlcy9idXR0b24tZ2xhc3MucG5nXCIpIHJlcGVhdC14IHNjcm9sbCAwcHggMHB4O1xyXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgbGVmdDogNzBweDsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGFwdG9wKSB7IGxlZnQ6IDExNXB4OyB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRyZXRpbmEpIHsgbGVmdDogMTUwcHg7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhsZy1kZXNrdG9wKSB7IGxlZnQ6IDY1cHg7IH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhkLWRlc2t0b3ApIHsgbGVmdDogODBweDsgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeGhkLWRlc2t0b3ApIHsgbGVmdDogODdweDsgfVxyXG5cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxvYWQtbW9yZS1iZy1ob3ZlcjtcclxuXHRcdH1cclxuXHJcblx0XHRpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRjb2xvcjogJGxvYWQtbW9yZS10ZXh0O1xyXG5cdFx0fVxyXG5cdH1cdCIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICA0LiAgU0lERUJBUiBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdFxyXG5cclxuXHQjYmxvZy1zaWRlYmFyIHtcclxuXHRcdC53aWRnZXQ6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRoMyB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEdlbmVyYWwgV2lkZ2V0ICovXHJcblx0LndpZGdldCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHQgIGNvbnRlbnQ6ICcnO1xyXG5cdFx0ICB3aWR0aDogMzBweDtcclxuXHRcdCAgaGVpZ2h0OiAxcHg7XHJcblx0XHQgIGJhY2tncm91bmQ6ICRib2R5LWJvcmRlcjtcclxuXHRcdCAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ICBsZWZ0OiAwO1xyXG5cdFx0ICBib3R0b206IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHQgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHR9XHRcclxuXHRcdH1cclxuXHJcblx0XHRoMyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0Y29sb3I6ICRib2R5LWhlYWRpbmc7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHRcclxuXHR9XHJcblxyXG5cclxuXHQvKiogU2VhcmNoIFdpZGdldCAqL1xyXG5cdC53aWRnZXRfc2VhcmNoIHtcclxuXHRcdGZvcm0ge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0XHR3aWR0aDogODAlO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cdFx0XHR9XHRcclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA5cHg7XHJcblx0XHRcdFx0bGVmdDogNiU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0Y29sb3I6ICNEOEQ4RDg7XHJcblx0XHRcdH1cdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogTGluayBMaXN0ICovXHJcblx0LndpZGdldF9saXN0IHtcclxuXHRcdHVsIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Y29sb3I6ICRib2R5LWxpbms7XHJcblx0XHRcdFx0cGFkZGluZzogMCAycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxpLmFjdGl2ZSB7XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYWNjZW50LWJnO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRhY2NlbnQtdGV4dDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHJcblx0LyoqIFBvcnRmb2xpbyBGaWx0ZXIgKi9cclxuXHQud2lkZ2V0X2ZpbHRlciB7XHJcblx0XHR1bCB7XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRhLmFjdGl2ZSAge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRhY2NlbnQtdGV4dDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNkYmRiZGI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHRcclxuXHJcblx0LyoqIFRhZyBDbG91ZCAqL1xyXG5cdC53aWRnZXRfdGFnX2Nsb3VkIGEge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcblx0XHRsaW5lLWhlaWdodDogMjhweDtcclxuXHRcdHBhZGRpbmc6IDRweCAxNXB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMXB4O1xyXG5cdFx0YmFja2dyb3VuZDogJHRhZy1iZyB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcclxuXHRcdGNvbG9yOiAkdGFnLXRleHQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRib3JkZXItYm90dG9tOiAwcHggbm9uZTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzdiYmI1ZTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogTmV3c2xldHRlciAqL1xyXG5cdC53aWRnZXRfbmV3c2xldHRlciB7XHJcblxyXG5cdFx0LndpZGdldF93cmFwcGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogIzNCM0MzRTtcclxuXHRcdFx0cGFkZGluZzogMjJweCAzMHB4IDMycHggMzBweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMzQzNDM0M7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEFkZHJlc3MgKi9cclxuXHQud2lkZ2V0X2FkZHJlc3Mge1xyXG5cdFx0LndpZGdldC1jb250ZW50IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZTRlNGU0O1xyXG5cdFx0XHRwYWRkaW5nOiAyMnB4IDMwcHggMzJweCAzMHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMTBweDtcclxuXHRcdFx0XHRyaWdodDogMjBweDtcclxuXHRcdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDhkXCI7XHJcblx0XHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuMjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRjb2xvcjogIzc3Nzc3NztcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMzQzNDM0M7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHRcclxuXHRcdH1cclxuXHR9XHQiLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNS4gIFBPUlRGT0xJTyBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQvKiogUG9ydGZvbGlvIEdyaWQgKi9cclxuXHQjcG9ydGZvbGlvLWdyaWQge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0LmVudHJ5IHtcclxuXHJcblx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0LmVudHJ5LW1lZGlhIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2MHB4O1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KSB1cmwoJy4uLy4uL2ltYWdlcy9ob3Zlci1iZy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCY6aG92ZXI6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmVudHJ5LWRlc2Mge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogIzk2OTk5ZDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0XHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBUb3AgQ29udGVudCAqL1xyXG5cdCN0b3AtY29udGVudCB7XHJcblxyXG5cdFx0LmlubmVyIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMzQjNDM0U7XHJcblx0XHRcdHBhZGRpbmc6IDI4cHggMzVweCAzMHB4IDM1cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDM1cHg7XHJcblxyXG5cdFx0XHQuc3VtbWFyeSB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0b3VjaCkgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyBwYWRkaW5nLWJvdHRvbTogMzBweDsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuby10b3VjaCkgeyBcclxuXHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRyaWdodDogLTIuNSU7XHJcblx0XHRcdFx0XHRcdHRvcDogMHB4O1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgcmlnaHQ6IDIlOyB9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLWRlc2t0b3ApIHsgcmlnaHQ6IC0zJTsgfVxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4aGQtZGVza3RvcCkgeyByaWdodDogLTMlOyB9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcclxuXHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNraWxscyB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA2N3B4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcblx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGE6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5uYXZpZ2F0aW9uIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cclxuXHRcdFx0XHR1bCB7XHJcblx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMjdweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyN3B4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjdweDtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMnB4O1xyXG5cclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2E5YTlhOSB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM3YmJiNWU7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHRcdFx0XHRcclxuXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LyoqIE1haW4gQ29udGVudCAqL1xyXG5cdCNtYWluLWNvbnRlbnQucG9ydGZvbGlvLWltYWdlcyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cclxuXHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdG1hcmdpbjogMCAwIDMycHggMDtcclxuXHJcblx0XHRcdC5pbWFnZSB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpZ2NhcHRpb24ge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICM5Njk5OWQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAycHggMThweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0fVx0XHRcclxuXHJcblx0XHQuc2hhcmluZy1saW5rcyB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0bWFyZ2luLXRvcDogNDVweDtcclxuXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRib2R5LWhlYWRpbmc7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJHRhZy1iZztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMzVweDtcclxuXHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cclxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiBsaWdodGVuKCR0YWctdGV4dCwgNyUpO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGFnLXRleHQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0LyoqIFBhZ2UgU2lkZWJhciAqL1xyXG5cdCNwYWdlLXNpZGViYXIucG9ydGZvbGlvLW1ldGEge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG91Y2gpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQubWV0YS1pbmZvIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkdGFnLWJnO1xyXG5cdFx0XHRwYWRkaW5nOiAzMHB4IDM1cHg7XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL2luZm8uc3ZnKTtcclxuXHRcdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0b3BhY2l0eTogMC4yO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubWV0YSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM3B4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRib2R5LWhlYWRpbmc7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRib2R5LWxpbms7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFxyXG5cdFx0fVxyXG5cclxuXHR9IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIDYuICBCTE9HIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdC5ibG9nLnNpbmdsZSB7XHJcblx0XHQuZW50cnktZGVzYyB7XHJcblx0XHRcdGgzXHR7XHJcblx0XHRcdFx0cGFkZGluZzogMCAzcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5lbnRyeS1tZXRhIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC5ibG9nIHtcclxuXHJcblx0XHQvKiogR2VuZXJhbCBTdHlsaW5nICovXHJcblx0XHQuZW50cnkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblxyXG5cdFx0XHQuZW50cnktbWVkaWEge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR6LWluZGV4OiA5OTk5O1xyXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmVudHJ5LWRlc2Mge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMzVweDtcclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzcHg7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGFjY2VudC10ZXh0O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGNkY2RjY7XHJcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAjOTY5OTlkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZW50cnktbWV0YSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0cGFkZGluZzogMCAzNnB4IDMwcHggMzZweDtcclxuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICM5Njk5OWQ7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblxyXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWljb247XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLWljb24taG92ZXI7XHJcblx0XHRcdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1pY29uLWhvdmVyO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxpLmRhdGUgaSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcclxuXHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0XHRsaS5saWtlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuXHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YTpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjN2JiYjVlO1xyXG5cdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzdiYmI1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxpLmNvbW1lbnRzIHtcclxuXHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LyoqIFN0YW5kYXJkIEZvcm1hdCAqL1xyXG5cdFx0LmZvcm1hdC1zdGFuZGFyZDpob3ZlciB7XHJcblxyXG5cdFx0XHQuZW50cnktbWVkaWEge1xyXG5cdFx0XHRcdGEge1xyXG5cclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7IG9wYWNpdHk6IDE7IH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC8qKiBRdW90ZSBGb3JtYXQgKi9cclxuXHRcdC5mb3JtYXQtcXVvdGUge1xyXG5cclxuXHRcdFx0LmVudHJ5LW1lZGlhIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJHBvc3QtZm9ybWF0LWJnO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDM1cHggNjBweCAzOHB4IDYwcHg7XHJcblxyXG5cdFx0XHRcdGJsb2NrcXVvdGUge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDM0cHg7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDMwcHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjEwZFwiO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHBvc3QtZm9ybWF0LWljb247XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHBvc3QtZm9ybWF0LXRleHQ7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDJweCAwIDM1cHg7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDFweDtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHBvc3QtZm9ybWF0LWJvcmRlcjtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogMTBweDtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LyoqIExpbmsgRm9ybWF0ICovXHJcblx0XHQuZm9ybWF0LWxpbmsge1xyXG5cdFx0XHQuZW50cnktbWVkaWEge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcG9zdC1mb3JtYXQtYmc7XHJcblx0XHRcdFx0cGFkZGluZzogMzVweCA2MHB4IDM4cHggNjBweDtcclxuXHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMzRweDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMzBweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMGMxXCI7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkcG9zdC1mb3JtYXQtaWNvbjtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkcG9zdC1mb3JtYXQtdGV4dDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMnB4IDAgMzVweDtcclxuXHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcG9zdC1mb3JtYXQtYm9yZGVyO1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cclxuXHR9XHJcblxyXG5cclxuXHQvKiogR2FsbGVyeSBGb3JtYXQgKi9cclxuXHQuZm9ybWF0LWdhbGxlcnkgIHtcclxuXHJcblx0XHQuc2xpY2stYXJyb3cge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMzYjNjM2U7XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRcdGkuZmEge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5wcmV2LWFycm93IHtcclxuXHRcdFx0XHRyaWdodDogNTRweDtcclxuXHRcdFx0XHR6LWluZGV4OiA5OTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkVFQTM2O1xyXG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVx0XHQiLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNS4gIFNUT1JFIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cdC8qKiBTdG9yZSBHcmlkICovXHJcblx0I3N0b3JlLWdyaWQge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0LmVudHJ5IHtcclxuXHJcblx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xyXG5cdFx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0ICAgIGxlZnQ6IDBweDtcclxuXHRcdFx0XHQgICAgdG9wOiAwcHg7XHJcblx0XHRcdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0ICAgIHBhZGRpbmc6IDBweCAyMnB4O1xyXG5cdFx0XHRcdCAgICB6LWluZGV4OiAxO1xyXG5cdFx0XHRcdCAgICB6LWluZGV4OiA5OTk7XHJcblx0XHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zYWxlKTtcclxuXHRcdFx0XHQgICAgYmFja2dyb3VuZDogI0QzMTExMjtcclxuXHRcdFx0XHQgICAgY29sb3I6ICNGRkY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdCAgICBjb250ZW50OiBhdHRyKGRhdGEtc3RvY2spO1xyXG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiAjRkJGMjg1O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0LmFkZC10by1jYXJ0IHtcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5hZGQtdG8tY2FydCB7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuXHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHQgICAgcmlnaHQ6IDEycHg7XHJcblx0XHRcdFx0XHQgICAgdG9wOiAxMnB4O1xyXG5cdFx0XHRcdFx0ICAgIHdpZHRoOiAzM3B4O1xyXG5cdFx0XHRcdFx0ICAgIGhlaWdodDogMzNweDtcclxuXHRcdFx0XHRcdCAgICBsaW5lLWhlaWdodDogMzNweDtcclxuXHRcdFx0XHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHQgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdFx0XHRcdCAgICBmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHQgICAgei1pbmRleDogOTk5O1xyXG5cdFx0XHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdFx0XHRcdFx0ICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTgwLCAxODAsIDE4MCwgMC41KTtcclxuXHRcdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xyXG5cdFx0XHRcdFx0ICAgIGNvbG9yOiAjYjRiNGI0O1xyXG5cclxuXHRcdFx0XHRcdCAgICAmOmhvdmVyIHtcclxuXHRcdFx0XHRcdCAgICBcdGJvcmRlcjogMXB4IHNvbGlkICM3NmI0NWE7XHJcblx0XHRcdFx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JiYjVlO1xyXG5cdFx0XHRcdFx0XHQgICAgY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHQgICAgfVxyXG5cclxuXHRcdFx0XHRcdCAgICBpIHsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0dWwuc2xpY2stZG90cyB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTVweDtcclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRsaS5zbGljay1hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmVudHJ5LWRlc2Mge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjJweCAyNXB4O1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzcGFuLnRheG9ub215IHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogIzk2OTk5ZDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdHNwYW4ucHJpY2Uge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMjVweDtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDI1cHg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICMzYjNjM2U7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgNXB4O1xyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC8qKiBTdG9yZSBDYXJ0ICovXHJcblx0LnN0b3JlLmNhcnQge1xyXG5cdFx0I21haW4tY29udGVudCB7XHJcblx0XHRcdC5jYXJ0LXN1bW1hcnkge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICMzYjNjM2U7XHJcblx0XHRcdFx0cGFkZGluZzogMjBweCAzNXB4O1xyXG5cclxuXHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Zm9ybSB7XHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9XCJudW1iZXJcIl1cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2VlZTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDE1cHggMCAwIDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0YWJsZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHJcblx0XHRcdFx0XHR0aGVhZCB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTY1NzU3O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTY1NzU3O1xyXG5cclxuXHRcdFx0XHRcdFx0XHR0aCB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5wcm9kdWN0LW5hbWUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1wcmljZSxcclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1xdWFudGl0eSxcclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1zdWJ0b3RhbFxyXG5cdFx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTclO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICM5OTk5OTk7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1NjU3NTc7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1wcmljZSxcclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1xdWFudGl0eSxcclxuXHRcdFx0XHRcdFx0XHRcdCYucHJvZHVjdC1zdWJ0b3RhbFxyXG5cdFx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTclO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5wcm9kdWN0LW5hbWUgYSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5wcm9kdWN0LXJlbW92ZSBhIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICM5OTk5OTk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5hY3Rpb25zIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQucXVhbnRpdHkgaW5wdXQge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNDVweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFx0XHRcdC5jb3Vwb24ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiAyMjBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHRcdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZSkgeyBcclxuXHJcblx0XHRcdFx0XHR0YWJsZSB7XHJcblxyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jazsgXHJcblxyXG5cdFx0XHRcdFx0XHQvKiBGb3JjZSB0YWJsZSB0byBub3QgYmUgbGlrZSB0YWJsZXMgYW55bW9yZSAqL1xyXG5cdFx0XHRcdFx0XHR0aGVhZCwgdGJvZHksIHRoLCB0ZCwgdHIgeyBcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jazsgXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8qIEhpZGUgdGFibGUgaGVhZGVycyAoYnV0IG5vdCBkaXNwbGF5OiBub25lOywgZm9yIGFjY2Vzc2liaWxpdHkpICovXHJcblx0XHRcdFx0XHRcdHRoZWFkIHRyIHsgXHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogLTk5OTlweDtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAtOTk5OXB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB7IGJvcmRlcjogMXB4IHNvbGlkICM1NjU3NTc7IH1cclxuXHJcblx0XHRcdFx0XHRcdHRkIHsgXHJcblx0XHRcdFx0XHRcdFx0LyogQmVoYXZlICBsaWtlIGEgXCJyb3dcIiAqL1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgXHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNTAlOyBcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dGQ6YmVmb3JlIHsgXHJcblx0XHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LyogTGFiZWwgdGhlIGRhdGEgKi9cclxuXHRcdFx0XHRcdFx0dGQ6bnRoLW9mLXR5cGUoMSk6YmVmb3JlIHsgY29udGVudDogXCJQcm9kdWN0XCI7IH1cclxuXHRcdFx0XHRcdFx0dGQ6bnRoLW9mLXR5cGUoMik6YmVmb3JlIHsgY29udGVudDogXCJQcmljZVwiOyB9XHJcblx0XHRcdFx0XHRcdHRkOm50aC1vZi10eXBlKDMpOmJlZm9yZSB7IGNvbnRlbnQ6IFwiUXVhbnRpdHlcIjsgfVxyXG5cdFx0XHRcdFx0XHR0ZDpudGgtb2YtdHlwZSg0KTpiZWZvcmUgeyBjb250ZW50OiBcIlRvdGFsXCI7IH1cclxuXHJcblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIE9yZGVyIFRvdGFsICovXHJcblx0LnN0b3JlLmNhcnQge1xyXG5cdFx0I21haW4tY29udGVudCB7XHJcblx0XHRcdC5vcmRlci10b3RhbCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDM1cHg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMzYTNjM2Q7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRhYmxlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNBRkFGQUY7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2UzZTM7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHR0ciB0aCB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMyQjJFMzM7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlM2UzO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHRyIHRkIHtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTRweCA4cHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0LmNhbGN1bGF0ZS1zaGlwcGluZyB7XHJcblx0XHRcdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuXHRcdFx0XHQgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHQgICAgZm9udC1zaXplOiAxMHB4O1xyXG5cdFx0XHRcdCAgICBmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdCAgICBjb2xvcjogIzNBM0MzRDtcclxuXHRcdFx0XHQgICAgYmFja2dyb3VuZDogI0ZFRUEzNjtcclxuXHRcdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdCAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0ICAgIHBhZGRpbmc6IDFweCA1cHg7XHJcblx0XHRcdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcm9jZWVkLWNoZWNrb3V0IHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBDYWxjdWxhdGUgU2hpcHBpbmcgKi9cclxuXHQuc3RvcmUuY2FydCB7XHJcblx0XHQjcGFnZS1zaWRlYmFyIHtcclxuXHRcdFx0LnNoaXBwaW5nLWluZm8ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTRlNGU0O1xyXG5cdFx0XHRcdGNvbG9yOiAjM2EzYzNkO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDMwcHggMzVweDtcclxuXHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdHRvcDogMzBweDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAzN3B4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL2RlbGl2ZXJ5LXRydWNrNS5zdmcpO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Zm9ybSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBzZWxlY3Qge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjZmNmY2O1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWQ5O1xyXG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2Y2ZjZmNiB1cmwoLi4vLi4vaW1hZ2VzL3NlbGVjdC1maWVsZC1hcnJvdy5wbmcpIG5vLXJlcGVhdCA5NSUgY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0XHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0XHRcdFx0XHRcdHRleHQtaW5kZW50OiAxcHg7XHJcblx0XHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6ICcnO1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvKiogU2luZ2xlIFByb2R1Y3QgKi9cclxuXHQuc2luZ2xlLXByb2R1Y3Qge1xyXG5cdFx0I21haW4tY29udGVudCB7XHJcblx0XHRcdC5lbnRyeSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0LmVudHJ5LWhlYWRlciB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjM2IzYzNlO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMzVweCA0MHB4O1xyXG5cclxuXHRcdFx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdFx0XHRcdGgxIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuY2FydCB7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHJcblx0XHRcdFx0XHRcdC5xdWFudGl0eSB7XHJcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA1MHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0MnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2VlZTtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRcdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgMjBweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmVudHJ5LWRlc2Mge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjBweCAzNXB4O1xyXG5cclxuXHRcdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDNweDtcclxuXHJcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGFjY2VudC10ZXh0O1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y2RjZGNjtcclxuXHRcdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTY5OTlkO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHRhYmxlIHtcclxuXHRcdFx0XHRcdCAgICBib3JkZXI6IDA7XHJcblx0XHRcdFx0XHQgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7XHJcblx0XHRcdFx0XHQgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XHJcblxyXG5cdFx0XHRcdFx0ICAgIHRib2R5IHtcclxuXHJcblx0XHRcdFx0XHQgICAgXHR0cjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHQgICAgXHRcdHRoLCB0ZCB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdFx0XHRcdFx0ICAgIFx0XHR9XHJcblx0XHRcdFx0XHQgICAgXHR9XHJcblxyXG5cdFx0XHRcdFx0ICAgICAgICB0ciB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcblx0XHRcdFx0XHQgICAgICAgICAgICB0aFtzY29wZT1cInJvd2dyb3VwXCJdIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0d2lkdGg6IDMwJTtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH1cclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHRoW3Njb3BlPVwicm93XCJdIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdFx0XHQgICAgICAgICAgICB0aCB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdGNvbG9yOiAjM0IzQzNFO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHRwYWRkaW5nOiAycHggMTBweDtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdFx0XHQgICAgICAgICAgICB0ZCB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBcdHBhZGRpbmc6IDJweCAxMHB4O1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgXHRjb2xvcjogIzk5OTtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXHJcblx0XHRcdFx0XHQgICAgICAgIH1cclxuXHJcblx0XHRcdFx0XHQgICAgXHR0cjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdCAgICBcdFx0dGgsIHRkIHtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0XHQgICAgXHRcdH1cclxuXHRcdFx0XHRcdCAgICBcdH1cclxuXHJcblx0XHRcdFx0XHQgICAgfSAgIFxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmVudHJ5LW1ldGEge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMzZweCAzMHB4IDM2cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogIzk2OTk5ZDtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cclxuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaWNvbjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItaWNvbi1ob3ZlcjtcclxuXHRcdFx0XHRcdFx0XHRcdGkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1pY29uLWhvdmVyO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsaS5kYXRlIGkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0XHRsaS5saWtlIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG5cdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0YTpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICM3YmJiNWU7XHJcblx0XHRcdFx0XHRcdFx0aSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzdiYmI1ZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGkuY29tbWVudHMge1xyXG5cdFx0XHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0I3BhZ2Utc2lkZWJhciB7XHJcblx0XHRcdC5lbnRyeS1tZWRpYSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVsLnNsaWNrLWRvdHMge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTVweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xyXG5cclxuXHJcblx0XHRcdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA4cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGkuc2xpY2stYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubW9yZS1pbWFnZXMge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNlZmVmZWY7XHJcblxyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0Y29udGVudDogYXR0cihkYXRhLW1vcmUtaW1hZ2VzKTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDE3cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwcHg7XHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuc2xpY2stY3VycmVudCB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsICM0M0YzQjcsICM0M0YzQjcgMXB4LCAjNEFFNUIwIDFweCwgIzRBRTVCMCA1cHgpIHJlcGVhdCBzY3JvbGwgMCUgMCU7XHJcblx0XHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC4zO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgNy4gIENPTU1FTlRTIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblx0XHJcblx0LyoqIENvbW1lbnRzIExpc3QgKi9cclxuXHQjY29tbWVudHMge1xyXG5cdFx0bWFyZ2luLXRvcDogODBweDtcclxuXHJcblx0XHRoMyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0Y29sb3I6ICRjb250YWluZXItaGVhZGluZztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdD4gcCB7XHJcblx0XHRcdGNvbG9yOiAkY29udGFpbmVyLXRleHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0b2wuY29tbWVudHMtbGlzdCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHRcdGxpLmNvbW1lbnQge1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAyOHB4IDM1cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbnRhaW5lci1iZztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdFx0XHQuYXV0aG9yLWF2YXRhciB7XHJcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdHdpZHRoOiA5MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbnRhaW5lci1ib3JkZXI7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgZmxvYXQ6IG5vbmU7IGJvcmRlcjogMDsgfVxyXG5cclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbW1lbnQtYm9keSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTE1cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUpIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuXHJcblx0XHRcdFx0XHQubWV0YSB7XHJcblx0XHRcdFx0XHRcdC5hdXRob3Ige1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC50aW1lIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQuY29tbWVudC1yZXBseS1saW5rIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ8K3JztcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMCAzcHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjN2I3YjdiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG5cdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIENvbW1lbnRzIEZvcm0gKi9cclxuXHQjY29tbWVudHMtZm9ybSB7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRjb2xvcjogJGNvbnRhaW5lci1oZWFkaW5nO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0PiBwIHtcclxuXHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdH1cclxuXHJcblx0XHRmb3JtIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHRcdHAgeyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuXHRcdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidXJsXCJdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcblx0XHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cclxuXHRcdFx0e1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb250YWluZXItYmc7XHJcblx0XHRcdFx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRwYWRkaW5nOiAxLjNyZW0gMnJlbTtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDVweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzLCBib3JkZXIgMC4zcztcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHRcdHRleHRhcmVhIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29udGFpbmVyLWJnO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29udGFpbmVyLXRleHQ7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCA1cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcywgYm9yZGVyIDAuM3M7XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuXHRcdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG5cdFx0XHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcblx0XHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXHJcblx0XHRcdHRleHRhcmVhOmZvY3VzXHJcblx0XHRcdHtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRjb2xvcjogJGJvZHktdGV4dDtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFNhZmFyaSwgQ2hyb21lIGFuZCBPcGVyYSAqL1xyXG5cdFx0XHRcdGNvbG9yOiAjN2I3YjdiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcblx0XHRcdFx0Y29sb3I6ICM3YjdiN2I7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcblx0XHRcdFx0Y29sb3I6ICM3YjdiN2I7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuXHRcdFx0XHRjb2xvcjogIzdiN2I3YjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBFZGdlICovXHJcblx0XHRcdFx0Y29sb3I6ICM3YjdiN2I7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDpwbGFjZWhvbGRlci1zaG93biB7IC8qIFN0YW5kYXJkIG9uZSBsYXN0ISAqL1xyXG5cdFx0XHRcdGNvbG9yOiAjN2I3YjdiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gOC4gIEZPUk1TIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gR2VuZXJhbCAoX2Zvcm1zLnNjc3MpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuXHRpbnB1dFt0eXBlPVwidXJsXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG5cdHNlbGVjdCxcclxuXHR0ZXh0YXJlYSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Y29sb3I6ICRmaWVsZC10ZXh0O1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMS40cmVtO1xyXG5cdFx0cGFkZGluZzogMS4ycmVtIDJyZW07XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAkZmllbGQtYmc7XHJcblx0XHRib3JkZXI6IDA7XHRcclxuXHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZpZWxkLWJvcmRlcjtcclxuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRmaWVsZC1ib3JkZXI7XHJcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjA3KTtcclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcclxuXHRpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxyXG5cdHNlbGVjdDpmb2N1cyxcclxuXHR0ZXh0YXJlYTpmb2N1cyB7XHJcblx0XHRvdXRsaW5lOiBtZWRpdW0gbm9uZTtcclxuXHR9XHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIEJ1dHRvbnMgKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG5cdGJ1dHRvbiwgLmJ1dHRvbixcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LXN0YWNrO1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0cGFkZGluZzogOXB4IDIzcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZENDZFIHVybCguLi8uLi9pbWFnZXMvYnV0dG9uLWdsYXNzLnBuZykgcmVwZWF0LXggMCAwO1xyXG5cdFx0Y29sb3I6ICMzYzNjM2M7XHJcblx0XHR0ZXh0LXNoYWRvdzogI0ZGRjBBQyAwIDFweCAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzO1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxyXG5cdGJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpob3ZlcixcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkZEQTU7XHJcblx0XHRjb2xvcjogIzU0NTQ1NDtcclxuXHR9XHJcblx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXHJcblx0YnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbjphY3RpdmUsXHJcblx0aW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAxcHg7XHJcblx0fVxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiBMYWJlbHMgKF9mb3Jtcy5zY3NzKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG5cdFx0Y29sb3I6ICM4ODg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0c3Bhbi5yZXF1aXJlZCB7XHJcblx0XHRcdGNvbG9yOiAjRjI2QzRGO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gUGxhY2Vob2xkZXJzIChfZm9ybXMuc2NzcylcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcblx0OnBsYWNlaG9sZGVyLXNob3duIHsgLyogU3RhbmRhcmQgb25lIGxhc3QhICovXHJcblx0XHRjb2xvcjogJGZpZWxkLXBsYWNlaG9sZGVyO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdH1cclxuIiwiXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEJVVFRPTiBTVFlMRVMgXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4udHJlbmQtYnV0dG9uIHtcclxuXHRmb250LWZhbWlseTogJHByaW1hcnktZm9udC1zdGFjaztcclxuXHRmb250LXNpemU6IDE1cHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdHBhZGRpbmc6IDlweCAyM3B4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNGNUUzODM7XHJcblx0YmFja2dyb3VuZDogI0ZGRDQ2RSB1cmwoLi4vLi4vaW1hZ2VzL2J1dHRvbi1nbGFzcy5wbmcpIHJlcGVhdC14IDAgMDtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdHRyYW5zaXRpb246IC4ycyBhbGwgZWFzZTtcclxufVxyXG5cclxuLnRyZW5kLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkRBNTtcclxuXHRjb2xvcjogI2ZmZjtcclxufVxyXG4udHJlbmQtYnV0dG9uOmFjdGl2ZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogMXB4O1xyXG5cdGJveC1zaGFkb3c6ICNEQ0I3NTkgMCAxcHggMDtcclxufVxyXG5cclxuXHJcbi8qIEJVVFRPTiBDT0xPUlMgKi9cclxuIC50cmVuZC1idXR0b24uYmxhY2sgeyBiYWNrZ3JvdW5kOiAjMzMzOyBib3JkZXItY29sb3I6ICMwMDA7IGJveC1zaGFkb3c6ICMxNDE0MTQgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLmJsYWNrOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzNDM0MzQzsgYm9yZGVyLWNvbG9yOiAjM0MzQzNDOyB9XHQgXHJcblxyXG4udHJlbmQtYnV0dG9uLmdyZXkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2OyBib3JkZXItY29sb3I6ICM0ZTRlNGU7ICB9XHJcbi50cmVuZC1idXR0b24uZ3JleTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICM3QkJCNUU7IGJvcmRlci1jb2xvcjogIzkxOTE5MTsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5ncmVlbiB7IGJhY2tncm91bmQ6ICM3ZmMzM2M7IH1cclxuLnRyZW5kLWJ1dHRvbi5ncmVlbjpob3ZlciB7IGJhY2tncm91bmQ6ICM4ZGQyNDI7IH1cclxuXHJcbi50cmVuZC1idXR0b24uYmx1ZSB7IGJhY2tncm91bmQ6ICMyY2FhZGE7IGJvcmRlci1jb2xvcjogIzBiNzA5NTsgYm94LXNoYWRvdzogIzI2ODFhMiAwIDJweCAwOyB9XHJcbi50cmVuZC1idXR0b24uYmx1ZTpob3ZlciB7IGJhY2tncm91bmQ6ICMzMmJjZWY7IGJvcmRlci1jb2xvcjogIzI2ODFhMjsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi55ZWxsb3cgeyBiYWNrZ3JvdW5kOiAjRkNDNzFGOyBib3JkZXItY29sb3I6ICNjNzlhMGI7IGJveC1zaGFkb3c6ICNjMjkzMDAgMCAycHggMDsgIH1cclxuLnRyZW5kLWJ1dHRvbi55ZWxsb3c6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjRkZDRjM4OyBib3JkZXItY29sb3I6ICNGRkNGMzg7ICB9IFxyXG5cclxuLnRyZW5kLWJ1dHRvbi5yZWQgeyBiYWNrZ3JvdW5kOiAjZTM1MTRhOyBib3JkZXItY29sb3I6ICM3NzE4MDA7IGJveC1zaGFkb3c6ICNjMDJhMDUgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLnJlZDpob3ZlciB7IGJhY2tncm91bmQ6ICNmZjVlNTY7IGJvcmRlci1jb2xvcjogI2FiNGI0NDsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5wdXJwbGUgeyBiYWNrZ3JvdW5kOiAjZDE3YWM2OyBib3JkZXItY29sb3I6ICM5OTYxOTI7IGJveC1zaGFkb3c6ICM5OTYxOTIgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLnB1cnBsZTpob3ZlciB7IGJhY2tncm91bmQ6ICNlYjkwZTA7IGJvcmRlci1jb2xvcjogIzk5NjE5MjsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5vcmFuZ2UgeyBiYWNrZ3JvdW5kOiAjRkY3NjU0OyBib3JkZXItY29sb3I6ICNiZDJlMGI7IGJveC1zaGFkb3c6ICNlNDRjMjYgMCAycHggMDsgfVxyXG4udHJlbmQtYnV0dG9uLm9yYW5nZTpob3ZlciB7IGJhY2tncm91bmQ6ICNGRjgyNjI7IGJvcmRlci1jb2xvcjogI0ZGODI2MjsgfVxyXG5cclxuLnRyZW5kLWJ1dHRvbi5waW5rIHsgYmFja2dyb3VuZDogI0ZGQURDQjsgYm9yZGVyLWNvbG9yOiAjRkRBNUM1OyBib3gtc2hhZG93OiAjRkRBNUM1IDAgMnB4IDA7IH1cclxuLnRyZW5kLWJ1dHRvbi5waW5rOmhvdmVyIHsgYmFja2dyb3VuZDogI0ZGQjVEMDsgYm9yZGVyLWNvbG9yOiAjRkZCNUQwOyB9XHJcblxyXG5cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIFRPR0dMRVNcclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi50cmVuZC10b2dnbGUge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuLnRyZW5kLXRvZ2dsZTpmaXJzdC1jaGlsZCB7XHJcblx0bWFyZ2luLXRvcDogMzVweDtcclxufVxyXG5cclxuLnRyZW5kLXRvZ2dsZS1oZWFkaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiAkdG9nZ2xlLWJnO1xyXG59XHJcbi50cmVuZC10b2dnbGUtaGVhZGluZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi50cmVuZC10b2dnbGUtaGVhZGluZyBwIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4udHJlbmQtdG9nZ2xlLXRpdGxlID4gYSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHBhZGRpbmc6IDE0cHggMjBweDsgXHJcbn1cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6aG92ZXIge1xyXG5cdGNvbG9yOiAkdG9nZ2xlLXRleHQ7XHJcbn1cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6Zm9jdXMge1xyXG59XHJcbi5hY3RpdmUgLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGEge1xyXG59XHJcblxyXG5cclxuLnRyZW5kLXRvZ2dsZS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbnRhaW5lci1ib3JkZXI7XHJcblx0Ym9yZGVyLXRvcDogMDtcclxuXHRjb2xvcjogJGNvbnRhaW5lci10ZXh0O1xyXG59XHJcblxyXG4uY29sbGFwc2Uge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jb2xsYXBzZS5vcGVuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnRyZW5kLXRvZ2dsZS10aXRsZSA+IGE6YmVmb3JlICB7XHJcblx0Zm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRjb250ZW50OiBcIlxcZjA2N1wiO1xyXG5cdG1hcmdpbi1yaWdodDogMThweDtcclxufVxyXG4uYWN0aXZlIC50cmVuZC10b2dnbGUtdGl0bGUgPiBhOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGYwNjhcIjtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuLyogVEFCU1xyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnRyZW5kLXRhYnMge1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcblxyXG4udHJlbmQtdGFiLWhlYWRpbmdzIHtcclxuXHRtYXJnaW46IDEwcHggMCAwIDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMCA7XHJcblx0ei1pbmRleDogNDAwIDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi50cmVuZC10YWItaGVhZGluZ3MgPiBsaSA+IGEge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdHBhZGRpbmc6IDE1cHggMjBweDtcclxuXHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcclxufVxyXG4udHJlbmQtdGFiLWhlYWRpbmdzID4gbGkuYWN0aXZlID4gYSxcclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi50cmVuZC10YWItaGVhZGluZ3MgPiBsaS5hY3RpdmUgPiBhOmZvY3VzXHJcbntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9nZ2xlLWJnO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnRyZW5kLXRhYi1oZWFkaW5ncyA+IGxpID4gYTpob3ZlciB7XHJcblx0Y29sb3I6ICR0b2dnbGUtdGV4dDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1ib2R5IHtcclxuXHRiYWNrZ3JvdW5kOiAkdG9nZ2xlLWJnO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0cGFkZGluZzogMTVweCAyMHB4O1xyXG5cdGJvcmRlci10b3A6IDA7XHJcblx0ei1pbmRleDogMzAwO1xyXG59XHJcblxyXG4udHJlbmQtdGFiLWJvZHkub3BlbiB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHRvZ2dsZS10ZXh0O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Y29sb3I6ICRjb250YWluZXItdGV4dDtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyA+IC50cmVuZC10YWItYm9keSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRyZW5kLXRhYi1jb250ZW50cyA+IC5vcGVuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XHJcblxyXG5cdC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC50cmVuZC10YWItaGVhZGluZ3MgPiBsaSA+IGEge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcHg7XHJcblx0XHRwYWRkaW5nOiA3cHggN3B4O1xyXG5cdH1cclxuXHRcclxuXHQudHJlbmQtdGFiLWJvZHkge1xyXG5cdFx0cGFkZGluZzogN3B4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcblx0XHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEhJR0hMSUdIVFxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuc3Bhbi5oaWdobGlnaHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY0OUI7XHJcblx0Y29sb3I6ICNBNTY1MUE7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn0gXHJcbiBcclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8qIEFMRVJUU1xyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLnRyZW5kLWFsZXJ0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRjb2xvcjogI0ZGRjtcclxuXHRtYXJnaW46IDIwcHggMCAwIDA7XHJcblx0cGFkZGluZzogMThweCAyMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRsaW5lLWhlaWdodDogMjVweDsgIFxyXG59XHJcblxyXG4udHJlbmQtYWxlcnQubm90ZSBcdHsgYmFja2dyb3VuZDogI2ZkZjhlNDsgY29sb3I6ICM4NDZmNDQ7IH1cdFxyXG4udHJlbmQtYWxlcnQuaW5mbyBcdHsgYmFja2dyb3VuZDogI2Q5ZWRmNjsgY29sb3I6ICMyZTZkOGU7IH1cclxuLnRyZW5kLWFsZXJ0LnN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAjZGVmMGQ4OyBjb2xvcjogIzQxNzA0NDsgfVx0XHJcbi50cmVuZC1hbGVydC5lcnJvciAgIHsgYmFja2dyb3VuZDogI2YyZGVkZjsgY29sb3I6ICNhYzQ2NDE7IH1cdCJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
