/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_accordion.css
*******************************************************************************************
*******************************************************************************************/

.accordion {
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}
.accordion .item {
	margin: 0 0 1px 0;
}
	.accordion .item:hover {
		cursor: pointer;
	}
.accordion .accordionLink {
	background: #e0e0e0;
	display: block;
	padding: 6px 6px 6px 18px;
	text-decoration: none;
}
	.accordion .accordionLink:hover {
		background: #ccc;
	}
.accordion .accordionContent {
	border: solid 1px #e0e0e0;
	border-top: none;
	padding: 1px 18px;
}
.accordion .arrow {
	border: solid 5px transparent;
	border-left: solid 5px #333;
	display: inline-block;
	margin: -1px 0 0 2px;
	vertical-align: middle;
}
	.accordion .active .arrow {
		border: solid 5px transparent;
		border-top: solid 5px #333;
		margin: 1px 3px 0 -1px;
	}
.accordion .arrow-white {
	border-left-color: #fff;
}
	.accordion .active .arrow-white {
		border-top-color: #fff;
	}

/*
ACTION ICONS
Location: /shared/css/modules/_action-flag.css
*/

.actionsIcon:hover {
    cursor: pointer;
}
.actionsIcon .icon {
    color: #055bad;
    font-size: 1.2rem;
    -webkit-transition: all 0.15s;
    transition: all 0.15s;
}
    .actionsIcon:hover .icon:not(.is-disabled) {
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2);
    }

/*
specific usages
*/

.book-landscape .actionsIcon {
    position: absolute;
    right: -10px;
    top: 70px;
    width: auto;
}
.book-portrait .actionsIcon {
    position: absolute;
    right: -10px;
    top: 0;
    width: auto;
}

.assignment-custom .actionsIcon {
    float: right;
    margin-right: -6px;
    margin-top: -3px;
    width: auto;
}
    .assignment-custom .actionsIcon .icon {
        font-size: 1.4rem;
    }

.FC_folder .actionsIcon {
    padding: 3px;
    position: absolute;
    left: 140px;
    top: 36px;
    width: auto;
}
.FC_resources .actionsIcon {
    float: right;
    position: relative;
    right: -6px;
    top: -3px;
    width: 6%;
}

.actionBar .actionsIcon > .icon {
    color: #7DD2FE;
}
    .actionBar .actionsIcon:hover > .icon {
        color: #fff;
    }

/*
action flag that appears when hoving over action icons
*/

td.actions,
th.actions {
	padding-left: 3px !important;
	padding-right: 3px !important;
}
.actions {
	width: 20px;
}

.actionFlag {
    cursor: pointer;
    display: block;
    position: relative;
    width: 19px;
}
    .actionFlag-inline {
        display: inline-block;
        width: auto;
    }
    .actionFlag .icon {
	    color: #00498f;
	    display: inline-block;
	    line-height: 19px;
	    padding: 1px 0;
	    position: relative;
	    text-decoration: none;
	    z-index: 2;
	}
	.actionFlag .actionFlagBg {
	    background: none repeat scroll 0 0 #d3edff;
	    border: 1px solid #a4c5dc;
	    color: #00498f;
	    display: inline-block;
	    font-size: 11px;
	    line-height: 19px;
	    padding: 0 22px 0 4px;
	    position: absolute;
	    left: -999em;
	    text-align: right;
	    top: -1px;
	    z-index: 1;
        white-space: nowrap;
	}
        .actionFlag:hover .actionFlagBg {
            left: auto;
            right: 0;
        }
        .actionFlag:hover .actionFlagBg.actionFlagBg-right {
            left: 0;
            right: auto;
            padding: 0 4px 0 22px;
        }
	
    .actionFlag-processing {
    }
        .actionFlag-processing .icon {
            color: #c09853;
        }
        .actionFlag-processing .actionFlagBg {
            background: none repeat scroll 0 0 #fcf8e3;
            border: 1px solid #fbeed5;
            color: #c09853;
            right: 0;
        }

.action-loader {
    position: absolute;
    top: -1px;
    left: -28px;
    padding: 2px 0 0 19px;
    z-index: 3;
    background: #FFF;
}



/*
ACTIONS BOX
Bar that appears with various action icons when a student is checked
Location: /shared/css/modules/_actions-box.css
TODO: Code Review
*/

.actionBar th {
    padding-top: 19px;
    padding-bottom: 13px;
}
    .actionBar.is-active th {
        background: #255b92 !important;
        border-color: #0b3b83;
        color: #fff;
        padding-top: 15px;
        padding-bottom: 8px;
    }

/* style overrides (ugh) */
.actionBar button:disabled {
    background: none !important;
    border: none;
    color: #fff !important;
}

.actionBar_unselectAll {
    text-transform: none;
}
.actionBar_btn {
    color: #B4E5FF;
    display: inline-block;
    text-transform: uppercase;
    -webkit-transition: all 0.15s;
    transition: all 0.15s;
}
    .actionBar_btn:not(.is-disabled):hover {
        color: #fff;
        cursor: pointer;
        -webkit-transform: scale(1.15);
            -ms-transform: scale(1.15);
                transform: scale(1.15);
    }

    .actionBar_btn .iconBg,
    .actionBar_btn .iconBg:hover {
        background: #5BC3FF;
    }
/*
.actionBar_btn {
    background: #5BC3FF;
    border: none;
    border-radius: 14px;
    color: #FFF;
    cursor: default;
    display: inline-block;
    margin-left: 3px;
    padding: 6px;
    transition: all 0.15s;
}
    .actionBar_btn:not(.is-disabled):hover {
        transform: scale(1.2);
    }
*/
/* LEGACY VERSION, REMOVE ONCE CONFIRMED UNECESSARY */
.actionsBox {
    background: #255b92;
    box-sizing: border-box;
    color: #fff;
    left: 0;
    padding: 14px 12px 15px 6px;
    position: absolute;
    top: 0px;
    -webkit-transition: opacity 0.2s linear, top 0.2s linear;
    transition: opacity 0.2s linear, top 0.2s linear;
    visibility: visible;
    width: 100%;
    z-index: 2;
}
    .actionsBox.ng-enter.ng-enter-active,
    .actionsBox.ng-leave {
        opacity: 1;
    }
    .actionsBox.ng-leave.ng-leave-active,
    .actionsBox.ng-enter {
        opacity: 0;
        top: -5px;
        -webkit-transition: opacity 0.2s linear, top 0.2s linear;
        transition: opacity 0.2s linear, top 0.2s linear;
        display: block !important;
        visibility: hidden;
    }
    .actionsBox:after {
        clear: both;
    }
    .actionsBox.sticky {
        position: fixed;
        width: 944px;
        left: 50%;
        margin-left: -472px;
        z-index: 10;
    }

/* action buttons */
.actionsBox_btn {
    background: transparent;
    border: none;
    color: #FFF;
    display: inline-block;
    font-weight: bold;
    margin: 0 5px 0 15px;
    padding: 0;
    text-decoration: none;
    text-transform: uppercase;
}
    .actionsBox_btn > .icon {
        opacity: .4;
    }

    /* Hover State */
    .actionsBox_btn:hover {
        text-decoration: underline;
    }
    .actionsBox_btn:hover > .icon {
        opacity: 1;
    }

    /* Active State */
    /*.active .actionsBox_btn {
        background: #FFF;
        color: rgba(254,88,144,1);
        border-radius: 0;
        border-color: #FFF;
    }
    .active .actionsBox_btn > .icon {
        color: rgba(254,88,144,1);
    }*/

    .actionsBox_btn-inverse {
        color: #255b92;
    }
        .actionsBox_btn-inverse > .icon {
            color: #255b92;
        }


/*
ACTIVITY ICONS

Location: shared/css/modules/_activity-icons.css
Read, Listen, Quiz icons for teacher-facing sites

TODO: code review
*/

.activityIcons {
    text-align: center;
}

.activityIcons_icon {
    background: #0c5fb0;
    border-radius: 5px;
    box-sizing: border-box;
    display: inline-block;
    height: 35px;
    margin: 3px 2px 0 2px;
    position: relative;
    text-align: center;
    text-decoration: none;
    vertical-align: top;
    width: 35px;
}
    .activityIcons_icon.is-complete {
        background: #058d38;
    }
    
    .activityIcons_icon .icon {
        color: #fff;
        font-size: 20px;
        line-height: 35px;
        margin-top: -1px;
        text-shadow: 2px 2px 0 rgba(0,0,0, 0.3);
    }
        .activityIcons_icon .icon-readC {
            margin-top: 0;
        }


/*
ANIMATIONS

Location: _animations.css
animations for angular components

TODO: code review
*/
/*.slideInTop .ng-enter,
.slideInTop .ng-leave,
.slideInTop.ng-enter,
.slideInTop.ng-leave {
    -moz-transition-duration: .6s;
    -webkit-transition-duration: .6s;
    -o-transition-duration: .6s;
    transition-duration: .6s;
    -moz-transition-timing-function: ease-in;
    -webkit-transition-timing-function: ease-in;
    -o-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
}
.slideInTop,
.slideInTop .ng-enter.ng-enter-active,
.slideInTop .ng-leave,
.slideInTop.ng-enter.ng-enter-active,
.slideInTop.ng-leave{
    max-height: 100em;
}
.slideInTop .ng-hide,
.slideInTop .ng-leave.ng-leave-active,
.slideInTop .ng-enter,

.slideInTop.ng-hide,
.slideInTop.ng-leave.ng-leave-active,
.slideInTop.ng-enter {
    overflow: hidden;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    -moz-transition-duration: .6s;
    -webkit-transition-duration: .6s;
    -o-transition-duration: .6s;
    transition-duration: .6s;
    -moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}*/


.fadeIn.ng-enter,
.fadeIn.ng-leave {
    -webkit-transition: opacity .5s ease-in-out;
    transition: opacity .5s ease-in-out;
}
.fadeIn,
.fadeIn.ng-enter.ng-enter-active,
.fadeIn.ng-leave {
    opacity: 1;
}
.fadeIn.ng-hide,
.fadeIn.ng-leave.ng-leave-active,
.fadeIn.ng-enter {
    opacity: 0;
}

/*.move.ng-enter,
.move.ng-leave
{
    -webkit-transition: 4000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
    -moz-transition: 4000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
    -ms-transition: 4000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
    -o-transition: 4000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
    transition: 4000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
    position: relative;
}

.move.ng-enter.ng-enter-active,
.move.ng-leave {
    opacity: 1;
    top: 0;
}

.move.ng-leave.ng-leave-active,
.move.ng-enter {
    opacity: 0;
    top: -50px;
}*/

/* TODO: need this to only apply when folders are created or deleted, not when switching view between folders */
/*
.FC_folder.ng-enter,
.FC_folder.ng-leave {
    transition: opacity .4s ease-in-out;
}
    .FC_folder.ng-enter.ng-enter-active,
    .FC_folder.ng-leave {
        opacity: 1;
    }
    .FC_folder.ng-leave.ng-leave-active,
    .FC_folder.ng-enter {
        opacity: 0;
    }
*/

/*
ANNOUNCEMENTS
Banner that appears at top of site
Location: /shared/css/modules/_announcement.css
*/


.announcement {
	background: #fdf0de;
	color: #555;
	border-bottom: solid 1px #d5d5d5;
	font-size: 12px;
	padding: 7px 0;
	text-align: center;
}

/*
Markup:
markup/announcements.hbs

Styleguide 10.1
*/
.arrowRight {
	border: solid 5px transparent;
	border-right: none;
	border-left: solid 5px #000;
	display: inline-block;
	margin-top: -2px;
	vertical-align: middle;
}
.arrowLeft {
	border: solid 5px transparent;
	border-left: none;
	border-right: solid 5px #000;
	display: inline-block;
	margin-top: -2px;
	vertical-align: middle;
}
.arrowUp {
	border: solid 5px transparent;
	border-top: none;
	border-bottom: solid 5px #000;
	display: inline-block;
	margin-top: -2px;
	position: relative;
	vertical-align: middle;
}
.arrowDown {
	border: solid 5px transparent;
	border-bottom: none;
	border-top: solid 5px #000;
	display: inline-block;
	margin-top: -2px;
	position: relative;
	vertical-align: middle;
}	
.arrowSm {
	border-width: 4px;
}

a .arrowRight {
	border-left: solid 5px #055bad;
}
a .arrowLeft {
    border-right: solid 5px #055bad;
}
a .arrowUp {
    border-bottom: solid 5px #055bad;
}
a .arrowDown {
	border-top: solid 5px #055bad;
}

.a-inverse .arrowRight {
    border-left: solid 5px #7DD2FE;
}
.a-inverse .arrowLeft {
    border-right: solid 5px #7DD2FE;
}
.a-inverse .arrowUp {
    border-bottom: solid 5px #7DD2FE;
}.a-inverse .arrowDown {
    border-top: solid 5px #7DD2FE;
}


.arrowDown.arrow-white {
    border-top-color: #FFF;
}
.arrowRight.arrow-white {
    border-left-color: #FFF;
}
/*
ASSIGN

Location: /shared/css/modules/_assign.css
Form for creating assignments

TODO: code review
*/

/***
Assign button once assigned
***/

.assignBtn-assigned {
    margin-top: -8px;
    text-align: right;
}
.assignBtn_heading,
.assignBtn_heading:hover {
    color: #de8300;
    display: block;
    font-size: 1.4rem;
    text-decoration: none;
}

/* activities */
.assignActivities {
    margin: 12px 0;
}
    .assignActivities .checkboxCustom {
        color: #055bad;
        margin: 0 30px 0 0;
    }
        .assignActivities.is-inactive .checkboxCustom {
            color: #222;
        }
    .assignActivities .checkboxCustom_label {
        font-size: 1.2rem;
    }
    .assignActivities .icon {
        font-size: 1.2rem;
        margin: 0 0 0 3px;
    }
    .assignActivities .icon-ok {
        color: #ccc;
        font-size: 1.1rem;
        margin: 0 3px 0 0;
    }

/* resources */
.assignResources {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

/* ------------- */
/* legacy styles (need to determine what's needed for redesigned version and what can be removed) */

.assign-resource-links {
	background: #FDEACE;
	margin-bottom: 15px;
}
	.assign-resource-heading,
	.bookLandingPage .assign-resource-heading {
		background: #F6A42E;
		border-bottom: 1px solid #FFF;
		text-shadow: none;
	}

.alert-assign {
	position: absolute;
	top: -35px;
    bottom: auto !important;
	left: 0;
	margin: 0;
    white-space: nowrap;
    z-index: 999;
}
	
.book-assign {
	position: absolute;
	z-index: 2;
	top: 100px;
	opacity: 0;
	-webkit-transition: top 0.5s ease;
	transition: top 0.5s ease;
}
	.book-shortThumbnail .book-assign {
		top: 80px;
	}
	.listView .book-assign {
		display: none;
	}
.book-assign-hover:hover .book-assign {
	display: block;
	top: 95px;
	opacity: 1;
	-webkit-transition: top 0.5s ease;
	transition: top 0.5s ease;
}
	.book-shortThumbnail.book-assign-hover:hover .book-assign {
		top: 75px;
	}
.assign-resource-popout .assign-arrowUp {
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-bottom: 12px solid #DE8300;
	position: absolute;
    top: -15px;
}
.coverAssign {
	display: inline-block !important;
}
/*
.book-alt.book-landscape .book-assign {
	top: 70px;	
}
.book-alt.book-landscape .book-assign-hover:hover .book-assign,
.book-alt.book-landscape.book-assign-hover:hover .book-assign {
	top: 65px;	
}
*/
.multilevels .box-landscape .book-assign {
	top: 70px;	
}
.multilevels .box-landscape.book-assign-hover:hover .book-assign {
	top: 65px;	
}
.listView .book-assign-hover:hover .book-assign {
	display: none;
}
.searchResults.listView .book-assign-hover:hover .book-assign {
	display: block;
}
/*
ASSIGNMENTS
Location: /shared/css/modules/_assignment.css
*/

.assignment-targeted {
    float: left;
    position: relative;
    width: 20%;
}

.assignment-custom {
    border: solid 2px #F6EED6;
    clear: both;
    display: block;
    margin: 0 0 30px 0;
}
    .assignment-custom::after {
        clear: both;
        content: " ";
        display: block;
    }
    .assignment-custom .icon-folder-open {
        color: #E4D095;
        float: left;
        font-size: 1.75em;
        margin-left: -5px;
        margin-bottom: 10px;
        margin-right: 12px;
    }
    .assignment-custom .title {
        display: block;

    }
    .assignment-custom .due {
        display: block;
        font-size: 0.85em;
        font-weight: normal;
        margin-top: -0.25em;
    }
    .assignment-custom .due.is-late {
        color: red;
        font-weight: bold;
    }
.banner {
    padding: 8px 0;
    border-top: 5px solid #dfea79;
    border-bottom: 5px solid #dfea79;
    font-size: 16px;
    box-sizing: border-box;
    background-color: #c1d601;
}

.banner_heading{
    font-size: 21px;
    font-family: 'Signika';
    text-transform: uppercase;
    padding: 0;
    margin: 0;
}

/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_book-popout.css
Legacy book popout
*******************************************************************************************
*******************************************************************************************/

/* needs to be cleaned up */

.popout-container { width: 300px; }
.popout-container .close { top: -5px; right: -6px; }
.popout-container span.new, .popout-container span.updated { left: -10px; top: -6px; padding: 0 20px; }
.popout-container .bookPopoutContainerInner { overflow: hidden; background: #FFF; border-radius: 10px; border: 2px solid #922e63; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 1); padding: 15px;  }
.popout-container h1 {
	font-size: 18px !important; /* overriding override of normalize */
	color: #000;
	padding: 0;
	margin: 0 0 5px 0 !important; /* overriding override of normalize */
	text-transform: none;
}

.popout-container .category { color: #666; }
.popout-container .category i { color: #922e63; font-style: normal; }

.popout-container.noThumbnail img.thumbnail { display: none; }
.popout-container img.thumbnail { float: right; background: #EAEAEA; border: 1px solid #CCCCCC; box-shadow: 5px 5px 5px #CCCCCC; display: block; height: 100px; margin: 0 0 15px 15px; width: 65px; }
.popout-container img.thumbnail.landscape { width: 100px; height: 65px; }
/*.popout-container .contentRight { float: right; width: 180px; padding: 0; }
.popout-container .contentRight.contentlandscape { width: 145px;  }
.popout-container.noThumbnail .contentRight { padding: 0; width: auto; }*/
.popout-container .languages { clear: both; color: #666; }
.popout-container .languages h2 { position: relative; clear: both; background: #e8e6fd !important; text-transform: none !important; left: -15px; padding: 2px 15px !important; border: 0; margin: 10px 0 5px !important; width: 266px; font-size: 12px !important; }
.popout-container ul { margin: 0; padding: 0; list-style: none; }
.popout-container ul li { margin: 0; padding: 0; list-style: none; }

.popout-container .popout-arrow { position: absolute; z-index: 10; width: 17px; height: 31px; }
.popout-container .popout-arrow-left { background: url(/shared/images/arrow-booktip-left.png) no-repeat; left: -15px; }
.popout-container .popout-arrow-lefttop { background: url(/shared/images/arrow-booktip-left-top.png) no-repeat; left: -15px; }
.popout-container .popout-arrow-leftbottom { background: url(/shared/images/arrow-booktip-left-bottom.png) no-repeat; left: -15px; }
.popout-container .popout-arrow-right { background: url(/shared/images/arrow-booktip-right.png) no-repeat; right: -15px; }
.popout-container .popout-arrow-righttop { background: url(/shared/images/arrow-booktip-right-top.png) no-repeat; right: -15px; }
.popout-container .popout-arrow-rightbottom { background: url(/shared/images/arrow-booktip-right-bottom.png) no-repeat; right: -15px; }

.bookPopoutContainerInner ul.levels { float: right; margin: 0 0 10px 10px;}

/*
BOOKS

Location: /shared/css/modules/_books.css
Book thumbnails displayed on a grid

TODO: code review
*/

/* ------------
BOOKS CONTAINER
------------ */
.books {
    position: relative; /* for absolute positioning of loader */
}
.booksOffset {
    margin: 0 -12px;
}

/* ------------------------------
GRID VIEW (default view)
------------------------------ */

.book {
    box-sizing: border-box;
    color: #222;
    display: block;
    float: left;
    height: 225px;
    line-height: 1.2;
    padding: 1px 12px 0;
    position: relative;
    text-decoration: none;
    width: 20%;
    word-wrap: break-word;
}
.book:nth-of-type(5n+1) {
    clear: both;
}
	.book-heightAuto {
		height: auto;
	}
.book:hover {
    text-decoration: none;
}

/* temporary styles, needed until all books have "box-" classes removed.
Books can be inside boxes, but should not have box classes applied directly to them */
.book[class^="box-"] {
    clear: none !important;
    float: left;
}
.box-33.book {
    width: 33.33%;
}
.box-50.book {
    width: 50%;
}

[class^="box-"] > .book,
.pairedBooks .book, /* needed until paired books page markup can be updated. */
.box-50 > .book { /* needed because of apparent bug with attribute selector above, seen on benchmark books page if this line is removed. */
    clear: none;
    float: none;
    padding: 1px 0 0; /* margin overlap fix */
    width: auto;
}
.book a {
    text-decoration: none;
}
/* TODO: improve thumbnail positioning and size to be more fluid */
.book .thumbnail {
    display: inline-block;
    height: auto;
    margin: 0 0 3px 0;
    max-width: 73px;
    position: relative;
}
    .book .thumbnail img {
        display: block;
    }
.book-landscape .thumbnail {
    margin-top: 40px;
    max-width: 112px;
}
.book .thumbnail .flag {
    top: 5px;
}
.book .thumbnail .levels,
.book .thumbnail .episodes {
    position: absolute;
    bottom: -9px;
    left: 50%;
    margin-left: -8px;
}

/* TODO: fix hyperlink coloring or titles. Default should be dk gray, not blue. */
.book .title {
    color: #055bad;
    display: block;
    font-weight: bold;
    margin: 0;
}
.book:hover .title {
    text-decoration: underline;
}
.book .title-lg {
    font-size: 1rem;
}

.book .subtitle {
    display: inline-block;
    font-size: .85rem;
    margin: 0 0 3px 0;
    position: relative;
    top: -3px;
}

.book .level {
    font-size: 12px;
}
.book .multilevel {
    color: #ff6633;
}
.book .benchmark {
    margin: 5px 0;
}
.book .sm {
    display: block;
    margin: 2px 0;
}
.book .dueDate {
    display: block;
    font-size: .9rem;
}
.book .dueDate-past {
    color: red;
    font-weight: bold;
}

/* TODO: clean this up */
.book.book-landscape .new,
.book.book-landscape .updated {
    top: 42px;
}
a.landscapeBook .updated,
a.landscapeBook .new {
    top: 42px;
    left: 0px;
}
a.portraitBook .updated,
a.portraitBook .new  {
    top: 3px;
    left: 19px;
}
.book .forBook {
    clear: both;
    display: block;
}

/* ------------------------------------------------------------------------------
ALTERNATE GRID VIEW
Display books with thumbnail beside book information, instead of thumbnail on top
------------------------------------------------------------------------------ */

.book-alt {
    color: #222;
    display: block;
    text-decoration: none;
    line-height: 1.5;
    height: auto;
}
.book-alt a { /* needed for pdf icon display TODO: refactor */
    display: inline;
}
.book-alt .thumbnail {
    box-sizing: border-box;
    float: left;
    margin: 0;
    max-width: 30%;
}
.book-alt.book-landscape .thumbnail {
    max-width: 45%;
}

.book-alt .info {
    box-sizing: border-box;
    float: left;
    padding-left: 15px;
    width: 70%;
    vertical-align: top;
}
    .book-alt .info .list-unformatted { /* temporary workaround to fix layout of downloads on ELL SKILL PACKS page (and any other pages with the same layout) */
        clear: both;
    }
.book-alt.book-landscape .info {
    width: 55%;
}
.book-alt .title {
    color: #222;
    font-size: 1rem;
}
.book-alt:hover .title {
    text-decoration: none;
}
.book-alt .resourceLink {
    text-decoration: none;
}
.book-alt .resourceLink:hover {
    text-decoration: underline;
}
.book-alt .icon-document-pdf {
    color: #ff0000;
}
.book-alt .icon-document-pdf:hover,
.book-alt a:hover .icon-document-pdf {
    color: #8b0000;
}
.book-alt .icon-presentation {
    color: #4a36b2;
}
.book-alt .icon-presentation:hover {
    color: #0e0152;
}
.book-alt .icon-folder {
    color: #f8a80f;
}
.book-alt .icon-folder:hover {
    color: #a86f01;
}

/* --------------------
LIST VIEW
Display books as a list of links, instead of a grid of thumbnails
-------------------- */

.listView .LevelsDiv {
    box-sizing: border-box;
    float: left;
    padding: 0 12px;
    width: 33.3%;
}
.listView .more {
    display: none;
}
.listView [class^="box-"] {
    width: auto;
    float: none;
}
.listView .book {
    display: inline-block;
    float: none;
    height: auto;
    padding: 0 0 4px 0;
    width: auto;
}
.listView .book .title {
    display: inline;
}
.listView .book .sm {
    display: inline;
}
.listView .thumbnail {
    display: none;
}
.listView .sectionHeadPopoutContent .miniLevelChart {
    float: none;
    margin-left: 0;
    width: 100%;
}
.listView .book .benchmark {
    margin: 0;
}
.listView .book .new {
    left: -43px;
    top: -1px;
}

/* ------------
SPECIFIC USAGES
------------ */

/* assignments page */
/* TODO: need to refactor all resources to use table layout like assignment books do */

.assignment .book {
    clear: none !important;
    cursor: default;
    height: 230px;
    margin-bottom: 39px;
    padding: 0 15px;
}
    .assignment .book_wrap {
        display: inline-block;
        width: auto;
    }
    .assignment .book .thumb {
        box-sizing: border-box;
        display: table;
        table-layout: fixed;
    }
    .assignment .book .thumb_wrap {
        background: none;
        border: none;
        box-shadow: none;
        box-sizing: border-box;
        display: table-cell;
        height: 180px;
        text-align: center;
        vertical-align: bottom;
    }
        .assignment .thumb img {
            background: #eaeaea;
            border: 1px solid #ccc;
            box-shadow: 1px 1px 3px #ccc;
            max-height: 100%;
            max-width: 160px;
        }
    .assignment .book .title,
    .assignment .book:hover .title {
        color: #222;
        text-decoration: none;
    }

.assignment-targeted .book {
    width: auto;
}

/* checkmark overlay for completed books in assignments */
.book.is-complete .thumb {
    background: none;
    border: none;
    box-shadow: none;
    position: relative;
    text-align: center;
}
    .book.is-complete .thumb img {
        border: solid 1px #ccc;
        opacity: .15;
    }
    .book.is-complete .thumb::before,
    .book.is-complete .thumb::after {
        color: #5a9e0c;
        display: block;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: 10; /* above book thumbnail */
    }
        .book.is-complete .thumb::before {
            content: "\e013";
            font-size: 4em;
            font-family: 'Glyphicons Halflings';
            top: 20%;
        }
            .book-landscape.is-complete .thumb::before {
                top: -2%;
            }
        .book.is-complete .thumb::after {
            content: "complete";
            font-weight: bold;
            top: 60%;
        }
            .book-landscape.is-complete .thumb::after {
                top: 70%;
            }

/*
WRITING ACTIVITIES
seen on student profile overview, this should be revisited for cleanup later
*/

.lastFiveBooks .writing {
    box-sizing: border-box;
    padding: 10px;
    min-height: 132px;
    text-align: center;
    position: relative;
    display: block;
    text-decoration: none;
    color: #333;
    border: 2px solid #99c8e9;
}
.lastFiveBooks .writing strong { display: block; font-size: 12px; color: #000; padding: 5px 0 0 0; }
.lastFiveBooks .writing .completed { position: absolute; bottom: -25px; left: 42px; }

/* infinite scroller */
/* TODO: move to another stylesheet */

#loader {
    background: url('/shared/images/ajax-loader-big.gif') 50% 0 no-repeat !important;
    z-index: 2;
    bottom: 0;
    left: 0;
    height: 70px;
    width: 749px;
    padding-top: 25px;
    text-align: center;
}
#loader img {
    display: none;
}

/* show more link */
#seeMore {
    background: #d3e7fd;
    border: 1px solid #bad5f2;
    clear: both;
    color: #055bad;
    cursor: pointer;
    display: block;
    font-weight: bold;
    padding: 10px 0;
    text-align: center;
    text-decoration: underline;
}
#seeMore:hover {
    background: #bad5f2;
    text-decoration: none;
}
/*
BREADCRUMB
Location: /shared/css/modules/_breadcrumb.css
*/

/*
legacy version
*/

.breadcrumb {
	border-bottom: solid 1px #e0e0e0;
	color: #b1b1b1;
	font-size: .9rem;
	line-height: 20px;
	padding: 10px 0;
}

.breadcrumb a {
	text-decoration: none;
}

.breadcrumb .icon-home {
	margin-right: 2px;
    position: relative;
    top: -2px;
}

/*
new version, only in File Cabinet for now
*/

.fileCabinet .breadcrumb {
    border-bottom: solid 2px #e0e0e0;
    color: #222;
    font-size: 15px;
    margin: 0 0 18px 0;
    padding: 14px 0;
}
.fileCabinet .breadcrumbItem {
    display: inline-block;
}
.fileCabinet .breadcrumbHeading {
    cursor: pointer;
    display: inline-block;
    margin: 0;
    max-width: 125px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}
.fileCabinet .breadcrumbHeading.is-current {
    cursor: default;
    font-weight: bold;
}
.fileCabinet .breadcrumb .arrowRight {
    border-left-color: #ccc;
    display: inline-block;
    margin: 0 12px;
}

/*
Breadcrumb

Breadcrumb navigation styles

Markup:
markup/breadcrumb.hbs

Styleguide 3.1
*/
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_calendar.css
*******************************************************************************************
*******************************************************************************************/
/**** MINI CALENDAR ****/
.cal-mini {
	display:table;
	position: relative;
	z-index: 2;
	width: 100%;
}


.cal-mini table {
	background:#fff;
	border-collapse: collapse;
	width: 100%;
	border: 0;
}
.cal-mini td {
	color:#2d2d2d;
	width:30px;
	height: 33px;
	line-height:30px;
	text-align:center;
	border:1px solid #FFF;
	cursor:default;
}
.cal-mini .cal-mini-frame .today { 
	background: #ffffcc; 
}
.cal-mini .cal-mini-frame .ws {
	background:#639ED3;
	color:#FFF;
	text-shadow: 1px 1px 0 #3883C7;
}
.cal-mini .cal-mini-frame .ws:hover { 
	background:#3883C7 !important; 
}

.cal-mini-frame td {
	background: #c2d9ee;
}
.cal-mini-frame .nd {
	background: #deeaf5 !important; 
}
.cal-mini-frame .element { 
	position: relative; 
	z-index: 1; 
	text-align: left; 
	line-height: 26px; 
	padding: 0px; 
	text-align: center; 
	height: 30px; 
}
.cal-mini-frame .element .firstLink {
	color: #FFFFFF; 
	text-decoration: none; 
}

.cal-mini .toolTip { 
	border: 1px solid #FFF;
	background: #e6e3f9 none repeat scroll 0 0;
    border-radius: 10px;
    color: #000;
    font-size: 11px;
    font-weight: normal;
    left: -150px;
    line-height: 13px;
    padding: 10px;
    position: absolute;
    text-align: left;
    text-decoration: none;
    top: 0;
    width: 200px;
}
.cal-mini .toolTip ul { 
	margin: 0; 
	padding: 0; 
	list-style: none; 
	}
.cal-mini .toolTip ul li {
	margin: 0; 
	padding: 3px 0; 
}
.cal-mini .toolTip ul li a { 
	text-shadow: none;
}
.cal-mini .toolTip .arrowDown { 
	left: 155px; 
	border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #e6e3f9;
    bottom: -9px;
    position: absolute;
}
.callout1 {
    background-color: #C83192;
    color: #ffffff;
    display: block;
    font-size: 21px;
    font-weight: bold;
    line-height: 1.3;
    padding: 24px 0;
    text-align: center;
}
.callout1:hover {
    background-color: #a02774;
    color: #ffffff;
    text-decoration: none;
}
.callout2 {
    background-color: #EEEEEE;
    color: #000;
    display: block;
    min-height: 290px;
    font-size: 1.1rem;
}
.callout2:hover {
    color: #000;
    text-decoration: none;
}
.callout2-text {
    display: block;
    padding: 12px;
}
.callout2-heading {
    font-size: 1.35rem;
    margin: 0;
}

/* Start of Zoom Image  */
.callout2-imgContainer {
    overflow: hidden;
    display: block;
    height: 174px;
}
.callout2-img {
    -webkit-transition: all .65s ease;
    -moz-transition: all .65s ease;
    -o-transition: all .65s ease;
    -ms-transition: all .65s ease;
    width: 100%;
}
.callout2:hover .callout2-img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
        transform: scale(1.04);
}
/*
CLOSE BUTTON

Location: /shared/css/modules/_closeBtn.css
'X' button to close modals and popovers

TODO: code review
*/


.closeBtn {
    background: none;
    border: none;
    color: #000;
    cursor: pointer;
    font-size: 2.5rem;
    line-height: 1;
    opacity: 0.3;
    padding: 0;
    text-decoration: none;
}
    .closeBtn:hover {
        color: #055bad;
        opacity: 1.0 !important;
    }

/***
specific usages
***/

.message-box .closeBtn {
    font-size: 2rem;
    position: absolute;
    right: 2px;
    top: -3px;
}

.modalWindow .closeBtn,
.dialog .closeBtn {
    font-size: 2.5rem;
    position: absolute;
    top: 0;
    right: 5px;
}
    .dialog-title-close.closeBtn {
        color: #fff;
        opacity: .5;
        z-index: 10;
    }

.messageReporter .closeBtn {
    color: #fff;
    float: right;
    font-size: 1.75rem;
    margin-right: -18px;
    margin-top: -3px;
    opacity: .5;
}

/***
legacy close button
***/
.btn-close,
.popoutClose {
    background: #fff none repeat scroll 0 0;
    border: 1px solid #a3a1a1;
    border-radius: 10px;
    color: #000;
    cursor: pointer;
    display: block;
    font-size: 16px;
    font-weight: bold;
    height: 19px;
    line-height: 19px;
    position: absolute;
    right: -12px;
    text-align: center;
    text-decoration: none;
    top: -10px;
    width: 19px;
    z-index: 11;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_commoncore.css
*******************************************************************************************
*******************************************************************************************/
.commonCoreTopics li {
    padding: 0;
    width: 49%;
    box-sizing: border-box;
    margin: 0;
}
.commonCoreTopics .btn { width: 100%; font-weight: normal; font-size: 13px; padding: 5px 0; text-shadow: none; color: #FFF; margin: 0 4px 4px 0; box-sizing: border-box; }
.commonCoreTopics .btn#tab2-link { background: #EE4034; border-color: #EE4034; }
.commonCoreTopics .btn#tab3-link { background: #FF9933; border-color: #FF9933; }
.commonCoreTopics .btn#tab4-link { background: #00A69C; border-color: #00A69C; }
.commonCoreTopics .btn#tab5-link { background: #59B5DC; border-color: #59B5DC; }
.commonCoreTopics .btn#tab6-link { background: #FCB813; border-color: #FCB813; }
.commonCoreTopics .btn#tab7-link { background: #54B848; border-color: #54B848; }
.commonCoreTopics .btn#tab8-link { background: #009933; border-color: #009933; }
.commonCoreTopics .btn#tab9-link { background: #9E1F63; border-color: #9E1F63; }
.commonCoreTopics .btn.active { background: #FFF !important; color: #000; }
.commonCoreTopics .btn:hover { color: #000; }
.pageContent.commoncore .highlighter {
    background: #fce289 none repeat scroll 0 0;
    height: 10px;
    left: auto;
    right: 0;
    position: absolute;
    top: -27px;
    width: 49%;
    z-index: 1;
}
.pageContent.commoncore {
    clear: both;
    position: relative;
    z-index: 1;
}
.pageContent.commoncore .highlighter .arrowDown {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #fce289;
    margin: 10px 0 0;
    position: absolute;
    left: 49%;
}
#tab1.pageContent.commoncore .highlighter {
    left: 0;
    top: -27px;
    width: 50%;
}

.standardLinks a {
    border: 1px solid #ccffcc;
    color: #000;
    display: block;
    float: left;
    height: 92px;
    margin: 0 10px 8px 0;
    padding: 73px 0 0;
    text-align: center;
    text-decoration: none;
    width: 110px;
    box-sizing: border-box;
    line-height: 11px;
}
.standardLinks #caMapLink {
    background-image: url(/shared/images/map-ca-small.png);
}
.standardLinks #auMapLink {
    background-image: url(/shared/images/map-au-small.png);
}
.standardLinks #inMapLink {
    background-image: url(/shared/images/map-in-small.png);
}
.standardLinks #uaeMapLink {
    background-image: url(/shared/images/map-uae-small.png);
}
.standardLinks #euMapLink {
    background-image: url(/shared/images/map-eu-small.png);
}

.standardLinks a.active {
    background-position: 0 -90px !important;
}

.boxLinks#WIDAELDSMapLink {
    background-image: url(/shared/images/map-wida-small.png);
}
.boxLinks#CCSSOELPMapLink {
    background-image: url(/shared/images/map-elpa21-small.png);
}
.boxLinks#TXMapLink {
    background-image: url(/shared/images/map-tx-small.png);
}
.boxLinks#CAMapLink {
    background-image: url(/shared/images/map-california-small.png);
}
.boxLinks#TESOLELPSMapLink {
    background-image: url(/shared/images/map-tesol-small.png);
}
.boxLinks#CEFMapLink {
    background-image: url(/shared/images/map-eu-small.png);
}
.boxLinks.active {
    background: #e5fee5;
}
.boxLinks {
    border: 1px solid #ccffcc;
    color: #000;
    display: block;
    float: left;
    height: 120px;
    margin: 0 10px 8px 0;
    padding: 84px 0 0;
    text-align: center;
    text-decoration: none;
    width: 110px;
    line-height: 16px;
    box-sizing: border-box;
}
.boxLinks .sm {
    font-size:13px;
    line-height:14px;
}

/*
JQUERY UI DATE PICKER

Location: /shared/modules/_datepicker.css
Style overrides for jquery ui date picker

TODO: code review
*/

.ui-datepicker {
    z-index: 9999 !important;
    background: #f1f1f1 !important;
    border: solid 1px #dbdbdb !important;
    box-shadow: 0 0 6px #ccc;
    padding: 0;
}

.ui-datepicker .ui-widget-header {
    background: none;
    border: none;
}
.ui-datepicker-prev,
.ui-datepicker-next {
    background: none;
    border: none;
    right: 2px;
    top: 2px;
}
.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    background: #ccc;
    border: none;
    right: 2px;
    top: 2px;
}

.ui-datepicker table {
    margin: 0 !important;
}
.ui-datepicker-calendar tbody {
    background: #fff;
}
.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center;
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default {
    background: none;
    border: none;
}
.ui-datepicker .ui-state-default:not(.ui-state-active):hover,
.ui-datepicker .ui-widget-content .ui-state-default:not(.ui-state-active):hover,
.ui-datepicker .ui-widget-header .ui-state-default:not(.ui-state-active):hover {
    background: #f1f1f1;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    background: #222222;
    color: #fff;
}

/**
 * datePicker widget using Prototype and Scriptaculous.
 * (c) 2007-2008 Mathieu Jondet <mathieu@eulerian.com>
 * Eulerian Technologies
 * (c) 2009 Titi Ala'ilima <tigre@pobox.com>
 *
 * DatePicker is freely distributable under the same terms as Prototype.
 *
 * v1.0.0
 */

div.datepicker {
 position: absolute;
 text-align: center;
 border: 1px #C4D5E3 solid;
 font-family: arial;
 background: #FFFFFF;
 font-size: 10px;
 padding: 0px;
}
div.datepicker table {
 font-size: 10px;
 margin: 0px;
 padding: 0px;
 text-align: center;
 width: 180px;
}
div.datepicker table thead tr th {
 font-size: 12px;
 font-weight: bold;
 background: #e9eff4;
 color: #000000;
 border-bottom:1px solid #c4d5e3;
 padding: 0px;
 margin: 0px; 
}
div.datepicker table tbody tr {
 border: 1px white solid;
 margin: 0px;
 padding: 0px;
}
div.datepicker table tbody tr td {
 border: 1px #eaeaea solid;
 margin: 0px;
 padding: 0px;
 text-align: center;
}
div.datepicker table tbody tr td:hover,
div.datepicker table tbody tr td.outbound:hover,
div.datepicker table tbody tr td.today:hover {
 border: 1px #c4d5e3 solid;
 background: #e9eff4;
 cursor: pointer;
}
div.datepicker table tbody tr td.wday {
 border: 1px #ffffff solid;
 background: #ffffff;
 cursor: text;
}
div.datepicker table tbody tr td.outbound {
 background: #e8e4e4;
}
div.datepicker table tbody tr td.today {
 border: 1px #16518e solid;
 background: #c4d5e3;
}
div.datepicker table tbody tr td.nclick,
div.datepicker table tbody tr td.nclick_outbound,
div.datepicker table tbody tr td.nclick_today {
 cursor:default; color:#aaa;
}
div.datepicker table tbody tr td.nclick_outbound {
 background:#E8E4E4;
}
div.datepicker table tbody tr td.nclick_today {
 background:#c4d5e3;
}
div.datepicker table tbody tr td.nclick:hover,
div.datepicker table tbody tr td.nclick_outbound:hover,
div.datepicker table tbody tr td.nclick_today:hover {
 border: 1px #eaeaea solid;
 background: #FFF;
}
div.datepicker table tbody tr td.nclick_outbound:hover {
 background:#E8E4E4;
}
div.datepicker table tbody tr td.nclick_today:hover {
 background:#c4d5e3;
}
div.datepicker table tfoot tr td {
 font-size: 10px;
 background: #e9eff4;
 border-top:1px solid #c4d5e3;
 cursor: pointer;
 text-align: center;
 padding: 0px;
}

/*
STYLES FOR DRAG AND DROP PLUGIN(angular-dnd-lists.js)
Location: /shared/styles/modules/_dragAndDrop.css
*/

/*
Snippet from plugin documentation

- dndDragging        This class will be added to the element while the element is being
                   dragged. It will affect both the element you see while dragging and the
                   source element that stays at it's position. Do not try to hide the source
                   element with this class, because that will abort the drag operation.

- dndDraggingSource  This class will be added to the element after the drag operation was
                   started, meaning it only affects the original element that is still at
                   it's source position, and not the "element" that the user is dragging with
                   his mouse pointer.
*/

/*
folders in file cabinet
*/

.FC_folders .dndPlaceholder { /* styled to match a folder */
    background: url("/file-cabinet/img/folder.svg") no-repeat 0 0;
    background-size: 175px;
    box-sizing: border-box;
    float: left;
    height: 150px;
    list-style: none;
    margin: 0 0 12px 0;
    opacity: .4;
    padding: 0;
    position: relative;
    text-align: left;
    -webkit-transition: none;
    transition: none;
    width: 25%;
}
.FC_folders .dndDraggingSource {
    display: none;
}

/*
side nav in file cabinet
*/

.secondaryNav .dndPlaceholder { /* styled to match a nav list item */
    list-style: none;
    margin: 0;
    padding: 0;
}
.secondaryNav .dndPlaceholder::before {
    content: " ";
    display: block;
    height: 20px;
}
.secondaryNav .dndDraggingSource {
    display: none;
}
/*
FILE CABINET
Styles for redesigned file cabinet
Location: /shared/modules/_file-cabinet.css
TODO: code review
*/

.fileCabinet .icon-users2 {
    color: #000;
    opacity: .6;
}
.fileCabinet .icon-ok {
    color: #de8300;
}

.folderAction {
    float: right;
    margin-left: 10px;
}
.folderTitleEdit {
    font-size: 1.4rem;
    font-weight: bold;
}
    .folderTitleEdit input {
        width: 50%;
    }

/*
list of folders
*/

.FC_folders {
    display: table;
    margin: 0 -6px 18px -6px;
    padding: 0;
    width: 100%;
}
    .FC_folders:after {
        clear: both;
        content: " ";
        display: block;
    }

.FC_folder {
    background: url("/file-cabinet/img/folder.svg") no-repeat 0 0;
    background-size: contain;
    box-sizing: border-box;
    float: left;
    height: 150px;
    list-style: none;
    margin: 0 0 12px 0;
    padding: 0;
    text-align: left;
    -webkit-transition: all .15s;
    transition: all .15s;
    width: 25%;
}
    .FC_folder:hover {
        background-image: url("/file-cabinet/img/folder-hover.svg");
        cursor: pointer;
    }

.FC_folder .cellWrap {
    height: 100%;
    position: relative;
    width: 175px;
}
    .FC_folder .cell {
        padding: 30px 15px 0 15px;
        text-align: center;
        vertical-align: middle;
    }

.FC_folder .folderTitle {
    color: #222;
    display: block;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    word-wrap: break-word;
}

.FC_folder .folderEdit {
    height: 100%;
    padding: 0 10px;
}
    .FC_folder form {
        position: relative;
    }
    .FC_folder .folderEdit input[type="text"] {
        width: 100%;
        margin: 0;
    }
    .FC_folder .folderEdit .cancel {
        bottom: -20px;
        font-weight: normal;
        position: absolute;
        right: 0;
        text-decoration: none;
    }

.FC_folder_icons {
    position: absolute;
    right: 14px;
    top: 121px;
}
    .FC_folder_icons .icon-users2 {
        font-size: 1.7rem;
    }
    .FC_folder_icons .icon-ok {
        font-size: 1.5rem;
    }

/* --------------------------------- */
/* list of resources in File Cabinet */

.FC_resources {
    margin: 0 -6px;
}
.FC_resourceWrap {
    margin: 6px;
    float: left;
    width: calc(50% - 12px);
}
    .FC_resourceWrap:nth-child(2n + 1) {
        clear: both;
    }

.FC_resource {
    background: #f4f4f4;
    border: solid 1px #e0e0e0;
    box-sizing: border-box;
    clear: none;
    min-height: 114px;
    padding: 6px;
    position: relative;
}

    .FC_resource .thumbnail {
        background: none;
        border: none;
        box-shadow: none;
        box-sizing: border-box;
        float: left;
        width: 25%;
    }
        .FC_resource .thumbnail img {
            border: solid 1px #e0e0e0;
            display: block;
            max-height: 100%;
            max-width: calc(100% - 10px);
        }
        .FC_resource-pack .thumbnail img {
            border: none;
        }

    .FC_resource .info {
        float: left;
        font-size: .95rem;
        line-height: 1.2rem;
        margin-top: 6px;
        width: 69%;
    }

    .FC_resource .title {
        color: #055bad;
        display: block;
        font-size: 1rem;
        font-weight: bold;
        margin: 0;
    }

    .FC_resource_list {
        margin: 5px 0 0 0;
    }

/****************************************************/
/* legacy styles, remove after redesign is complete */

.fileCabinetPopup { display: none; z-index: 15; position: absolute; padding: 10px; width: 220px; background: #f4fceb; border: 1px solid #6a8e3e; border-radius: 10px; box-shadow: 2px 2px 5px #CCC; text-shadow: 1px 1px 0 #FFF; }
.fileCabinetPopup2 { padding: 10px; width: 220px; background: #f4fceb; border: 1px solid #6a8e3e; border-radius: 10px; box-shadow: 2px 2px 5px #CCC; text-shadow: 1px 1px 0 #FFF; }
#moveCopyPopup { top: 248px; right: -82px; }
#folderOptionsPopup { top: 67px; left: -62px; }
#addFolderPopup { top: 36px; right: -259px; }
.fileCabinetPopup strong, .fileCabinetPopup2 strong { display: block; padding: 0 18px 10px 0; color: #3b5f0f; }
.fileCabinetPopup label, .fileCabinetPopup2 label { display: block; padding: 0 0 3px; }
.fileCabinetPopup input.inputbox, .fileCabinetPopup textarea, .fileCabinetPopup select, .fileCabinetPopup2 input.inputbox, .fileCabinetPopup2 textarea, .fileCabinetPopup2 select { font-size: 12px; width: 214px; margin: 0 0 10px 0; font-family: arial, sans-serif; }
.fileCabinetPopup textarea, .fileCabinetPopup2 textarea { height: 50px; }
.fileCabinetPopup select, .fileCabinetPopup2 select { width: 220px; }
.fileCabinetPopup input.checkbox, .fileCabinetPopup2 input.checkbox { margin: 0 3px 10px 0; }
.fileCabinetPopup button, .fileCabinetPopup2 button, .fileCabinetPopup2 .button { margin: 10px 8px 0 0; color: #FFF; background: #487313; border: 0; border-radius: 8px; font-weight: bold; font-size: 11px; padding: 3px 10px; cursor: pointer; text-shadow: none; }
.fileCabinetPopup button:hover, .fileCabinetPopup2 button:hover { text-shadow: -1px -1px 0 #2c4808; }
.fileCabinetPopup a.deleteLink, .fileCabinetPopup2 a.deleteLink { font-size: 11px; color: red; background: url(/images/icon-delete.png) right top no-repeat; padding-right: 19px; }
.fileCabinetPopup .arrow { background: url(/images/arrow-up-filecabinet.png) 0 0 no-repeat; position: absolute; top: -8px; left: 113px; width: 15px; height: 9px; display: block; }
#addFolderPopup .arrow { left: 165px; }.fileCabinetPopup2 .arrow { position: absolute; width: 15px; height: 9px; z-index: 10; }
.fileCabinetPopup2 .arrow-top, .fileCabinetPopup2 .arrow-topleft, .fileCabinetPopup2 .arrow-topright { background: url(/images/arrow-up-filecabinet.png) 0 0 no-repeat; top: -8px; }
.fileCabinetPopup2 .arrow-bottom, .fileCabinetPopup2 .arrow-bottomleft, .fileCabinetPopup2 .arrow-bottomright { background: url(/images/arrow-down-filecabinet.png) 0 0 no-repeat; bottom: -8px; }
.fileCabinetPopup .close, .fileCabinetPopup2 .close { display: block; position: absolute; top:  5px; right: 5px; width: 20px; height: 20px; text-indent: -10000em; background: url(/images/button-file-cabinet-close.png) 0 0 no-repeat;}
.fileCabinetPopup .close:hover, .fileCabinetPopup2 .close:hover { background-position: 0 -20px; }
.fileCabinetPopup2 .error { color: red; background: yellow; padding: 2px 5px; margin: 0 0 5px; border-radius: 3px; }

#fileCabinetPopOut-overlay { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60); }



/*
FILE CABINET RIBBON
Ribbon that drops down beneath main navigation when a book is added to a folder

Location: shared/css/modules/_fileCabinetRibbon.css
*/

.fileCabinetRibbon {
    background: #3D3836;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .3);
    box-sizing: border-box;
    color: #fff;
    height: 0;
    overflow: hidden;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
    .fileCabinetRibbon.is-open {
        height: 130px;
    }
    .fileCabinetRibbon.is-sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1001; /* below assign modal */
    }

.fileCabinetRibbon_heading {
    font-size: 1.1rem;
    margin-top: 12px;
    position: relative;
}
    .fileCabinetRibbon_heading::before {
        border: solid transparent 13px;
        border-top: solid 10px #C83192;
        content: "";
        display: block;
        position: absolute;
        right: 400px;
        top: -13px;
    }
    .fileCabinetRibbon.is-sticky .fileCabinetRibbon_heading::before {
        display: none;
    }

    .fileCabinetRibbon_heading .icon-folder-open {
        color: #DCC686;
        margin-top: -4px;
    }


    /***
    toggle to show/hide resources
    ***/

    .fileCabinetRibbon_heading_arrowUp,
    .fileCabinetRibbon_heading_arrowDown {
        cursor: pointer;
        display: inline-block;
        margin-left: 24px;
        margin-top: -2px;
        position: relative;
        text-decoration: none;
        vertical-align: middle;
    }
        .fileCabinetRibbon_heading_arrowUp {
            border: solid 8px transparent;
            border-top: none;
            border-bottom: solid 8px #055bad;
        }
        .fileCabinetRibbon_heading_arrowDown {
            border: solid 8px transparent;
            border-bottom: none;
            border-top: solid 8px #055bad;
        }

/***
list of resources
***/

.fileCabinetRibbon_resourceList {
    display: inline-block;
    height: 80px;
    max-width: calc(100% - 250px);
    overflow: hidden;
    padding: 2px 24px 0 0;
    position: relative;
    text-align: center;
    vertical-align: middle;
    width: auto;
}
    .fileCabinetRibbon_resourceList::after {
        background: #fff;
        content: " ";
        display: block;
        height: 50%;
        opacity: .4;
        position: absolute;
        right: 24px;
        top: 25%;
        width: 1px;
    }

.fileCabinetRibbon_resource {
    display: inline-block;
    float: none;
    height: auto;
    margin: 9px 10px 9px 0;
    padding: 0 15px 0 0;
    position: relative;
    vertical-align: middle;
    width: auto;
}
    .fileCabinetRibbon_resource_actionsIcon {
        margin-left: 0;
        padding: 3px;
        position: absolute;
        right: -3px;
        top: -6px;
    }

        .fileCabinetRibbon_resource_actionsIcon > .icon {
            color: #7DD2FE;
            opacity: .4;
            font-size: .8rem;
            -webkit-transition: all 0.15s;
            transition: all 0.15s;
        }
            .fileCabinetRibbon_resource_actionsIcon > .icon:hover {
                opacity: 1;
                -webkit-transform: scale(1.2);
                    -ms-transform: scale(1.2);
                        transform: scale(1.2);
            }

.fileCabinetRibbon_thumbnail {
    border: solid 2px #e0e0e0;
    box-shadow: none;
    margin: 0;
    max-height: 65px;
    max-width: 73px;
}
    .fileCabinetRibbon_thumbnail-pack {
        border: none;
    }


/*
FILTERS
Location: /shared/css/modules/_filters.css
TODO: Split up into multiple modules
TODO: Code Review
*/

.filters {
	background: #e8e8e8;
	margin: 18px 0;
	padding: 10px;
}
.filtersHeading {
	background: #ccc;
	font-weight: bold;
	padding: 6px 10px;
	margin: -10px -10px 10px -10px;
}

.filterResults {
	border-bottom: solid 3px #e0e0e0;
	margin: 0 0 18px 0;
	padding: 10px 0;
	position: relative; /* to enable absolute positioning of #filterLoader */
}
.filterResults .resultsShowing {
	display: inline-block;
}
.filterResults .resultsView {
	float: right;
	margin-left: 20px;
    margin-top: -5px;
}
	.filterResults .resultsView b {
		font-weight: normal;
		margin-right: 5px;
	}
	.filterResults .resultsView .icon {
		color: #999;
		font-size: 16px;
		margin-left: 2px;
	}
	.filterResults .resultsView .active .icon {
		color: #222;
	}
	
.filterResults .resultsSort {
	float: right;
}
	 .resultsSort select {
		position: relative;
		top: -5px;
	}
	
.clearFilters {
	float: right;
    font-size: .9rem;
    font-weight: normal;
    margin-top: 1px;
}	
    .clearFilters a {
        text-decoration: none;
    }
        .clearFilters a:hover {
            text-decoration: underline;
        }

/*** STUDENT FILTER ***/
/*.filterDropdown {
    position: relative;
    clear: both;
    display: block;
}
    .filterDropdown .popover {
        display: block;
    }
    .filterDropdown-heading {
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        background: #eaeaea;
        padding: 10px;
        margin-top: 1px;
        border-top: 4px solid rgba(0,0,0,.1);
        display: block;
    }
    .filterDropdown-content {
        position: absolute;
        z-index: 10;
        background: #eaeaea;
        padding: 10px 10px 30px;
        left: 0;
        min-width: 375px;
        -webkit-box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.13);
        -moz-box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.13);
        box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.13);
    }*/

/* ----------
LOADERS
---------- */

/* Fixed-height loader. Only use if absolutely necessary. */
/* This one looks broken. Should be replaced when possible */
#filterLoader,
#loader,
.loader {
    background: rgba(255, 255, 255, .8);
    height: 800px;
    left: 0;
    padding-top: 100px;
    position: absolute;
    top: 38px;
    width: 100%;
    text-align: center;
    z-index: 100;
}

/* Special filter loader container, */
/* When Filter Loader Is not displayed inside */
/* Filter Results  */
.filterLoaderContainer{
    position: relative;
}
.filterLoaderContainer>#filterLoader{
    top: 0;
    padding-top:50px;
}

/* loader with fluid dimensions. Use this one wherever possible */
.loader-fluid {
    border-radius: 10px;
    box-sizing: border-box;
    height: 100%;
    padding-top: 0;
    top: 0;
}
.loader-fluid img {
    margin-top: -12px;
    position: absolute;
    top: 50%;
}


.itemsPerPageLink {
	display: inline-block;
	padding: 0 2px;
}
.itemsPerPageLink.active {
	cursor: default;
	color: #000;
	text-decoration: none;
	font-weight: bold;
}


/**** TEMP STYLES ****/

.filtersDiv { background: #cce0f2; overflow: auto; margin: 0 0 25px; clear: both; font-size: 12px; line-height: 16px; }
.filtersDiv strong { display: block; background: #74a4d0 !important; color: #000 !important; text-shadow: 1px 1px 0 #abc9e4; padding: 6px 10px; border: 0 !important; }
.filtersDiv strong.heading { position: relative; z-index: 1; }
.filtersDiv strong.heading .clearFilters { position: absolute; z-index: 1; top: 5px; right: 10px; width: auto; float: none; padding: 0; }
.filtersDiv strong.heading .clearFilters span { text-shadow: none; }
.filtersDiv div { padding: 5px 0; overflow: hidden; }
.filtersDiv div ul { margin: 0 !important; padding: 0 !important; padding-left: 0 !important; list-style: none; }
.filtersDiv div ul li { margin: 0 0 0 10px; padding: 2px 0; list-style: none; float: left; width: 273px; font-size: 11px; line-height: 12px; }
.filtersDiv.twoAcross div ul li {  width: 460px; }
.filtersDiv.fourAcross div ul li {  width: 225px; }
#contentarea .filtersDiv div ul li { width: 233px; }
#contentarea .filtersDiv.twoAcross div ul li { width: 355px; }
#contentarea .filtersDiv.fourAcross div ul li { width: 172px; }
.filtersDiv div ul li input { position: relative; z-index: 1; top: 2px; margin: 0 4px 5px 0; padding: 0; float: left; }
.filtersDiv form { margin: 0; padding: 0; }
.filtersDiv div ul.filterDivider { clear: left; width: 100%; margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid rgba(255,255,255,.5); position: relative; }
.filtersDiv div ul.filterDivider:before { content:''; width: 100%; border-top: 1px solid rgba(0,0,0,.15); position: absolute; z-index: 1; top: -2px; left: 0; }

.filtersDiv .clearFilters a { font-size: 12px; text-decoration: none; color: #FFF; text-shadow: 1px 1px 0 #629ACC; }
.filtersDiv .clearFilters span { display: inline-block; width: 13px; height: 13px; margin: 0 3px 0 0; line-height: 14px; text-align: center; color: #629ACC; background: #FFF; border-radius: 10px; font-weight: bold; font-size: 12px; }
.filtersDiv .clearFilters a:hover { color: #FFF; }
.filtersDiv .clearFilters a:hover span { background: #333; color: #FFF; text-shadow: none; }


/*
GROUP FILTER
Links that allow you to select all students in a group
Location: /shared/css/modules/_groupFilter.css
*/

.groupFilter {
    background: #e4f4ff;
    border: solid 1px #d3edff;
    display: block;
    padding: 12px;
}
.groupFilter a {
    margin: 0 12px;
}
/*
HEADING BANNER
Banner with background image and text containing the page title
Currently used for the Teacher Corner
Location: /shared/modules/_headingBanner.css
*/

.headingBanner {
    background-image: url(/shared/images/teachercornerbanner2.jpg);
    background-size: cover;
    border: solid 9px #e0e0e0;
    height: 200px;
    margin: 2rem 0;
    padding: 2rem 35% 2rem 2rem;
}
.headingBanner_title {
    font-family: Signika, sans-serif;
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 0;
    text-transform: uppercase;
}
.headingBanner_subtitle {
    color: #555;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 0;
}
.heroSlider {
    z-index: 1;
}
.heroSlider .slide-content h1,
.heroSlider .slide-content p {
    width: 400px;
}
.heroSlider .slide-content h1 {
    font-family: 'Signika', sans-serif;
    font-size: 40px;
    line-height: 0.9;
    margin: 36px 0 18px 0;
    text-transform: uppercase;
}
.heroSlider .slide-content p {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 21px;
    white-space: normal;
}
.heroSlider .slide-content a {
    font-family: 'Signika', sans-serif;
    font-weight: 300;
    line-height: normal;
    text-transform: uppercase;
}
.heroSlider .slide-content .btn {
    margin-top: 18px;
}
.heroSlider .ls-bottom-slidebuttons {
    margin: 0;
    top: -26px;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_hero.css
*******************************************************************************************
*******************************************************************************************/

.hero {
	background: url(/images/homepage-hero.png) no-repeat 0 0;
	background-size: cover;
    border-radius: 10px;
	min-height: 334px;
	margin-bottom: 15px;
	position: relative;
    padding: 20px 20px ;
    box-sizing: border-box;
}

.hero_title {
    text-shadow: -1px -1px rgba(255,255,255, .6);
    line-height: .5;
    font-size: 200%;
    margin: 0 0 2px;
    text-align: center;
}

.hero_subtitle {
    text-shadow: -1px -1px rgba(255,255,255, .6);
    font-size: 200%;
    margin: 0 0 8px;
    text-align: center;
}

.hero img {
    border-radius: 5px;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_image-slider.css
*******************************************************************************************
*******************************************************************************************/
.imageSlider {
}
.imageSliderDeck {
	z-index: 1;
	position: relative;
	height: 355px;
	background: #eaeaea;
	border-radius: 10px;
}
	.imageSlide {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.imageSlide a {
		text-decoration: none;
	}
	.imageSlideImg {
		border-radius: 10px 10px 0 0;
		border: 1px solid #eaeaea;
	}
	.imageSlideText {
		padding: 10px;
		color: #666;
		display: block;
	}
		.imageSlideText strong {
			color: #000;
		}
	
.imageSliderNav {
	text-align: center;
}
.imageSliderNav {
	position: relative;
	top: -10px;
	margin-bottom: -10px;
	z-index: 2;	
}
.dot {
	display: block;
	height: 10px;
	width: 10px;
	background: #CCC;
	border: 2px solid #CCC;
	border-radius: 10px;
	padding: 0;
	margin: 0;
}
.dot:hover {
	background: #000;
	border-color: #000;
}
.dot.selected {
	background: #FFF;
}
/*
Incentives

Student Incentives Styles

Markup:
markup/incentives.hbs

Styleguide 10.0
*/

/* Styles for incentive page, still need to be refactored */
.floatLeft { float: left; }
.floatRight { float: right; }
.overflow { overflow: auto; }
.incentiveWrapper {
	padding-top: 25px;
	border-top: 1px solid #f9ed62;
	background-image: -webkit-radial-gradient(50% 0%, ellipse farthest-side, rgba(26, 99, 153, .1) 0, rgba(26, 99, 153, .0) 200px);	
	background-image: -ms-radial-gradient(50% 0%, ellipse farthest-side, rgba(26, 99, 153, .1) 0, rgba(26, 99, 153, .0) 200px);	
	position: relative;
	z-index: 1;
	min-height: 375px;
}

	.incentiveWrapper:before, .incentiveWrapper:after { content: ""; display: block; width: 0; height: 0; position: absolute;	left: 50%;}
	.incentiveWrapper:before { margin-left: -70px; top: -1px; z-index: 50; border-left: 70px solid transparent; border-right: 70px solid transparent; border-top: 40px solid #fff; }
	.incentiveWrapper:after { margin-left: -71px;top: -1px; z-index: 49; border-left: 71px solid transparent; border-right: 71px solid transparent; border-top: 41px solid #f9ed62; }
	.incentiveContent { padding-right: 240px; float: left; clear: both; }
	.incentiveImage { position: absolute; bottom: 25px; right: 25px; }
	.incentiveRocketBtn { position: absolute; left: 0; bottom: 0; }
    .incentiveWrapper h2 { margin: 0; padding: 0; }
    .starsIcon, .bullet, .avatarIcon, .rocketIcon, .starIcon, .tipIcon, .awardIcon { background: url("/shared/images/incentiveSpriteSheet.png") no-repeat;margin-left: 5px; }

.starsIcon, .rocketIcon, .avatarIcon, .awardIcon { margin-bottom: 20px; }
.starsIcon { background-position: 0 0; width: 18px; height: 20px;}
.avatarIcon { background-position: -54px 0; width: 15px; height: 20px; }
.rocketIcon { background-position: -79px 0; width: 13px; height: 20px;}
.awardIcon { background-position: -202px 0; width: 13px; height: 18px;}

.tipCaptionWrapper { overflow: auto; margin-top: 20px; }
	.tipCaption { color: #1c679f; float: left; margin-left: 5px; width: 515px; }
	.tipCaption strong { font-weight: 700; }
	.tipIcon { background-position: -126px 0; width: 26px; height: 26px; margin-top: 6px; }	

.checkBullets {list-style-type: none; padding: 0px; margin: 0;}
	.checkBullets li { background: url("/shared/images/bullet.png") no-repeat top left; padding-left: 20px; display: block; margin-bottom: 10px; }

.starChart {color: #1c679f; font-size: 15px; font-weight: 600; width: 500px; height: 231px; background: url("/shared/images/starChart.png") no-repeat; border-collapse: collapse;}
	.starChart .small { font-weight: normal; font-style: italic; font-size: 11px; }
	.starChart td { padding: 0 0 0 10px; }
	.starCount {font-size: 20px; font-weight: 700; color: white; text-align: right; font-style: italic; padding-right: 35px;} 
	.table-plain .starCount { padding-right: 35px;} 
	.starChartHead { color: #1c679f; font-size: 20px; font-weight: 700; }
	.starChartAlignRight { text-align: right; width: 405px; }
	.starIcon { background-position: -101px 0; width: 16px; height: 16px; }
	.starChartHead em { color: #000; font-weight: bold; display: block; padding: 3px 10px; background: #FCC362; font-size: 12px; border-bottom: 2px solid #FFF; }
	.starChart.headsproutStars { height: 164px; background-position: 0 -67px; }   /* height started 164px */
	.starChart.testletStars { height: 132px; background-position: 0 -99px; }
	.starChart.wazStars { background-position: 0 -99px; height: 99px; }
	.starChart.sazStars { height: 198px; }
	
.rankChart {color: #1c679f; font-size: 15px; font-weight: 600; width: 500px; height: 231px; background: url("/shared/images/rankChart.png") 0 34px no-repeat; }
	.rankChart .starCount {font-size: 20px; font-weight: 700; color: white; text-align: right !important; font-style: italic; padding-right: 10px; height: 29px;} 
	.rankChart thead th { color: #1c679f !important; font-size: 20px; font-weight: 700; text-align: left; font-style: normal !important; }
	.rankChart td { padding-left: 40px; padding-top: 4px; }

/* Avatar scrolling banner */
.avatarSlider { position: absolute; z-index: 1; top: 0; right: 0; }
	.avatarBannerContent { position: relative; z-index: 1; width: 250px; height: 415px; }
	.avatarBannerContent .avatarBanner { position: absolute; z-index: 1; bottom: 0; right: 0;}

/* Avatar scrolling buttons */
#buttons { padding-left: 90px;  margin: 10px 0 0 0; list-style-type: none; width: 120px; overflow: auto; }
	#buttons li { float: left; height: 17px; width: 16px; margin-right: 5px; background: url("/shared/images/incentiveSpriteSheet.png") -155px 0; cursor: pointer; }
	#buttons li.selected { background: url("/shared/images/incentiveSpriteSheet.png") -171px 0; }
/*****************************************************************************
/shared/css/modules/_kidsLogin.css
*****************************************************************************/

.kidsLoginRobot {
 	background: url("/shared/images/loginBannerRobot.png") no-repeat scroll 0 0 transparent;
    height: 158px;
    left: 480px;
    position: absolute;
    bottom: -114px;
    width: 237px;
    z-index: 2;
}
.kidsLogin {
    background: url("/shared/images/loginBannerBg.png") no-repeat scroll 0 0 transparent;
    height: 100px;
    margin: 0;
    position: relative;
    z-index: 1;
}
.kidsLoginButton {
    background: url("/shared/images/loginBannerBtnSprite.png") no-repeat scroll 0 0 transparent;
    display: block;
    height: 83px;
    position: absolute;
    right: 60px;
    text-indent: -1000em;
    top: 8px;
    width: 160px;
    z-index: 1;
}
	.kidsLogin .kidsLoginButton:hover {
	    background-position: 0 -83px;
	}
/*
LANDING PAGE NAV (Currently used for Teacher Corner)
Location: /shared/modules/_landingPageNav.css
*/

.landingPageNav {
    margin: 12px 0;
}
.landingPageNav .navHeading {
    display: none;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_leaderboard.css
*******************************************************************************************
*******************************************************************************************/

.leaderboard {
    display: inline-block;
    list-style: none;
    margin: 0 0 8px;
    padding: 0 0 0 10px;
    vertical-align: bottom;
}
.leaderboard li {
	display: inline-block;
    margin: 0;
    line-height: 12px;
}
	.leaderboard li:first-child {
		padding-right: 6px;
        border-right: solid 1px #7f7c7b;
	}
	.leaderboard li:last-child {
		padding-left: 6px;
	}
.leaderboard span {
    font-weight: 700;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_level-bar.css
*******************************************************************************************
*******************************************************************************************/

/* READING LEVEL POPOUT CONTENT */
/* for selecting episode using assignment picker */
.popoutContent.popoutContent-rk {
    top: 38px;
    width: 756px;
}
.popoutContent.popoutContent-rk .levelBarNew {
    height: auto;
    margin: 0;
}
.popoutContent.popoutContent-rk .levels {
    margin-bottom: 0;
}

/*************/
/* LEVEL BAR */

#levelBarNew,
.levelBarNew {
    box-sizing: content-box;
    margin: 18px 0;
    position: relative;
    z-index: 1;
}
.levelBarNew .mdlevel,
#levelBarNew .mdlevel {
    width: 750px;
}

#levelBarNew.levelBarLinks {
    margin: 7px 0;
}
#levelBarNew strong,
.levelBarNew strong {
    display: block;
    padding: 0 0 4px 2px;
}
#levelBarNew ul,
.levelBarNew ul,
ul.levels {
    margin: 0;
    list-style: none;
    padding: 0;
}
#levelBarNew:after,
.levelBarNew:after {
    clear: both;
    content: "";
    display: block;
}
#levelBarNew ul li,
.levelBarNew ul li {
    width: 3.448%;
}
#levelBarNew ul li,
.levelBarNew ul li,
.levels li {
    box-sizing: border-box;
    display: block;
    height: 27px;
    float: left;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 0 1px;
    position: relative;
    top: 0;
    z-index: 1;
}
#levelBarNew ul li a,
.levelBarNew ul li a {
    cursor: default;
    margin: 0;
    padding: 0;
    display: block;
	width: 100%;
	border: solid 1px rgba(0, 0, 0, 0.13);
	box-sizing: border-box;
    text-align: center;
    font-size: 1.1rem;
    line-height: 25px;
    font-weight: bold;
    color: #FFF;
    text-decoration: none;
    float: left;
}
#levelBarNew ul li a,
.levelBarNew ul li a {
    opacity: .35;
        -moz-opacity: .35;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha"(Opacity=35);
        filter: alpha(opacity = 35);
        -khtml-opacity: 0.35;
}

/**********************************/
/* levels not in a full level bar */

.levels {
    display: inline-block;
}
.levels li {
    width: 24px;
}
.levels .level {
    margin: 0;
    padding: 0;
    display: block;
	border: solid 1px rgba(0, 0, 0, 0.13);
	box-sizing: border-box;
    text-align: center;
    font-size: 15px;
	line-height: 26px;
    font-weight: bold;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
    color: #FFF !important;
    text-decoration: none;
    width: 100%;
    background: #d81414;
}
.levels .level a {
    width: 24px;
}
ul.levels.smllevel li {
    height: auto;
    width: auto;
}
ul.levels.smllevel li .level {
    width: 15px !important;
    height: 15px;
    font-size: 10px;
    line-height: 14px;
}
.levels-center {
	position: absolute;
	left: 50%;
	bottom: 3px;
	margin-left: -12px !important;
}

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

.levelBarNew ul li a.active:hover,
.levelBarNew ul li a.activeOn,
#levelBarNew ul li a.levelHover:hover,
.levelBarNew ul li a.levelHover:hover {
    cursor: pointer;
    left: 0;
    position: absolute;
    z-index: 1;
    top: -5px;
    height: 36px;
    line-height: 34px;
    -moz-opacity: 1;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha"(Opacity=100);
        filter: alpha(opacity = 100);
        -khtml-opacity: 1;
}
.levelBarNew ul.disabled li a.levelHover:hover {
    cursor: default;
    position: relative;
    z-index: 1;
    top: 0px;
    right: 0;
    height: 26px !important;
    line-height: 26px;
    opacity: .35;
        -moz-opacity: .35;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha"(Opacity=35);
        filter: alpha(opacity = 35);
        -khtml-opacity: 0.35;
}

#levelBarNew ul li a.active,
.levelBarNew ul li a.active {
    text-shadow: 1px 1px 0  rgba(0, 0, 0, 0.4) !important;
    opacity: 1;
        -moz-opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha"(Opacity=100);
        filter: alpha(opacity = 100);
        -khtml-opacity: 1;
}
.levelbar-number {
    position: relative;
    top: -6px;
    left: 2px;
    font-size: 11px;
    line-height: 10px;
    width: 10px;
    height: 10px;
    color: #FFF;
    text-shadow: none;
}
.levelbar-number-sml {
  position: relative;
  top: -4px;
  left: 1px;
  font-size: 9px;
  line-height: 10px;
  width: 10px;
  height: 10px;
  color: #FFF;
  text-shadow: none;
}

#levelBarNew ul li a#level-aa,
.levelBarNew ul li a.level-aa,
ul.levels li #level-aa,
ul.levels li .level-aa,
.level-aa {
	background: #d80028;
}
#levelBarNew ul li a#level-A,
.levelBarNew ul li a.level-A,
ul.levels li #level-A,
ul.levels li .level-A,
.level-A {
	background: #d8006c;
}
#levelBarNew ul li a#level-B,
.levelBarNew ul li a.level-B,
ul.levels li #level-B,
ul.levels li .level-B,
.level-B {
	background: #d800a9;
}
#levelBarNew ul li a#level-C,
.levelBarNew ul li a.level-C,
ul.levels li #level-C,
ul.levels li .level-C,
.level-C{
	background: #c600d8;
}
#levelBarNew ul li a#level-D,
.levelBarNew ul li a.level-D,
ul.levels li #level-D,
ul.levels li .level-D,
.level-D {
	background: #a600d8;
}
#levelBarNew ul li a#level-E,
.levelBarNew ul li a.level-E,
ul.levels li #level-E,
ul.levels li .level-E,
.level-E {
	background: #8200d8;
}
#levelBarNew ul li a#level-F,
.levelBarNew ul li a.level-F,
ul.levels li #level-F,
ul.levels li .level-F {
	background: #6100d8;
}
#levelBarNew ul li a#level-G,
.levelBarNew ul li a.level-G,
ul.levels li #level-G,
ul.levels li .level-G {
	background: #3600d8;
}
#levelBarNew ul li a#level-H,
.levelBarNew ul li a.level-H,
ul.levels li #level-H,
ul.levels li .level-H {
	background: #0036d8;
}
#levelBarNew ul li a#level-I,
.levelBarNew ul li a.level-I,
ul.levels li #level-I,
ul.levels li .level-I {
	background: #005dd8;
}
#levelBarNew ul li a#level-J,
.levelBarNew ul li a.level-J,
ul.levels li #level-J,
ul.levels li .level-J {
	background: #0082d8;
}
#levelBarNew ul li a#level-K,
.levelBarNew ul li a.level-K,
ul.levels li #level-K,
ul.levels li .level-K {
	background: #00a9d8;
}
#levelBarNew ul li a#level-L,
.levelBarNew ul li a.level-L,
ul.levels li #level-L,
ul.levels li .level-L {
	background: #00cad8;
}
#levelBarNew ul li a#level-M,
.levelBarNew ul li a.level-M,
ul.levels li #level-M,
ul.levels li .level-M {
	background: #00d8c3;
}
#levelBarNew ul li a#level-N,
.levelBarNew ul li a.level-N,
ul.levels li #level-N,
ul.levels li .level-N {
	background: #00d889;
}
#levelBarNew ul li a#level-O,
.levelBarNew ul li a.level-O,
ul.levels li #level-O,
ul.levels li .level-O {
	background: #00d845;
}
#levelBarNew ul li a#level-P,
.levelBarNew ul li a.level-P,
ul.levels li #level-P,
ul.levels li .level-P {
	background: #56d800;
}
#levelBarNew ul li a#level-Q,
.levelBarNew ul li a.level-Q,
ul.levels li #level-Q,
ul.levels li .level-Q {
	background: #85d800;
}
#levelBarNew ul li a#level-R,
.levelBarNew ul li a.level-R,
ul.levels li #level-R,
ul.levels li .level-R {
	background: #b8d800;
}
#levelBarNew ul li a#level-S,
.levelBarNew ul li a.level-S,
ul.levels li #level-S,
ul.levels li .level-S {
	background: #d5d800;
}
#levelBarNew ul li a#level-T,
.levelBarNew ul li a.level-T,
ul.levels li #level-T,
ul.levels li .level-T {
	background: #d8cd00;
}
#levelBarNew ul li a#level-U,
.levelBarNew ul li a.level-U,
ul.levels li #level-U,
ul.levels li .level-U {
	background: #d8b400;
}
#levelBarNew ul li a#level-V,
.levelBarNew ul li a.level-V,
ul.levels li #level-V,
ul.levels li .level-V {
	background: #d89800;
}
#levelBarNew ul li a#level-W,
.levelBarNew ul li a.level-W,
ul.levels li #level-W,
ul.levels li .level-W {
	background: #d87b00;
}
#levelBarNew ul li a#level-X,
.levelBarNew ul li a.level-X,
ul.levels li #level-X,
ul.levels li .level-X {
	background: #d85600;
}
#levelBarNew ul li a#level-Y,
.levelBarNew ul li a.level-Y,
ul.levels li #level-Y,
ul.levels li .level-Y {
	background: #d83600;
}
#levelBarNew ul li a#level-Z,
.levelBarNew ul li a.level-Z,
ul.levels li #level-Z,
ul.levels li .level-Z {
	background: #d80e00;
}
#levelBarNew ul li a#level-Z1,
.levelBarNew ul li a.level-Z1,
ul.levels li #level-Z1,
ul.levels li .level-Z1 {
	background: #c00e01;
}
#levelBarNew ul li a#level-Z2,
.levelBarNew ul li a.level-Z2,
ul.levels li #level-Z2,
ul.levels li .level-Z2 {
	background: #a20b01;
}
#levelBarNew ul li a#level-Z3,
.levelBarNew ul li a.level-Z3,
ul.levels li #level-Z3,
ul.levels li .level-Z3 {
	background: #8b0901;
    border-color: #802507;
}
.levelBarNew #level-1 {
    background: #258dd2;
}
.levelBarNew #level-2 {
    background: #194d91;
}
.levelBarNew #level-3 {
    background: #132a6e;
}


/* BENCHMARK FLAGS */
.benchmark {
    background: url(/shared/images/benchmark-tail.png) 100% 0 no-repeat #eb75a7;
    color: #FFF;
    display: inline-block;
    font-size: 12px;
    line-height: 18px;
    padding: 0 14px 0 5px;
    text-shadow: none;
}
.benchmark.levelaa { background-color: #d81414; }
.benchmark.levelA { background-color: #f04d83; }
.benchmark.levelB { background-color: #c729a7; }
.benchmark.levelC { background-color: #8b1b66; }
.benchmark.levelD { background-color: #660066; }
.benchmark.levelE { background-color: #000066; }
.benchmark.levelF { background-color: #1515af; }
.benchmark.levelG { background-color: #1e1ee5; }
.benchmark.levelH { background-color: #5353ee; }
.benchmark.levelI { background-color: #2f89e3; }
.benchmark.levelJ { background-color: #2ac0e5; }
.benchmark.levelK { background-color: #1bdbdb; }
.benchmark.levelL { background-color: #1af1c6; }
.benchmark.levelM { background-color: #1efaa2; }
.benchmark.levelN { background-color: #00cc66; }
.benchmark.levelO { background-color: #04934c; }
.benchmark.levelP { background-color: #009933; }
.benchmark.levelQ { background-color: #056625; }
.benchmark.levelR { background-color: #00a329; }
.benchmark.levelS { background-color: #42d012; }
.benchmark.levelT { background-color: #a6ca15; }
.benchmark.levelU { background-color: #d5d500; }
.benchmark.levelV { background-color: #e7bc12; }
.benchmark.levelW { background-color: #ffcc00; }
.benchmark.levelX { background-color: #ff9900; }
.benchmark.levelY { background-color: #ff6633; }
.benchmark.levelZ { background-color: #cc3300; }

/*** SCIENCE ***/
.levelBar-science{
    background:#aeedf7;
    margin-bottom:20px;
    height: 113px;
  border-radius: 8px;
}

.levelBar-science-container{
  float: left;
  border: 2px solid #29c229;
  margin: 10px;
  border-radius: 5px;
  background: #7ee37e;
    margin-left: 48px;
      position: relative;
      height: 92px;
  }



.line{
  border-top: 1px solid #4cd04c;
  margin-left: 20px;
  width: 200px;
  position: absolute;
  top: 60px;
  z-index: 2;
  left: 1px;
    }

.levelBar-science .headings {
    margin: 0;
    padding: 0;
    list-style: none;
    background: #29c229;
}
.levelBar-science .headings li {
margin: 0;
    padding: 3px;
    display: block;
    width: 242px;
    text-align: center;
    font-size: 20px;
    color: #fff;
    background: #29c229;
    font-weight: bold;
      font-family: chewy;
}
.levelBar-science .levels li {
    width: 242px;
}
.levelBar-science .levels a {
  text-decoration: none;
  color: #097009;
  font-size: 14px;
  line-height: 27px;
  height: 28px;
  text-align: center;
  background: #7ee37e;
  display: block;
  margin: 0;
}
.levelBar-science .levels a:hover {
    background: #3ac23a;
    color: #Fff;
}
.levelBar-science .levels a.active {
    background: #4bcd4b;
    color:#fff;
}
ul.sublevels li {
  list-style: none;
  padding: 0;
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  height: 28px;}

.levelBar-science .sublevels a.active {
    background: #4bcd4b;
    color:#fff;
}

  .levelBar-science .sublevels span{
  display: block;
  width: 25px;
  float: left;
  height: 25px;
  line-height: 26px;
  padding-top: -1px;
  margin-top: 2px;
  background: #d81414;
  border: #810a0a solid 1px;
  color: #FFF;
  text-shadow: 1px 1px 0 #360506 !important;
  margin-left: 4px;}


.levelBar-science .sublevels a {
  text-decoration: none;
  color: #097009;
  font-size: 14px;
  line-height: 27px;
  height: 28px;
  text-align: center;
  background: #7ee37e;
  display: block;
  margin: 0;}

  .levelBar-science .sublevels li {
  width: 242px;}

  .levelBar-science .sublevels a:hover {
  background: #3ac23a;
  color: #Fff;}

  ul.sublevels {
  margin: 0;
  list-style: none;
  padding: 0;}

ul.sublevels {
  display: inline-block;}

.levelLink {
  border-radius: 10px 10px 0 0;
  margin-top: 48px;
  margin-left: 12px;
  margin-right: 12px;
  clear: both;
  background: #e0e0e0;
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin: 18px 0;
  padding: 5px 12px;
}

/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_level-bar-popout.css
*******************************************************************************************
*******************************************************************************************/

/* needs to be cleaned up */

.levelBarPopout-container {
    font-family: Arial,Verdana;
    font-size: 11px;
    width: 210px;
}
.levelBarPopout-container .header {
	background: #0b3b83;
	color: #FFF;
	font-weight: bold;
	padding: 2px 0 2px 5px;
	margin: 0;
}
.levelBarPopout-inner {
    background: #fff;
    border: 3px solid #0b3b83;
    box-shadow: 0 5px 10px #ccc;
    padding: 10px;
}

.levelBarPopout-arrow {
	border: solid 9px transparent;
    height: 0;
    margin-right: -9px;
    position: absolute;
    width: 0;
    z-index: 10;
}
	.levelBarPopout-arrow-top {
		border-bottom: solid 9px #0b3b83;
	    top: -18px;
	}
	.levelBarPopout-arrow-topleft {
	    border-bottom: solid 9px #0b3b83;
	    top: -18px;
	}
	.levelBarPopout-arrow-topright {
	    border-bottom: solid 9px #0b3b83;
	    top: -18px;
	}
	.levelBarPopout-arrow-bottom {  
	    border-top: solid 9px #0b3b83;
	    bottom: -18px;
	}
	.levelBarPopout-arrow-bottomleft {
	    border-top: solid 9px #0b3b83;
	    bottom: -18px;
	}
	.levelBarPopout-arrow-bottomright {
	    border-top: solid 9px #0b3b83;
	    bottom: -18px;
	}



.levelBarPopout-inner table {
    width: 100%;
}
.levelBarPopout-inner table td {
	border-bottom: solid 1px #e0e0e0;
    padding-bottom: 1px;
    padding-top: 1px;
}
.levelBarPopout-inner table td.col1 {
    padding: 2px 0 2px 3px;
}
.levelBarPopout-inner table td.col2 {
    font-weight: bold;
    padding: 2px 3px 2px 0;
    text-align: right;
    width: 63px;
}
.levelBarPopout-inner table#tradeBookPopout td.col2 {
    width: 100px;
}
.levelBarPopout-inner table td.zebra {
    background-color: #efefee;
}


/* Special styling for the Polish, Ukrainian, and Vietnamese (respectively) individual level boxes */
#bookroomConfigDetails_32 li {
    width: 3.7%;
}
#bookroomConfigDetails_33 li {
    width: 3.7%;
}
#bookroomConfigDetails_34 li {
    width: 5.5%;
}

/** Lists for reading level bar **/
.list-razReadingLevel {
    white-space: nowrap;
}
.list-razReadingLevel li {
    box-sizing: border-box;
    border: solid 1px #fff;
    border-right: none;
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    min-height: 27px;
    min-width: 26px;
    width: 3.448%;
    z-index: 1;
}
.list-razReadingLevel li.razReadingLevel-md {
     min-height: 15px;
     min-width: 23px;
 }

/** for specific reading level **/
.razReadingLevel {
    margin: 0;
    padding: 0;
    display: block;
	box-sizing: border-box;
    text-align: center;
    font-size: 15px;
	line-height: 26px;
    font-weight: bold;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
    color: #FFF !important;
    text-decoration: none;
    min-width: 25px;
    max-width: 30px;
    width: 100%;
    background: #d81414;
}
    .razReadingLevel-md .razReadingLevel {
        font-size: 12px;
        line-height: 20px;
        min-width: 20px;
        max-width: 27px;
    }

.razReadingLevelNumber {
    position: relative;
    top: -6px;
    left: 2px;
    font-size: 11px;
    line-height: 10px;
    width: 10px;
    height: 10px;
    color: #FFF;
    text-shadow: none;
}
.razReadingLevelNumber-sml {
  top: -4px;
  left: 1px;
  font-size: 9px;
}

.razReadingLevel-aa {
	background: #d80028;
}
.razReadingLevel-A {
	background: #d8006c;
}
.razReadingLevel-B {
	background: #d800a9;
}
.razReadingLevel-C {
	background: #c600d8;
}
.razReadingLevel-D {
	background: #a600d8;
}
.razReadingLevel-E {
	background: #8200d8;
}
.razReadingLevel-F {
	background: #6100d8;
}
.razReadingLevel-G {
	background: #3600d8;
}
.razReadingLevel-H {
	background: #0036d8;
}
.razReadingLevel-I {
	background: #005dd8;
}
.razReadingLevel-J {
	background: #0082d8;
}
.razReadingLevel-K {
	background: #00a9d8;
}
.razReadingLevel-L {
	background: #00cad8;
}
.razReadingLevel-M {
	background: #00d8c3;
}
.razReadingLevel-N {
	background: #00d889;
}
.razReadingLevel-O {
	background: #00d845;
}
.razReadingLevel-P {
	background: #56d800;
}
.razReadingLevel-Q {
	background: #85d800;
}
.razReadingLevel-R {
	background: #b8d800;
}
.razReadingLevel-S {
	background: #d5d800;
}
.razReadingLevel-T {
	background: #d8cd00;
}
.razReadingLevel-U {
	background: #d8b400;
}
.razReadingLevel-V {
	background: #d89800;
}
.razReadingLevel-W {
	background: #d87b00;
}
.razReadingLevel-X {
	background: #d85600;
}
.razReadingLevel-Y {
	background: #d83600;
}
.razReadingLevel-Z {
	background: #d80e00;
}
.razReadingLevel-Z1 {
	background: #c00e01;
}
.razReadingLevel-Z2 {
	background: #a20b01;
}
.razReadingLevel-Z3 {
	background: #8b0901;
    border-color: #802507;
}

.lowOpacity .razReadingLevel {
    opacity: .35;
}
.lowOpacity .razReadingLevel:hover,
.lowOpacity .razReadingLevel.active {
    opacity: 1;
    height: 36px;
    line-height: 34px;
    top: 5px;
    position: absolute;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_lightwindow.css
*******************************************************************************************
*******************************************************************************************/

#lightwindow_overlay {
	/* REQUIRED */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	z-index: 1100;
	/* REQUIRED */
}

#lightwindow {
	/* REQUIRED */
	/* Of Note - The height and width of this element are set to 0px */
	display: none;
	visibility: hidden;
	position: absolute;
	z-index: 1100;
	line-height: 0px;
	/* REQUIRED */
}

	#lightwindow_container {
		/* REQUIRED */
		display: none;
		visibility: hidden;
		position: absolute;
		/* REQUIRED */
		padding: 0 0 0 0;
		margin: 0 0 0 0;
	}

	/* IE6 needs this or it messes with our positioning */
	* html #lightwindow_container {
		overflow: hidden;
	}

	#lightwindow_contents {
		overflow: hidden;
		z-index: 0;
		position: relative;
		/*border: 10px solid #ffffff;*/
		background-color: #ffffff;
		margin: 0 auto;
	}		

#lightwindow_loading {
	/* REQUIRED */
	height: 100%;
	width: 100%;
	top: 0px;
	left: 0px;
	z-index: 9999;
	position: absolute;
	/* REQUIRED */
	background-color: #f0f0f0;
	padding: 10px;
}

	#lightwindow_loading_shim { 
		display: none;
		left: 0px; 
		position: absolute; 
		top: 0px;
		width: 100%; 
		height: 100%;
	}

	#lightwindow_loading span {
    	font-size: 12px;
		line-height: 32px;
		color: #444444;
		float: left;
		padding: 0 10px 0 0;
	}

	#lightwindow_loading span a,
	#lightwindow_loading span a:link, 
	#lightwindow_loading span a:visited {
		color: #09F;
		text-decoration: none;
		cursor: pointer;
	}

	#lightwindow_loading span a:hover,
	#lightwindow_loading span a:active {
		text-decoration: underline;
	}


	#lightwindow_loading img {
   		float: left;
   		margin: 0 10px 0 0;
	}


/*-----------------------------------------------------------------------------------------------
	I liked the Navigation so much from http://www.huddletogether.com/projects/lightbox2/
	I mean let's face it, it works really well and is very easy to figure out.
-----------------------------------------------------------------------------------------------*/

#lightwindow_navigation {
	/* REQUIRED */
	position: absolute;
	top: 0px;
	left: 0px;
	display: none;
	/* REQUIRED */
}
	/* We need to shim the navigation for IE, though its more of a sub-floor */
	#lightwindow_navigation_shim { 
		/* REQUIRED */
		display: none;
		left: 0px; 
		position: absolute; 
		top: 0px;
		width: 100%; 
		height: 100%;
		/* REQUIRED */
	}

	#lightwindow_navigation a,
	#lightwindow_navigation a:link,
	#lightwindow_navigation a:visited,
	#lightwindow_navigation a:hover,
	#lightwindow_navigation a:active { 
		/* REQUIRED */
		outline: none;
		/* REQUIRED */
	}

	#lightwindow_previous, 
	#lightwindow_next {
		width: 49%;
		height: 100%;
		background: transparent url(/shared/img/lightwindow/blank.gif) no-repeat; /* Trick IE into showing hover */
		display: block;
	}
	
	#lightwindow_previous { 
		float: left;
		left: 0px;
	}

	#lightwindow_next { 
		float: right;
		right: 0px;
	}

	#lightwindow_previous:hover, 
	#lightwindow_previous:active { 
		background: url(/shared/img/lightwindow/prevlabel.gif) left 15% no-repeat; 
	}

	#lightwindow_next:hover, 
	#lightwindow_next:active { 
		background: url(/shared/img/lightwindow/nextlabel.gif) right 15% no-repeat; 
	}
	
	#lightwindow_previous_title,
	#lightwindow_next_title {
		display: none;
	}
	 	
#lightwindow_galleries {
	width: 100%;
	position: absolute;
	z-index: 50; 
	display: none;
	overflow: hidden;
	margin: 0 0 0 10px;
	bottom: 0px;
	left: 0px;
}

	#lightwindow_galleries_tab_container {
		width: 100%;
		height: 0px;
		overflow: hidden;
	}

	a#lightwindow_galleries_tab,		
	a:link#lightwindow_galleries_tab,
	a:visited#lightwindow_galleries_tab {
		display: block;
		height: 20px;
		width: 77px;
		float: right;
		line-height: 22px;
		color: #ffffff;
		text-decoration: none;
		font-weight: bold;
		cursor: pointer;
		font-size: 11px;
		color: #ffffbe;
		background: url(/shared/img/lightwindow/black-70.png) repeat 0 0 transparent;
	}
	
	* html a#lightwindow_galleries_tab,		
	* html a:link#lightwindow_galleries_tab,
	* html a:visited#lightwindow_galleries_tab {	
		background: none;
		background-color: #000000;
		opacity: .70;
		filter: alpha(opacity=70);
	}

	a:hover#lightwindow_galleries_tab,
	a:active#lightwindow_galleries_tab {
		color: #ffffbe;

	}

	#lightwindow_galleries_tab_span {
		display: block;
		height: 20px;
		width: 63px;
		padding: 0 7px 0 7px;
	}
	
	#lightwindow_galleries_tab .up	{
		background: url(/shared/img/lightwindow/arrow-up.gif) no-repeat 60px 5px transparent;
	}

	#lightwindow_galleries_tab .down {
		background: url(/shared/img/lightwindow/arrow-down.gif) no-repeat 60px 6px transparent;
	}

	#lightwindow_galleries_list {
		background: url(/shared/img/lightwindow/black-70.png) repeat 0 0 transparent;
		overflow: hidden;
		height: 0px;
	}

	* html #lightwindow_galleries_list {
		background: none;
		background-color: #000000;
		opacity: .70;
		filter: alpha(opacity=70);
	}	

	.lightwindow_galleries_list {
		width: 200px;
		float: left;
		margin: 0 0 10px 0;
		padding: 10px;
	}

	.lightwindow_galleries_list h1 {	
		color: #09F;
		text-decoration: none;
		font-weight: bold;
		cursor: pointer;
		padding: 10px 0 5px 0;
		font-size: 16px;
	}

	.lightwindow_galleries_list li {
		margin: 5px 0 5px 0;
		list-style-type: none;
	}

	.lightwindow_galleries_list a, 
	.lightwindow_galleries_list a:link, 
	.lightwindow_galleries_list a:visited {
		display: block;
		line-height: 22px;
		color: #ffffff;
		text-decoration: none;
		font-weight: bold;
		cursor: pointer;
		padding: 0 0 0 10px;
		font-size: 11px;
	}

	.lightwindow_galleries_list a:hover, 
	.lightwindow_galleries_list a:active {
		background: #000000;
		color: #ffffbe;
		border-left: 3px solid #ffffbe;
		padding: 0 0 0 7px;
	}
		
#lightwindow_data {
	/* REQUIRED */
	position: absolute;
	/* REQUIRED */
}

	#lightwindow_data_slide {
		/* REQUIRED */
		position: relative;
		/* REQUIRED */
	}

	#lightwindow_data_slide_inner {
		background-color: #ffffff;
		padding: 0 10px 10px 10px;
	}

	#lightwindow_data_caption {
		padding: 10px 0 0 0;
		color: #666666;
		line-height: 25px;
		background-color: #ffffff;
		clear: both;
	}

	#lightwindow_data_details {
		background-color: #f0f0f0;
		padding: 0 10px 0 10px;
		height: 20px;
	}
	
	#lightwindow_data_author_container {
		width: 40%;
		text-align: right;
		color: #666666;
	 	font-style: italic;
		font-size: 10px;
		line-height: 20px;
		float: right;
		overflow: hidden;
	}
	
	#lightwindow_data_gallery_container {
		font-size: 10px;
		width: 40%;
		text-align: left;
		color: #666666;
		line-height: 20px;
		float: left;
		overflow: hidden;
	}
	
#lightwindow_title_bar {
	height: 25px;
	overflow: hidden;		
}

	#lightwindow_title_bar_title {
		color: #FFF;
		font-size: 14px;
		line-height: 25px;
		text-align: left;
		float: left;
	}

	a#lightwindow_title_bar_close_link,	
	a:link#lightwindow_title_bar_close_link,
	a:visited#lightwindow_title_bar_close_link {
		float: right;
		text-indent: -100000px;
		cursor: pointer;
		color: #ffffbe;
		line-height: 25px;
		padding: 0;
		margin: 0;
		background: url(/shared/img/lightwindow/close-button2.png) right top no-repeat;
		height: 30px;
		width: 30px;
	}
	
	a:hover#lightwindow_title_bar_close_link,
	a:active#lightwindow_title_bar_close_link {
		background-position: 100% -30px;
	}

/*-----------------------------------------------------------------------------------------------
	Theme styling stuff
-----------------------------------------------------------------------------------------------*/	

#lightwindow p {
	color: #000000;
	padding-right: 10px;
}


#lazContainer { 
	background: #FFF; 
	border: 10px solid #FFF;
    border-radius: 10px;
    -moz-border-radius: 10px;
 	-webkit-border-radius: 10px;
    
}

/*
STUDENT LIST

Location: /shared/css/modules/listStudents.css
Display students in a list with multiple columns

TODO: code review
*/

.listStudents {
    /*column-count: 4;*/
    display: block;
    float: none;
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}
    .listStudents .listItem {
        display: block;
        margin: 0 18px 6px 0;
    }
        .listStudents .is-complete {
            color: #5a9e0c;
        }

/* ------------
SPECIFIC USAGES
------------ */

/* list of students assigned to a book */
.assignment .listStudents {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
}
    .assignment .listStudents .listItem {
        font-weight: bold;
        width: 150px;
    }
    .assignment .listStudents.col2 {
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
    }
    .assignment .listStudents.col3 {
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3;
    }
    .assignment .listStudents.col4 {
        -webkit-column-count: 4;
           -moz-column-count: 4;
                column-count: 4;
    }

/*
Loading Spinner

Location: /shared/modules/_loader.css
CSS 2D Spinning Animation

.loading-spinner-sm - Small Loading Spinner

Markup:
markup/loader.hbs

Styleguide 2.0

TODO: code review
*/

.loading {
    display: block;
    text-align: center;
}

@-webkit-keyframes cp-round-animate{
    0%{
        -webkit-transform:rotate(0);
                transform:rotate(0)
    }
    100%{
        -webkit-transform:rotate(360deg);
                transform:rotate(360deg)
    }
}

@keyframes cp-round-animate{
    0%{
        -webkit-transform:rotate(0);
                transform:rotate(0)
    }
    100%{
        -webkit-transform:rotate(360deg);
                transform:rotate(360deg)
    }
}



.loading_spinner,
.loading_spinner:before,
.loading_spinner:after {
    width: 48px;
    height: 48px;

}

.loading_spinner.loading_spinner-sm,
.loading_spinner.loading_spinner-sm:before,
.loading_spinner.loading_spinner-sm:after {
    width: 28px;
    height: 28px;
}

.loading_spinner {
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    top: 0;
    left: 0;
}

.loading_spinner:before {
    border-radius: 50%;
    content: " ";
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px #bababa;
    border-right: solid 6px #bababa;
    border-bottom: solid 6px #bababa;
    border-left: solid 6px #bababa;
    position: absolute;
    top: 0;
    left: 0;
}

.loading_spinner:after {
    border-radius: 50%;
    content: " ";
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px #f56151;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px transparent;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: cp-round-animate 1s ease-in-out infinite;
            animation: cp-round-animate 1s ease-in-out infinite;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_login.css
*******************************************************************************************
*******************************************************************************************/

/*** login window in bundlebar ***/

.login {
	position: relative;
	z-index: 501;
}
.login #loginFormDiv {
	background: #fff;
	border: solid 3px #379F0C;
	border-radius: 10px;
	border-top-right-radius: 0;
	padding: 12px 15px 15px;
	position: absolute;
	top: 32px;
	right: 0px;
	z-index: 10;
}
.login #loginForm table {
	margin: 0;
	padding: 0;
	border: 0;
	width: auto;
}
.login #loginForm table td {
	margin: 0;
	padding: 3px 0 0 5px;
	border: 0;
	font-size: 11px !important;
	color: #222 !important;
}
.login #loginForm input[type="checkbox"] {
	margin: 0;
}
.login #loginForm input.inputbox {
	background: #FFF;
	border: #afd785 1px solid;
	width: 103px;
	padding: 2px 5px;
	margin: 0;
}

.login #loginForm .loginNotMember a { 
    border-radius: 5px; border: 1px solid #3879BA ; padding: 5px 10px; margin: 20px 0 10px 0; font-size: 11px; z-index: 1; width: auto;
    background: #4a8dd1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(32%,#4a8dd1), color-stop(75%,#3879ba));
    background: -webkit-linear-gradient(top,  #4a8dd1 32%,#3879ba 75%);
    background: linear-gradient(to bottom,  #4a8dd1 32%,#3879ba 75%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a8dd1', endColorstr='#3879ba',GradientType=0 );
    color: #FFF; text-decoration: none; text-shadow: 1px 1px 0 #2D6195; display: block; width: 100px;
}

.login #loginForm .loginNotMember a:hover {
	background: #4a8dd1;
}
#loginOverlay {
    border: 0 none;
    left: 0;
    margin: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    opacity: 0.8;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    background: #000 !important; 
    z-index: 500;
}
    
a.notRegistered {
    background: #7abcff;
    background: -webkit-linear-gradient(top, #7abcff 0%, #60abf8 44%, #4096ee 100%) repeat scroll 0 0 transparent;
    background: linear-gradient(to bottom, #7abcff 0%, #60abf8 44%, #4096ee 100%) repeat scroll 0 0 transparent;
    border: 1px solid #2488ec;
    border-radius: 5px;
    color: #fff !important;
    display: block;
    font-size: 13px;
    margin: 20px 0 10px;
    padding: 5px 10px;
    text-decoration: none;
    text-shadow: 1px 1px 0 #2488ec;
    width: 100px;
    z-index: 1;
}
a.notRegistered:hover { background: #4096ee; }
/*
MAIN BUTTONS
Used to display category buttons on a page
Location: /shared/css/modules/_mainbuttons.css

TODO: Update subnav includes so that they no longer use legacy styles
*/

.secondaryNav {}
.secondaryNav_item {}

.mainButtons{}
.mainButtons_item {
    display: inline-block;
    float: left;
    width: 32%;
}
    .mainButtons_item a {
        color: #FFF;
        display: block;
        text-align: center;
        text-decoration: none;
        background: #7EAEDA;
        border-radius: 10px;
        height: 40px;
        padding: 10px 5px;
        text-shadow: none;
        margin: 0 5px 5px 0;
        box-sizing: border-box;
    }
        .mainButtons_item a:hover {
            text-decoration: none;
            color: #000;
        }

/* ALTERNATE VERSION */

.mainButtons .navHeading {
    display: none;
}

.mainButtons .navItem {
    display: inline-block;
    float: left;
    width: 32%;
}

.mainButtons .navItem_link {
    color: #FFF;
    display: block;
    text-align: center;
    text-decoration: none;
    background: #7EAEDA;
    border-radius: 10px;
    height: 40px;
    padding: 10px 5px;
    text-shadow: none;
    margin: 0 5px 5px 0;
    box-sizing: border-box;
}
    .mainButtons .navItem_link:hover {
        text-decoration: none;
        color: #000;
    }

.mainButtons .sublevel {
    display: none;
}

/*******************************************************************************************
*******************************************************************************************
shared/css/modules/_member-homepage-legacy.css
*******************************************************************************************
*******************************************************************************************/

#memberHome { position: relative; z-index: 1; width: 940px; float: left; padding: 20px 0 30px 0; }
.rightColumnHome { float: right; width: 250px; }
.leftColumnHome { float: left; width: 670px; }

h2.home { background: #4A3031; height: 40px; padding: 0 0 0 10px; color: #FFF; font-size: 16px; line-height: 38px; border-radius: 10px 10px 0 0; margin: 0; }
h2.home .small { font-size: 13px; font-weight: normal; color: #FFF; }
h2.homePlain { text-transform: uppercase; border-bottom: 2px solid #e0e0e0; padding: 0 0 9px; margin-top: 5px; margin-bottom: 10px; font-size: 18px; }

/*** HOMEPAGE BANNER ***/
#slider {
	border-radius: 10px;
	width: 670px;
	height: 275px;
	margin: 0 0 20px;
	padding: 0;
	position: relative;
	z-index: 1;
	background: #c5c5c5;
}
#slider #content {
	width: 485px;
	height: 275px;
}
#slider #content .banner {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	width: 485px;
	height: 275px;
	border-radius: 0 10px 10px 0;
    border: 0;
    background-color: transparent;
}
#slider #content img {
	width: 485px;
	height: 221px;
	border-radius: 0 10px 0 0;
}
#slider #content a {
	text-decoration: none;
	color: #303030;
	font-size: 13px;
	line-height: 19px;
	text-shadow: 1px 1px 0 #f0f0f0;
}
#slider .text {
	display: block;
	position: absolute;
	z-index: 1;
	bottom: 0px;
	left: 0px;
	width: 440px;
	height: 47px;
	background: url(/shared/images/homeBanner-text-bg.png) no-repeat;
	padding: 6px 30px 0 15px;
	border-top: 1px solid #FFF;
	border-radius: 0 0 10px 0;
}
#slider .text strong { color: #000; }
#slider #tabs {
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	border-right: 1px solid #FFF;
	width: 184px;
	height: 275px;
	background: #F3E4A0;
	border-radius: 10px 0 0 10px;
}
#slider #tabs ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#slider #tabs ul li {
	margin: 0;
	padding: 0;
}
#slider #tabs ul li a {
	display: block;
	width: 168px;
	height: 54px;
	border-bottom: 1px solid #FFF;
	margin: 0;
	padding: 8px 8px 6px 8px;
	color: #333;
	text-decoration: none;
	font-size: .8rem;
	position: relative;
	z-index: 2;
	text-shadow: 1px 1px 0 #FAF2D1;
}
#slider #tabs ul li a .arrow {
	display: none;
}
#slider #tabs ul li a.selected {
	background: #FAF2D1;
}
#slider #tabs ul li a.selected .arrow {
	position: absolute;
	z-index: 2;
	display: block;
	background: url(/shared/images/homeBanner-arrow-right.png) bottom center no-repeat;
	width: 9px;
	height: 16px;
	right: -8px;
	top: 25px;
}
#slider #tabs ul li a#button-4 { border: 0; border-radius: 0 0 0 10px;}
#slider #tabs ul li a#button-1 { border-radius: 10px 0 0 0; }
#slider #tabs ul li a strong {
	color: #000;
}
#slider #tabs ul li a .video {
	color: #666;
	background: url(/shared/images/video-icon.png) top right no-repeat;
	padding: 0 15px 0 0;
	font-size: 9px;
	line-height: 19px;
}
#slider #tabs ul li a img {
	float: left;
	border: 1px solid #FFF;
	margin: 0 8px 8px 0;
	width: 50px;
	height: 50px;
	background: #E8E8E8;
}

/*******NEWS AND RESOURCES on HOME *****/
#newsResources { background: #FAF2D1; position: relative; z-index: 1; padding-bottom: 10px; height: 268px; border-radius: 10px; }
#newsResources-container { height: 228px; overflow: hidden; position:relative; z-index: 1; padding: 0 10px; }
#newsResources-slide { position:relative; z-index: 1; top:0;}
#newsResources-slide .newsItem {
    font-size: 0.95rem;
}
#newsResources-slide .newsItem h4 {
    font-size: 1rem;
    margin-top: 0.6rem;
}
#newsResources .newsItem { overflow: auto; padding: 10px 0; border-top: 1px solid #FFF; border-bottom: 1px solid #F3E4A0; text-shadow: 1px 1px 0 #fdfdff; font-size: .9rem;}
#newsResources .newsItem h2 { font-size: 14px; line-height: 17px; padding: 0 0 5px; margin: 0; }
#newsResources .newsItem p { margin: 0 0 5px; }
#newsResources .newsItem.first { border-top: 0; }
#newsResources .newsItem.last { border-bottom: 0; }

#newsResources #newsScrollUp { outline: 0 !important; height: 10px; width: 250px; background: #F3E4A0; position: absolute; z-index: 2; top: 37px; left: 0;}
#newsResources #newsScrollUp.active-scroll { display: block; }
#newsResources #newsScrollUp.inactive-scroll { display: none; }
#newsResources #newsScrollUp .newsScroll { display: block; width: 36px; height: 17px; background: #FFF; border: 1px solid #B49816; border-bottom: 0; border-radius: 20px 20px 0 0; position: absolute; bottom: 0px; left: 50%; margin-left: -19px; z-index: 3; cursor: pointer; }
.newsScroll .arrowUp { margin: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #B49816; position: absolute; z-index: 1; bottom: 6px; left: 13px; }

#newsResources #newsScrollDown { outline: 0 !important; display: block; height: 10px; width: 250px; background: #F3E4A0; border-radius: 0 0 10px 10px; position: absolute; z-index: 2; bottom: 0; left: 0;}
#newsResources #newsScrollDown.active-scroll { display: block; }
#newsResources a#newsScrollDown.inactive-scroll { 
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";/* IE 8 */
  filter: alpha(opacity=50);/* IE 5-7 */
  -moz-opacity: 0.5;/* Netscape */
  -khtml-opacity: 0.5;/* Safari 1.x */
  opacity: 0.5;/* Good browsers */
  cursor: default; }
#newsResources #newsScrollDown .newsScroll  { display: block; width: 36px; height: 17px; background: #FFF; border: 1px solid #B49816; border-top: 0; border-radius: 0 0 20px 20px; position: absolute; top: 0px; left: 50%; margin-left: -19px; z-index: 3; cursor: pointer; }
#newsResources #newsScrollDown .arrowDown { border-left: 5px solid transparent !important; border-right: 5px solid transparent !important; border-top: 5px solid #B49816; position: absolute; z-index: 1; top: 6px; left: 13px; }
#newsResources #newsScrollDown.inactive-scroll:hover span { cursor: default;  }
#newsResources .newsScroll:hover { border-color: #4A3031 !important; }
#newsResources .newsScroll:hover .arrowUp { border-bottom-color: #4A3031 !important; }
#newsResources .newsScroll:hover .arrowDown { border-top-color: #4A3031 !important; }
#newsResources a#newsScrollDown.inactive-scroll .newsScroll:hover { border-color: #B49816 !important; }
#newsResources a#newsScrollDown.inactive-scroll .newsScroll:hover .arrow { border-top-color: #B49816 !important; }

/**** Classroom ALERTS *****/
.classroomAlerts { position: relative; z-index:1; height: 297px;}
.classroomAlerts .tabLinks { position: absolute; z-index: 2; top: 40px; left: 0; width: 185px; height: 256px; background: #FFF; font-size: 11px; border-radius: 0 0 0 10px; border: 1px solid #F3E4A0; border-right: 0; border-top: 0 }
.classroomAlerts .tabLinks ul { list-style: none; padding: 0; margin: 0; }
.classroomAlerts .tabLinks ul li { margin: 0; padding: 0; }
.classroomAlerts .tabLinks ul li a { color: #7F7B6B; text-decoration: none; display: block; padding: 6px 30px 6px 10px; font-weight: normal; position: relative; z-index: 1; }
.classroomAlerts .tabLinks ul li a:hover { color: #000; background: #F3E4A0; }
.classroomAlerts .tabLinks ul li a.active { background: #FAF2D1; position: relative; z-index: 1; width: 147px; color: #000; font-weight: bold; }
.classroomAlerts .tabLinks ul li a .total { display: inline-block; width: 15px; text-align: center; position: absolute; z-index: 1; left: 160px; top: 50%; margin: -8px 0 0 0; font-weight: normal; background: #4A3031; color: #FFF; text-shadow: none; line-height: 15px; border-radius: 3px; }
.classroomAlerts .tabContent { position: absolute; z-index: 1; top: 40px; left: 186px; width: 453px; height: 240px; padding: 5px 15px 10px; background: #FFF; font-size: 11px; border: 1px solid #F3E4A0; border-left: 0; border-radius: 0 0 10px 0; background: #FAF2D1; text-shadow: 1px 1px 0 #FDFDFF; color: #000; overflow: auto; }
.classroomAlerts .tabContent ul { margin: 5px 0 0; padding: 0; list-style: none; font-size: 12px; }
.classroomAlerts .tabContent ul li { float: left; width: 145px; padding: 5px 0; }

/*** Classroom Reports on Home ***/
.classroomReports ul.reportsNav { margin: 10px 0 0 0; }
.classroomReports ul.reportsNav li { margin: 0 0 7px 10px; }
.classroomReports ul.reportsNav li a { width: 112px; margin: 0; }
.classroomReports ul.reportsNav li a strong { width: 96px; }

ul.reportsNav { margin: 15px 0 30px; padding: 0; list-style: none; clear: left; }
ul.reportsNav li { padding: 0; list-style: none; display: inline-block; margin: 0 0 0 0; }
ul.reportsNav li a { position: relative; z-index: 1; display: block; float: left; width: 130px; height: 100px; margin: 0 10px 0 0; border: 1px solid #dbc45e; text-decoration: none; color: #927D1F; text-shadow: 1px 1px 0 #FDF9E8; border-radius: 10px; background-color: #faf2d1;  }
#memberHome ul.reportsNav li a { color: #000; }
ul.reportsNav li a:hover, ul.reportsNav li a.active { border-color: #4A3031; color: #4A3031; }
ul.reportsNav li a.active { box-shadow: 0 5px 5px rgba(0,0,0,.3); color: #000; }
ul.reportsNav li a strong { display: block; position: absolute; top: 35px; text-align: center; width: 110px; font-size: 16px; padding: 0 10px; line-height: 15px; }
ul.reportsNav li a .arrowDown { display: none; border-left: 30px solid transparent; border-right: 30px solid transparent; border-top: 20px solid #4A3031; position: absolute; top: 103px; left: 50%; margin-left: -30px; }
ul.reportsNav li a.active .arrowDown { display: block; }

ul.reportsNav a#activityReport, ul.reportsNav a.activityReport { background-image: url(/shared/images/activity-report.png); background-position: center center;background-repeat: no-repeat; }
ul.reportsNav a#assignmentReport { background-image: url(/shared/images/progress-report.png); background-position: center center;background-repeat: no-repeat; }
ul.reportsNav a#assessmentsReport { background-image: url(/shared/images/assessments-report.png); background-position: center center;background-repeat: no-repeat; }
.classroomReports ul.reportsNav li  a#assessmentsReport strong { width: 116px; padding: 0; }
ul.reportsNav a#skillsReport { background-image: url(/shared/images/skills-report.png); background-position: center center;background-repeat: no-repeat; }

.reportsNav_link { position: relative; z-index: 1; display: block;  height: 100px; border: 1px solid #dbc45e; text-decoration: none; color: #000; text-shadow: 1px 1px 0 #FDF9E8; border-radius: 10px; background-color: #faf2d1;  }
.reportsNav_link-activityReport { background-image: url(/shared/images/activity-report.png); background-position: center center;background-repeat: no-repeat; }
.reportsNav_link-assignmentReport { background-image: url(/shared/images/progress-report.png); background-position: center center;background-repeat: no-repeat; }
.reportsNav_link-assessmentsReport { background-image: url(/shared/images/assessments-report.png); background-position: center center;background-repeat: no-repeat; }
.reportsNav_link-skillsReport { background-image: url(/shared/images/skills-report.png); background-position: center center;background-repeat: no-repeat; }
.reportsNav_title { display: block; position: absolute; top: 35px; text-align: center; width: 100%; font-size: 16px; padding: 0 10px; line-height: 15px;  box-sizing: border-box;}

ul.reportsNav a.students { height: 65px; width: 102px; background-size: 60px 45px; margin-right: 5px; }
ul.reportsNav a.students strong { font-size: 14px; width: 82px; top: 15px;  }
ul.reportsNav li a.students .arrowDown { top: 65px; } 

/*** QUICK STATS***/
.classroomStats { clear: both; }
.classroomStats #quickStats { border-color: #dbc45e; border-radius: 0 0 10px 10px; margin: 0; }
.classroomStats #quickStats table { border-collapse: collapse; }
.classroomStats #quickStats table tbody th div { width: 931px; }


/***CLASSROOM ROSTER***/
.classroomSettingsBox { background: #faf2d1; font-size: 11px; margin: 20px 0 }
.classroomSettingsBox strong { display: block; padding: 5px 10px; font-size: 12px; }


ul.gettingStartedSteps { margin: 0; padding: 10px; list-style: none; overflow: auto; background: #FAF2D1; border-radius: 10px 10px 0 0; }
ul.gettingStartedSteps li { display: inline-block; float: left; width: 33%; height: 180px; }
ul.gettingStartedSteps li.step1 { background: url(/shared/images/home-add.png) left top no-repeat; }
ul.gettingStartedSteps li.step2 { background: url(/shared/images/home-read.png) left top no-repeat; }
ul.gettingStartedSteps li.step3 { background: url(/shared/images/home-monitor.png) left top no-repeat; }
ul.gettingStartedSteps li strong { display: block; padding: 6px 40px 0 52px; color: #000; line-height: 14px; }
ul.gettingStartedSteps li.step1 a { display: block; text-decoration: none; height: 180px;}
.getStarted { color: #000; font-size: 16px; background: #FD751A; border-radius: 0 0 5px 5px; padding: 10px; margin-bottom: 40px; }
.getStarted strong { text-transform: uppercase; }
.getStarted a { float: right; position: relative; top: -4px; }

#newBooks { background: #F3E4A0; border-radius: 10px; height: auto !important; min-height: 590px; overflow: hidden; position: relative; z-index: 1; }
#newBooks .slideDeck { height: auto !important; margin: 0 40px; min-height: 550px; overflow: hidden; position: relative; z-index: 1;}
#newBooks .slider { background: #FAF2D1; border-left: 1px solid #FBF4DD; border-right: 1px solid #FBF4DD; padding: 15px 17px 0; position: absolute; top: 0; width: 554px; height: 535px; z-index: 1;
background: #faf2d1; /* Old browsers */ /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(83%,#faf2d1), color-stop(100%,#f3e4a0)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #faf2d1 83%,#f3e4a0 100%); /* Chrome10+,Safari5.1+ */ /* Opera 11.10+ */ /* IE10+ */
background: linear-gradient(to bottom,  #faf2d1 83%,#f3e4a0 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#faf2d1', endColorstr='#f3e4a0',GradientType=0 ); /* IE6-9 */

}
#newBooks #slider-01 { left: 0; }
#newBooks #slider-02 { left: 590px;}
#newBooks #slider-03 { left: 1180px;}
#newBooks #slider-04 { left: 1770px;}
#newBooks #slider-05 { left: 2360px;}
#newBooks #slider-05 { left: 2360px;}
#newBooks .slider .bookPopout { color: #333333; display: block; float: left; font-size: 11px; margin-bottom: 15px; padding: 0 10px; position: relative; text-align: center; text-decoration: none; text-shadow: 1px 1px 0 #FDF9E8; width: 164px; z-index: 1;}
#newBooks .slider .bookPopout.landscapeBook { margin-top: 69px;}
#newBooks .slider .thumbnail { border: 1px solid #A0A3A5; box-shadow: 3px 3px 3px #97AABB; margin: 0 0 5px;}
#newBooks .slider .landscapeBook .thumbnail { height: 107px; width: 164px; }
#newBooks .slider .bookPopout strong { color: #000; display: block; font-size: 13px; line-height: 16px;}
#newBooks .slider .divider { background: #FAF3D3; border-top: 1px solid #F3E4A0; clear: both; height: 1px; margin: 20px 0; overflow: hidden; padding: 0; width: 100%;}
#newBooks ul#recommendationsButtons { bottom: 15px; left: 50%; list-style: none outside none; margin: 0 0 0 -20px; padding: 0; position: absolute; width: 200px; z-index: 10;}
#newBooks ul#recommendationsButtons li { background: #4A3031; border: 1px solid #4A3031; display: inline-block; float: left; height: 8px; margin: 0 8px 0 0; text-indent: -1000em; width: 8px; border-radius: 10px; cursor: pointer; }
#newBooks ul#recommendationsButtons li.selected { background: #FFF; }
#newBooks .slideNav { background: #FFF; border: 1px solid #B49816; display: block; height: 43px; width: 21px; cursor: pointer; }
#newBooks #arrowPrevious { border-right: 0; border-radius: 20px 0 0 20px;  left: 18px; position: absolute; top: 260px; z-index: 10;}
#newBooks #arrowNext { border-left: 0; border-radius: 0 20px 20px 0; position: absolute; right: 18px; top: 260px; z-index: 10;}
#newBooks .slideNav .arrow  { position: absolute; top: 14px; margin: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
#newBooks .arrowRight { border-left: 7px solid #B49816; right: 8px; }
#newBooks .arrowLeft { border-right: 7px solid #B49816; left: 8px; } 
#newBooks .slideNav:hover { border-color: #4A3031; }
#newBooks .slideNav:hover .arrowRight { border-left-color: #4A3031; }
#newBooks .slideNav:hover .arrowLeft { border-right-color: #4A3031; }

#newBooks .book-assign {
	top: 160px;
	left: 55px;
}
#newBooks .book-assign-hover:hover .book-assign {
	top: 155px;
}
/* Raz Plus Member Home Page Redesign Module */
/*******************************************************************************************
*******************************************************************************************
shared/css/modules/_message-box.css
TODO: code review
*******************************************************************************************
*******************************************************************************************/

.message-box,
.dialog {
    max-height: 90%;
    overflow: auto;
    padding-bottom: 75px;
}
.message-box,
.message-box.popoutContent,
.dialog {
    background-color: #FFF;
    box-shadow: 0 0 20px rgba(0,0,0,0.13);
    box-sizing: border-box;
    left: 50%;
    max-width: 975px;
    padding: 18px;
    position: fixed;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto;
    z-index: 5000; /* same as modal and overlay */
}
.message-box {
    font-size: 16px;
}
.message-box:last-child,
.dialog:last-child {
    z-index: 5003;
}
.message-box-sm,
.dialog-sm {
    width: 300px;
}
.message-box-md,
.dialog-md {
    width: 600px;
}
.message-box-lg,
.dialog-lg {
    width: 100% !important;
}

.message-box-footer,
.dialog-footer {
    display: block;
    margin-top: 16px;
    text-align: right;
}
.dialog-title {
    position: relative;
    top: -18px;
    left: -18px;
    margin: 0 0 -10px;
    background: rgba(250,101,2,.8);
   /* border-radius: 7px 7px 0 0;*/
    padding: 5px 18px;
    font-size: 16px;
    color: #FFF;
    font-weight: bold;
    box-sizing: border-box;
    width: calc(100% + 36px);
}
/*
MESSAGE REPORTER
Box that appears at the top of the screen to display errors and confirmation messages.
Location: /shared/css/modules/_messageReporter.css
*/

.messageReporter {
    position: fixed;
    text-align: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: 5555;
}
.messageReporter_messages {
    background: #181818;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
    display: inline-block;
    text-align: left;
}
.messageReporter_message {
    box-sizing: border-box;
    color: #f9f9f9;
    display: block;
    padding: 6px 21px 6px 12px;
    position: relative;
    min-width: 304px;
    opacity: 1;
}
    .messageReporter_message:first-of-type {
        padding-top: 12px;
    }
    .messageReporter_message:last-of-type {
        padding-bottom: 12px;
    }

/* need to first determine which messages should be successes, which should be error, which should be alerts, and which should be neutral
    .messageReporter_message-success::before {
        color: #81b869;
        content: "\e084";
        display: inline-block;
        font-family: 'Glyphicons Halflings';
        font-size: 1.4rem;
        margin-right: 3px;
        margin-top: -1px;
        vertical-align: middle;
    }
*/

/*******************************************************************************************
*******************************************************************************************
shared/css/modules/_minibook.css
*******************************************************************************************
*******************************************************************************************/

#flashdiv1Inner {
    background: #eeeeee;
}
#miniBook {
    text-align: center;
    margin: 0 0 20px;
    border: 1px solid #cccccc;
    background: #EEEEEE;
    width: 332px;
    height: 279px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
#miniBook.landscape {
    height: 179px;
}
#miniBook #miniBookSlider {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
}
#miniBook #miniBookSlider:after {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: block;
    content: ' ';
    background: transparent;
}
.miniBookButton {
    position: absolute;
    top: 128px;
    z-index: 2;
    display: block;
    width: 27px; 
    height: 45px;
    border: 1px solid #b9b4ec;
    background: #F8F7FC url(/shared/images/bg-buttonnew.png) 0 0 repeat-x;
    border-radius: 5px;
    line-height: 13px;
}
#miniBook.landscape .miniBookButton {
    top: 79px;
}
#left.miniBookButton {
    left: 4px;
}
#right.miniBookButton {
    right: 4px;
}
.miniBookButton.inactive-scroll {
    display: none;
}
.miniBookButton .arrowLeft {
    margin: 12px 2px 0 0; 
    border-bottom-width: 10px; 
    border-top-width: 10px; 
    border-right-width: 10px;
}
.miniBookButton .arrowRight {
    margin: 12px 0 0 2px;
     border-bottom-width: 10px; 
     border-top-width: 10px; 
     border-left-width: 10px;
}
.miniBookButton:hover .arrowRight {
    border-left-color: #272075;
}
.miniBookButton:hover .arrowLeft {
    border-right-color: #272075;
}
.miniBookButton:hover {
    background: #f2f1fb;
    border-color: #272075;
}
#miniBook img.bookCover {
    border: 1px solid #ccc;
    box-shadow: 2px 2px 5px #ddd;
}
#miniBook img.bookCoverportrait {
    width: 169px;
    height: 262px;
    margin-top: 7px;
}
#miniBook img.bookCoverlandscape {
    width: 255px;
    height: 165px;
    margin-top: 7px;
}
/*
MODAL WINDOW

Location: /shared/css/modules/_modal.css
Displays content within a modal window. Not to be used for iframed content.

TODO: code review
*/

.modalWindow {
    background-color: #FFF;
    box-shadow: 0 0 20px rgba(0,0,0,0.13);
    box-sizing: border-box;
    position: fixed;
    top: 50%;
    left: 50%;
    height: 95%;
    width: 944px;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5000; /* same as message box and overlay */
}
.modalWindow:last-child {
    z-index: 5003;
}

.modalWindow_header {
    border-bottom: solid 2px #e0e0e0;
    box-sizing: border-box;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.65rem;
    font-weight: bold;
    height: 60px; /* needs a static height so that modalWindow_body height calculation is correct */
    line-height: 100%;
    margin: 0;
    padding: 18px;
    text-transform: none;
}

.modalWindow_body {
    box-sizing: border-box;
    height: calc(95vh - 134px);
    overflow-y: auto;
    padding: 18px;

    /* SHADOWS FOR SCROLLABLE CONTENT */
    background:
        /* Shadow covers */
        -webkit-linear-gradient(white, white),
        -webkit-linear-gradient(white, white) 0 100%,

        /* Shadows */
        -webkit-linear-gradient(top, rgba(0,0,0,0.1), rgba(0,0,0,0)),
        -webkit-linear-gradient(bottom, rgba(0,0,0,0.1), rgba(0,0,0,0)) 0 100%;
    background:
        /* Shadow covers */
        linear-gradient(white, white),
        linear-gradient(white, white) 0 100%,

        /* Shadows */
        linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0)),
        linear-gradient(to top, rgba(0,0,0,0.1), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 100% 12px, 100% 12px, 100% 12px, 100% 12px;
    background-attachment: local, local, scroll, scroll;
}
    .modalWindow-noHeader .modalWindow_body {
        height: calc(95vh - 74px);
    }
    .modalWindow-noFooter .modalWindow_body {
        height: calc(95vh - 60px);
    }
    .modalWindow-noHeaderFooter .modalWindow_body {
        height: calc(95vh);
    }

.modalWindow_footer {
    border-top: solid 2px #e0e0e0;
    box-sizing: border-box;
    height: 74px; /* needs a static height so that modalWindow_body height calculation is correct */
    padding: 18px;
    width: 100%;
}

.navButtons {
	list-style: none; 
	margin: 20px 0; 
	overflow: auto; 
	padding: 0;
}

.navButtons .navItem { 
	display: inline-block; 
	margin: 0; 
	padding: 0; 
	list-style: none;
	position: relative;
	width: 32%;
}

.navButtons .navItem .heading { 
	display: none; 
}

.navButtons .navItem a { 
	font-size: 13px; 
	line-height: 21px; 
	color: #FFF; 
	display: block; 
	text-align: center; 
	text-decoration: none; 
	background: #7EAEDA; 
	border-radius: 10px; 
	height: 40px; 
	padding: 10px 5px; 
	text-shadow: none; 
	margin: 0 5px 5px 0; 
	box-sizing: border-box; 
}

.navButtons .navItem a.longText {
    line-height: 12px;
}

.navButtons .navItem a:hover {
    color: #000;
}
	
.navButtons .navItem .new {
	font-size: 11px;
	left: -8px;
	top: 6px;
	width: 30px;
}	
	
.navButtons .navItem li li li { 
	display: none; 
}

.navButtons .navItem .nopage { 
	display: none; 
}

.navButtons .navItem .externalLinks { 
	display: none; 
}

.navButtons .new {
	display: none;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_nav-horizontal.css
*******************************************************************************************
*******************************************************************************************/

.navHori {
	display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0;
}
	.navHori .navItem {
		display: inline-block;
		margin: 0;
		padding: 0;
		position: relative;
	}
		.navHori .navItem > a {
			color: #444;
			cursor: pointer;
			display: block;
            font-size: 1rem;
			margin: 0;
			padding: 5px 8px 6px 8px;
			text-decoration: none;
		}
			/* .navHori > .navItem:hover > a, */
			.navHori > .navItem.active > a,
			.navHori > .navItem > a.active /* for simplePopout */ {
				border-radius: 4px;
				background: #379F0C;
				color: #fff;
			}
		.navHori .navItem > a.btn {
			color: #fff;
			display: inline-block;
		}
		.navHori .navItem > a.btn-sm {
			padding: 3px 10px 4px 10px;
		}
		.navHori .navItem .arrowDown {
			border-color: #379F0C transparent transparent;
			border-width: 5px;
			margin: 0 0 0 2px;
		}
			.navHori .navItem:hover a .arrowDown {
				border-color: #fff transparent transparent;
			}
		
/* sublevel */		
.navHoriChild {
	background: none repeat scroll 0 0 #fff;
	border: 5px solid #379F0C;
    border-radius: 0 4px 4px 4px;
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.3);
	left: -999em;
	margin: -3px 0 0 0;
	padding: 5px 10px;
	position: absolute;
	text-align: left;
	width: 125px;
    z-index: 200;
}
	.navHori .navItem:hover .navHoriChild {
		left: auto;
	}
	.navHoriChild .navItem {
		display: block;
	}
		.navHoriChild .navItem a {
			background: none;
			color: #444;
			cursor: pointer;
			padding: 3px 0;
		}
		.navHoriChild .navItem:hover a {
			color: #379F0C;
		}
		
/* right aligned nav */		
.navHori-alignRight {
	text-align: right;
	float: right;
	margin: 0 0 0 0;
}
.navHori-alignRight .navHoriChild {
	border-radius: 4px 0 4px 4px;
}	
	/* .navHori-alignRight .navItem:hover .navHoriChild, */
	.navHori-alignRight .navItem.active .navHoriChild {
		left: auto;
		right: 0;
	}	
/*
HORIZONTAL SECONDARY NAVIGATION
Location: /shared/css/modules/_nav-main-secondary.css
*/

.mainNavSecondary {
    background: #f8f8f8;
    margin-bottom: 20px;
    min-height: 62px;
}
.mainNavSecondary .navItem {
    border-bottom: solid 6px transparent;
    display: inline-block;
    line-height: 50px;
    font-size: 1.1em;
    text-transform: uppercase;
    font-weight: bold;
    color: #56524e;
    padding: 6px 20px 0 20px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    font-family: "Roboto Condensed", sans-serif;
    text-decoration: none;
}
.mainNavSecondary .navItem:hover {
    color: #005CB9;
    border-bottom: 6px solid;
    text-decoration: none;
}
.mainNavSecondary .navItem.active {
    color: #005CB9;
    border-bottom: 6px solid;
}
.mainNavSecondary .btn {
    margin-right: 12px;
    margin-top: 15px;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_nav-popoutContent.css
*******************************************************************************************
*******************************************************************************************/

/*********************/         
/* nav within popout */

.popoutContent .nav-popoutContentContainer {
    float: left;
    width: 30%;
    margin-top: 10px;
}
.popoutContent-smTabs .nav-popoutContentContainer {
    width: 20%;
}

.nav-popoutContent {
    list-style: outside none none;
    margin: 0;
    padding: 0;
}
.nav-popoutContent .navItem {
    margin: 0 0 2px;
    padding: 0;
}
.nav-popoutContent .navItem a {
    background: none repeat scroll 0 0 #e0e0e0;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box;
    color: #555;
    display: block;
    padding: 6px 8px;
    text-decoration: none;
    text-shadow: none;
}
    .nav-popoutContent .navItem a:hover {
        background: #d1d1d1;
        color: #000;
    }
    .nav-popoutContent .navItem a.active {
        background: none repeat scroll 0 0 #fff;
        border: solid 1px #e0e0e0;
        border-right: none;
        color: #000;
        display: block;
        font-weight: bold;
        margin: 0 -1px 0 0;
        padding: 5px 8px 5px 7px;
        position: relative;
        width: auto;
        z-index: 2; /* above main content column */
    }

.nav-popoutContent .navItem-linksOut a {
    background-color: #e25d53;
    border-radius: 5px;
    color: #fff;
    width: 95%;
}
    .nav-popoutContent .navItem-linksOut a:hover {
        background: #ca3125;
        color: #fff;
    }

/* main content column in tabbed popout */
.popoutTabContent {
    float: left; 
    width: 70%;
    border-radius: 0 10px 10px 0;
    border: 1px solid #e0e0e0;
    padding: 0 18px;
    box-sizing: border-box;
    margin: 10px 0;
}
.popoutContent-smTabs .popoutTabContent {
    width: 80%;
    height: auto;
    min-height: 300px;
}

.popoutContent.bookRoomAll .nav-popoutContentContainer {
    width: 17%;
}
.bookRoomAll .popoutTabContent {
    width: 83%;
}

/*** ANGULAR VERSION OF TABS IN POPOVER ***/
.popover-content .navTabs {
    border: 0;
    padding: 0;
    width: 30%;
    float: left;
}
.popover-content .navTabs .navItem {
    margin: 0 0 2px;
    padding: 0;
    display: block;
}
.popover-content .navTabs > .navItem > a {
    background: #e0e0e0;
    border: solid 1px #e0e0e0;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box;
    color: #555;
    display: block;
    padding: 6px 8px;
    margin: 0 -1px 0 0;
    text-decoration: none;
    text-shadow: none;
    width: auto;
}
.popover-content .navTabs > .navItem.is-active > a {
    background: #fff;
    border: solid 1px #e0e0e0;
    border-right: none;
    color: #000;
    font-weight: bold;
    position: relative;
    z-index: 2;
}
.popover-content .navTabs > .navItem > a:hover {
    background: #d1d1d1;
    border: solid 1px #e0e0e0;
    color: #000;
}
.popover-content .navTabs > .navItem.is-active > a:hover {
    background: #fff;
    border: solid 1px #e0e0e0;
    border-right: none;
    color: #000;
}

.popover-content .nav-tab {
    width: 70%;
    min-height: 250px;
    float: left;
    border-radius: 0 10px 10px 0;
    border: 1px solid #e0e0e0;
    padding: 0 18px;
    box-sizing: border-box;
    margin: 0 0 10px;
}
/*******************************************************************************************
/shared/css/modules/_nav-steps.css
*******************************************************************************************/

.navSteps {
	display: block;
    list-style: none;
    margin: 14px 0;
    padding: 0;
}
.navSteps:after {
	clear: both;
	content: "";
	display: block;
}

.navSteps .navItem {
	border-right: solid 1px #fff;
	box-sizing: border-box;
	float: left;
	font-size: 14px;
	margin: 0;
	padding: 0;
	position: relative;
	width: 33%;
}
	.navSteps .navItem > a {
		background: #ececec none repeat scroll 0 0;
    	border-top: 4px solid #cccccc;
		color: #444;
		cursor: pointer;
		display: block;
		margin: 0;
		padding: 5px 8px 6px 8px;
		text-align: center;
		text-decoration: none;
	}
		.navSteps > .navItem:hover > a {
			background: #e0e0e0 none repeat scroll 0 0;
		}
		.navSteps > .navItem.active > a {
			background: rgba(0, 0, 0, 0) -webkit-linear-gradient(#ddf098, #c8d995) repeat scroll 0 0;
			background: rgba(0, 0, 0, 0) linear-gradient(#ddf098, #c8d995) repeat scroll 0 0;
    		border-top: 4px solid #4a8a1f;
    		color: #333;
    		font-weight: bold;
		}
		.navSteps .navItem:last-child {
			border-right: none;
			width: 34%;
		}

/* number of steps, defaults to 3 */
.navSteps-4 .navItem,
.navSteps-4 .navItem:last-child {
	width: 25%;
}
.navSteps-5 .navItem,
.navSteps-5 .navItem:last-child {
	width: 20%;
}		
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_nav-tabbed.css
TODO: refactor - consolidate default, jquery ui, and angular versions
*******************************************************************************************
*******************************************************************************************/

/***********************/
/* jquery ui overrides */

.ui-tabs {
	background: none;
	border: none;
	padding: 0;
}
.ui-tabs .ui-tabs-nav {
	background: none;
	border: none;
	border-radius: 0;
	marging: 0;
	padding: 0;
}
.ui-tabs .ui-tabs-nav li,
.ui-tabs .ui-tabs-nav .ui-state-default,
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
	background: none;
	border: none;
	float: none;
	margin: 0;
	padding: 0;
	position: static;
}
.ui-tabs .ui-tabs-nav .ui-tabs-active {
	margin: 0;
	padding: 0;
}
.ui-tabs .ui-tabs-nav li a {
	outline: none;
	cursor: pointer !important;
	display: block;
	float: none;
	padding: 0;
}

.ui-tabs .ui-tabs-panel {
	padding: 0;
}

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

.navTabs,
.ui-tabs .ui-tabs-nav /* jquery ui */ {
	border-bottom: solid 5px #0b3b83;
	display: block;
    list-style: none;
    margin: 0;
    padding: 0 12px;
    position: relative;
}
	.navTabs .navItem,
	.ui-tabs .navItem /* jquery ui */,
	.navTabsChild .navItem {
		display: inline-block;
		margin: 0 3px 0 0;
		padding: 0;
	}
		.navTabs .navItem > a,
		.ui-tabs .navTabs .navItem > a /* jquery ui */,
		.navTabsChild .navItem > a {
			background: #dddddd;
			background: -webkit-linear-gradient(#e4e4e4, #d9d9d9); /* Safari */ /* Firefox */
			background: linear-gradient(#e4e4e4, #d9d9d9);
			border: solid 1px #c6c6c6;
			border-bottom: none;
			border-radius: 7px 7px 0 0;
			color: #666;
			cursor: pointer;
			display: block;
			font-weight: bold;
			margin: 0;
			padding: 5px 11px;
			text-decoration: none;
		}
			.navTabs .navItem:hover > a,
			.ui-tabs .navTabs .navItem:hover > a /* jquery ui */,
			.navTabsChild .navItem:hover > a {
				background: #cdcdcd;
				background: -webkit-linear-gradient(#cdcdcd, #acacac); /* Safari */ /* Firefox */
				background: linear-gradient(#cdcdcd, #acacac);
				border-color: #acacac;
				color: #333;
			}
		.navTabs > .navItem.is-active > a,
		.navTabs > .navItem > a.active, /* for the tabs currently on laz sites */
		.navTabs > .navItem.is-active:hover > a,
		.navTabs > .navItem > a.is-active /* for simplePopout */,
		.ui-tabs .navTabs > .navItem.ui-tabs-active > a /* jquery ui */ {
			background: #0a4d90;
			background: -webkit-linear-gradient(#0861a0, #0b3b83); /* Safari */ /* Firefox */
			background: linear-gradient(#0861a0, #0b3b83);
			border-color: #0b3b83;
			color: #fff;
		}

/* right-aligned tabs */
.navTabs-right {
	text-align: right;
}

/************/
/* SUBLEVEL */

.navTabsChild,
.ui-tabs .navTabsChild /* jquery ui */,
.tabsChild > .navTabs /* angular */ {
	background: none repeat scroll 0 0 #c3dafd;
	border: none;
	box-sizing: border-box;
    display: block;
	margin: 0;
	padding: 0;
	text-align: left;
	width: 100%;
}
	.navTabsChild .navItem,
	.ui-tabs .ui-tabs-nav.navTabsChild .navItem /* jquery ui */,
    .tabsChild > .navTabs .navItem /* angular */ {
		float: left;
        margin: 0;
	}
		.navTabsChild .navItem > a,
		.ui-tabs .navTabsChild .navItem > a /* jquery ui */,
        .tabsChild > .navTabs .navItem > a /* angular */ {
			background: none;
			border: none;
			border-radius: 0;
			color: #222;
			cursor: pointer;
			font-weight: normal;
			margin: 0;
			padding: 12px;
		}
		.navTabsChild .navItem:hover > a,
		.ui-tabs .navTabsChild .navItem:hover > a /* jquery ui */,
        .tabsChild > .navTabs .navItem:hover > a /* angular */ {
			background: rgba(255, 255, 255, .4);
		}
		.navTabsChild .navItem.is-active > a,
		.navTabsChild .navItem.ui-tabs-active > a /* jquery ui */,
        .tabsChild > .navTabs .navItem.is-active a /* angular */ {
			background: #fff;
            color: #222;
		}
		.navTabsChild:after,
        .tabsChild > .navTabs:after /* angular */ {
			clear: both;
			content: "";
			display: block;
		}

/* navigation tabs only (not jquery ui tabs) */
.navTabs .navItem-parent.is-active {
	height: 71px;
}
.navTabs .navTabsChild {
	border-top: solid 5px #0b3b83;
	display: none;
	left: 0;
	position: absolute;
}
	.navTabs .navItem.is-active .navTabsChild {
		display: block;
	}

/*
VERTICAL NAV

Location: /shared/modules/_nav-vertical.css
Markup: _subnav.php
The default navVertical is a plain vertical nav.
It is extended below for use in sidebar, main nav, landing pages, and sitemap.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
BE VERY CAUTIOUS ABOUT MODIFYING DEFAULT NAVVERTICAL STYLES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TODO: finish refactoring navigation to enable removing this file
*/

.navVerticalHeading {
	display: block;
    font-family: "Signika", sans-serif;
	font-size: 1rem;
	font-weight: bold;
    line-height: 1.1rem;
	margin: 1rem 0 .6rem 0;
	text-decoration: none;
	text-transform: uppercase;
	position: relative; /*Added for "NEW" tag*/
}
    .navVerticalHeading.noLink,
	.navVerticalHeading.noLink:hover {
		color: #222;
        cursor: default;
	}
	.navVerticalHeading .new {
		font-size: 11px;
		text-transform: none;
	}
	.nav-secondary .navVerticalHeading .new {
		width: 34px;
		left: -36px;
	}

.navVertical {
	display: block;
    font-size: .95rem;
	line-height: 1.2;
    list-style: none;
    margin: 0;
    padding: 0;
}
	.navVertical li {
		list-style: none;
	}
	.navVertical .navItem {
		display: block;
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.navVertical .navItem a,
		.navVertical .navItem-noLink a:hover,
        .navVertical .navItem .noLink:hover {
			color: #222;
			cursor: pointer;
			display: block;
			margin: 0;
			padding: .2rem 0;
			position: relative; /* for positioning the 'new' flag */
			text-decoration: none;
		}
            .navVertical .navItem-noLink a,
            .navVertical .navItem .noLink {
                cursor: default !important;
            }
			.navVertical .navItem a:hover,
			.navVertical .navItem > a:hover,
			.navVertical .navItem.active > a,
			.navVertical .navItem.active > a:hover {
                cursor: pointer;
				text-decoration: underline;
			}
			.mainNav .navVertical .navItem a.active,
			.mainNav .navVertical .navItem a.active:hover,
			.mainNav .navVertical .navItem.active a,
			.mainNav .navVertical .navItem.active a:hover {
				text-decoration: none;
				font-weight: 600;
			}

		.navVertical .navItem .arrowRight {
			float: right;
			margin-top: 3px;
			margin-right: -7px;
		}
		.navVertical .navItem .arrowDown {
			float: right;
			margin-top: 2px;
			margin-right: -3px;
		}
		.navVertical .navItem .new,
		.mainNav .new {
			font-size: 11px;
			left: -30px;
			width: 30px;
		}
		.navVertical .navItem .sm {
			display: block;
			font-weight: normal;
		}

    /* -------- */
    /* sublevel */

    .navVerticalSubHeading {
        color: #000;
        display: block;
        font-weight: bold;
    }

    .navVertical .sublevel {
        display: block;
        font-size: .9rem;
        margin: 0;
        padding: 0 0 0 15px;
    }
        .navVertical .sublevel .navItem {
            margin: 0;
        }
        .navVertical .sublevel .navItem a {
            font-weight: normal;
            margin: 0;
        }
            .navVertical .sublevel .navItem > a:hover {
                text-decoration: underline;
            }
            .navVertical .sublevel .navItem.active > a,
            .navVertical .sublevel .navItem a.active,
            .navVertical .sublevel .navItem a.active:hover {
                font-weight: bold;
            }
        .navVertical .sublevel .navItem .arrowSm {
            float: right;
            margin-top: 4px;
            margin-right: -6px;
        }

/* ----------------------------------- */
/* navVertical used in Main Navigation */

.mainNav .navChild .navVerticalHeading {
    border-bottom: 1px dashed #ccc;
    color: #555;
    display: block;
    font-family: "Signika", sans-serif;
    font-size: 1rem;
    font-weight: bold;
    margin: 18px 0 6px;
    padding: 0 0 0.2rem 0;
    text-decoration: none;
    text-transform: uppercase;
}
.mainNav .navChild a.navVerticalHeading:hover {
    color: #111;
    border-bottom: solid 1px #b0c2d3;
    text-decoration: none;
}

.mainNav .navVerticalSubheading {
    font-size: 0.9rem;
}

.mainNav .navChild .navVertical .navItem a {
    font-size: 1rem;
    font-weight: normal;
}

.mainNav .navChild .navVertical .navItem .sm {
    color: #999;
}
    .mainNav .navChild .navVertical .navItem:hover .sm {
        text-decoration: none;
    }

.mainNav .SubHeading,
.mainNav .navVertical .sublevel {
    display:none;
}

/* --------------------------- */
/* navVertical used in sidebar */

.nav-secondary .navVertical .navItem {
    margin: 0 0 1px 0;
}
    .nav-secondary .navVertical .navItem a,
    .nav-secondary .navVertical .navItem-noLink a:hover,
    .nav-secondary .navVertical .navItem .noLink:hover {
        background: #cfe1f1;
        border-left: 5px solid #82aed8;
        font-weight: bold;
        padding: 6px 8px;
    }
    .nav-secondary .navVertical .navItem a:hover,
    .nav-secondary .navVertical .navItem.active > a,
    .nav-secondary .navVertical .navItem.active > a:hover,
    .nav-secondary .navVertical .navItem a.active,
    .nav-secondary .navVertical .navItem a.active:hover {
        background: #9ec2e6;
        border-left: 5px solid #1e5180;
        text-decoration: none;
    }
    .nav-secondary .navVertical .navItem .sm {
        display: none;
    }

    /* -------- */
    /* sublevel */

    .nav-secondary .navVertical .sublevel {
        background: #eaf2f9;
        border: solid 1px #b5d2ec;
        border-top: none;
        padding: 4px 0;
    }
        .nav-secondary .navVertical .sublevel .navItem {
            margin: 0;
        }
        .nav-secondary .navVertical .sublevel .navItem a {
            background: none;
            border: none;
            font-weight: normal;
            padding: .2rem .4rem .2rem .6rem;
        }
        .nav-secondary .navVertical .sublevel .navItem a:hover,
        .nav-secondary .navVertical .sublevel .navItem.active > a,
        .nav-secondary .navVertical .sublevel .navItem.active > a:hover,
        .nav-secondary .navVertical .sublevel .navItem a.active,
        .nav-secondary .navVertical .sublevel .navItem a.active:hover {
            background: #fff;
            border-left: none;
            border-right: none;
        }
        .nav-secondary .navVertical .sublevel .navItem.active a,
        .nav-secondary .navVertical .sublevel .navItem a.active,
        .nav-secondary .navVertical .sublevel .navItem a.active:hover {
            font-weight: bold;
        }

    .nav-secondary .navVerticalSubHeading {
        padding-left: 10px;
        margin-top: 10px;
        margin-bottom: 5px;
        font-size: 13px;
        border-bottom: 1px dashed #F3F8FC;
    }

    /* ------------- */
    /* sub-sub level */

    .nav-secondary .navVertical .sublevel .sublevel {
        border: none;
        padding: 0;
    }
    .nav-secondary .navVertical .sublevel .sublevel a {
        padding-left: 1.5rem;
    }

.nav-secondary .icon-planetC {
	display: none;
}
.nav-secondary .SubHeading {
	background: #1E5180;
	margin-top: 10px;
	padding: 2px 0 2px 10px;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	font-weight: bold;
}

/* ---------------------------- */
/* navVertical on landing pages */
/* TODO: consider refactoring. This nav is not actually vertical */

.mainButtons {
	clear: both;
	padding-top: 30px;
}
.mainButtons .navVerticalHeading {
	display: none;
}
.mainButtons .navVertical .navItem {
	display: inline-block;
	float: left;
	width: 32%;
}
    .mainButtons  .navVertical  .navItem a {
        color: #FFF;
        display: block;
        text-align: center;
        text-decoration: none;
        background: #7EAEDA;
        border-radius: 10px;
        height: 40px;
        padding: 10px 5px;
        text-shadow: none;
        margin: 0 5px 5px 0;
        box-sizing: border-box;
    }
        .mainButtons  .navVertical  .navItem a.longText  {
            line-height: 15px;
            padding-top: 5px;
        }
        .mainButtons  .navVertical  .navItem a:hover {
            text-decoration: none;
            color: #000;
        }
.mainButtons .navVertical > li li {
	display: none;
}
.mainButtons  .icon-planetC {
	display: none;
}
.mainButtons .SubHeading {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 110%;
}

.mainButtons .navVert-Column {
	float: left;
	background: #F0F5FB;
	width: 30%;
	padding: 10px;
	border-radius: 10px;
	border: 3px solid #CFE1F1;
	text-align: center;
}
    .mainButtons .navVert-Column:nth-of-type(2) {
        margin: 0 80px 0 60px;
    }
    .mainButtons .navVert-Column .navItem {
        display: block;
        float: none;
        width: 200px;
        margin-left: auto;
        margin-right: auto;
    }

.mainButtons .navVertical a {
	display: inline;
}

/*******************************************************************************************
*******************************************************************************************
shared/css/modules/_nonmember-homepage.css
*******************************************************************************************
*******************************************************************************************/

/***************/
/* hero banner */

.nonMemberHero {
	background: url("/shared/images/homebanner-bg.jpg") no-repeat scroll 0 0 #FFDB87;
    background-size: cover;
	border-radius: 15px;
	box-sizing: border-box;
	margin-bottom: 10px;
	padding: 25px;
	width: auto;
}
.nonMemberHero .heroLeft {
	box-sizing: border-box;
	float: left;
	padding-right: 20px;
	width: 53%;
}
.nonMemberHero .heroRight {
	box-sizing: border-box;
	float: right;
	max-width: 47%;
}
.nonMemberHero h1 {
	font-size: 34px;
    line-height: 34px;
	margin: 0 !important;
}
.nonMemberHero .nonMemberBtn {
	margin: 3px 0;
}
.nonMemberHero .heroRight {
	color: #222;
}
	.nonMemberHero .heroRight img {
		border: 5px solid #fff;
	    border-radius: 10px;
	    display: block;
	}

/***********/
/* buttons */

.nonMemberBtn {
	background: transparent;
	box-sizing: border-box;
	color: #000;
	display: inline-block;
	font-size: 13px;
    font-weight: bold;
    height: 50px;
    padding: 15px 0 0 47px;
    text-decoration: none;
    width: 167px;
}
	.nonMemberBtn:hover {
		background-position: 0 -51px;
	}
	
.nonMemberBtn.freeSamples {
    background: url("/shared/images/button-tab-freesamples-166.png") no-repeat scroll 0 0 transparent;
}
.nonMemberBtn.trial {
    background: url("/shared/images/button-tab-trial-166.png") no-repeat scroll 0 0 transparent;
}
.nonMemberBtn.order {
    background: url("/shared/images/button-tab-order-166.png") no-repeat scroll 0 0 transparent;
	color: #fff;
	text-shadow: none;
}	
	
/* large buttons */	
.nonMemberBtn-lg {
	font-size: 16px;
	height: 65px;
	padding: 20px 0 0 75px;
	width: 261px;
}
	.nonMemberBtn-lg:hover {
		background-position: 0 -66px;
	}

.nonMemberBtn-lg.freeSamples {
    background: url("/shared/images/button-banner-freesamples.png") no-repeat scroll 0 0 transparent;
}
.nonMemberBtn-lg.trial {
    background: url("/shared/images/button-banner-trial.png") no-repeat scroll 0 0 transparent;
}
.nonMemberBtn-lg.order {
    background: url("/shared/images/button-banner-order.png") no-repeat scroll 0 0 transparent;
	font-size: 18px;
	text-transform: uppercase;
}


/******************/
/* CONTENT SLIDER */

/* rainbow bar menu */

.nonMemberTabs {
    /*background: url("/shared/images/bg-nonMember-tabs.jpg") no-repeat scroll 0 0 transparent;
    background-size: cover;*/
    background: #eaeaea;
    border-radius: 10px 10px 0 0;
    height: 39px;
    list-style: outside none none;
    margin: 0 0 2px;
    padding: 0;
}
.nonMemberTabs li {
    color: #fff;
    display: inline-block;
    float: left;
    font-size: 18px;
    font-weight: bold;
    height: 31px;
    margin: 0;
    padding: 8px 0 0;
    position: relative;
    text-align: center;
    width: 25%;
}
	.nonMemberTabs li:hover {
	    cursor: pointer;
	}
	
/* green */	
.nonMemberTabs #tab1-link {
    text-shadow: -1px -1px 0 #357c2e;
    border-top-left-radius: 10px;
    background: #469D3E;
}
	.nonMemberTabs #tab1-link:hover {
    background: #37822f;
	    text-shadow: -1px -1px 0 #204e1d;
	}

/* pink */	
.nonMemberTabs #tab2-link {
    text-shadow: -1px -1px 0 #8b053a;
    background: #C21453;
}
	.nonMemberTabs #tab2-link:hover {
	    background:#9b0640;
	    text-shadow: -1px -1px 0 #7b0434;
	}
	
/* yellow */	
.nonMemberTabs #tab3-link {
    text-shadow: -1px -1px 0 #b57d2a;
    background: #E8A61C;
}
	.nonMemberTabs #tab3-link:hover {
	    background: #b57d2a;
	    text-shadow: -1px -1px 0 #966823;
	}
	
/* blue */	
.nonMemberTabs #tab4-link {
    text-shadow: -1px -1px 0 #091537;
    border-top-right-radius: 10px;
    background: #06428B;
}
	.nonMemberTabs #tab4-link:hover {
	    background: #132f79;
	    text-shadow: -1px -1px 0 #091537;
	}

.nonMemberTabs .arrow {
    display: none;
}
	.nonMemberTabs .selected .arrow {
	    background: url("/shared/images/arrow-sample-tabs.png") no-repeat scroll center bottom transparent;
	    bottom: -2px;
	    display: block;
	    height: 10px;
	    left: 58%;
	    margin-left: -15px;
	    position: absolute;
	    width: 15px;
	}

/* slide content */
.slideWrap.slideWrap-nonMember {
	border: none;
}
.slideWrap-nonMember .slideDeck {
    background: url("/shared/images/bg-home-tabber-shadow.jpg") no-repeat scroll center bottom transparent;
    height: 354px;
}
.slideWrap-nonMember .slideDeck .slider {
    background: url("/shared/images/bg-home-tabber.jpg") no-repeat scroll 0 bottom #c3c3c3;
    background-size: cover;
    box-sizing: border-box;
    color: #303030;
    font-size: 13px;
    height: 354px;
    padding: 20px;
    z-index: 1;
}
.slideWrap-nonMember .sliderLeft {
	box-sizing: border-box;
	float: left;
	padding-right: 20px;
	width: 35%;
}
	.slideWrap-nonMember .sliderLeft img {
		border: 3px solid #fff;
	    border-radius: 10px;
	    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
	    box-sizing: border-box;
	}
.slideWrap-nonMember .sliderRight {
	box-sizing: border-box;
	float: left;
	width: 65%;
}	
	.slideWrap-nonMember .sliderRight h2 {
		margin-top: 0;
	}
.slideWrap-nonMember .box-bg {
	background: #558eca;
	color: #fff;
	text-shadow: none;
}
	.slideWrap-nonMember .box-bg a {
		color: #fff;
	}

/* starting position for slides */
/* must be in px, not %, because of ie/prototype bug. revisit later */
/*.slideWrap-nonMember .slider2 {
	left: 944px;
}
.slideWrap-nonMember .slider3 {
	left: 1888px;
}
.slideWrap-nonMember .slider4 {
	left: 2832px;
}*/
	

/*************************/
/* TESTIMONIES AND LOGOS */

.nonMemberTestimony {
    background-color: #fffcc9;
    border: 1px solid #faec8b;
    padding: 10px;
    position: relative;
}
.nonMemberTestimony .awardLogos {
	box-sizing: border-box;
	float: left;
	padding: 20px 30px 0 0;
	width: 55%;
}
	.awardLogos a {
		float: left;
		width: 25%;
	}
	.awardLogos img {
		display: block;
	}
.nonMemberTestimony .testimonials {
	float: left;
	width: 45%;
}
	.nonMemberTestimony p {
		margin: 10px 0;
	}

/****** TEMPORARY FOR RK ABOUT US TESTIMONY ********/
.testimonialAreaAboutUs { position: relative; background: url(/shared/images/quote-open.png) 0 0 no-repeat; height: 300px; font-size: 11px; color: #666; }
.testimonialAreaAboutUs .testimonialRotater { position: absolute; top: 0; left: 0; }
.testimonialAreaAboutUs .testimonialRotater .quote { background: url(/shared/images/quote-close.png) 100% 100% no-repeat; padding: 20px; font-size: 15px; font-weight: bold; color: #333; }
	.quotePerson {margin: 0 0 15px; line-height: 13px; }

.awardWLogo { overflow: hidden; width: 140px; border: 1px solid #C8C8C8; text-shadow: 1px 1px 0 #FFF; color: #000; height: 150px; text-align: center; float: left; padding: 15px; background: #eaeaea; margin: 0 10px 10px 0; border-radius: 5px; line-height: 16px; }
.awardWLogo img { margin: 0 0 15px; }

.testimony { background: url(/shared/images/quote-open.png) 0 0 no-repeat; color: #666; font-size: 11px; margin-bottom: 30px; line-height: 13px; }
.testimony strong { display: block; background: url(/shared/images/quote-close.png) 100% 100% no-repeat; padding: 5px 20px 0 25px; color: #333333; font-size: 15px; font-weight: normal; line-height: 22px; }
.testimony .user { display: block; padding: 10px 25px 0; }
/*
ON BOARDING MESSAGES

Location: /shared/modules/onBoarding.css

TODO: consolidate noresults and nocontent
*/

.noResults, .noContent {
    background: #ededed;
    box-sizing: border-box;
    color: #666;
    display: block;
    font-size: 1.1rem;
    padding: 30px 15px;
    text-align: center;
}
.noResults {
    margin: 0 auto 400px;
    width: 300px;
}
/*
OVERLAY

Location: /shared/modules/_overlay.css
Overlay for popovers and modal windows

TODO: code review
*/

.body-overlay {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.3);
    height: 100%;
    width: 100%;
    z-index: 5000; /* same as message box and modal */
    text-align: center;
}
    .body-overlay:nth-last-child(2) {
        z-index: 5003;
    }
    .body-overlay-white {
        background: rgba(255,255,255,.8);
        text-align: center;
    }
/*
LEGACY PAGING
Location: /shared/css/modules/_paging-legacy.css
*/

.pagination {
	text-align: center;
	margin-top: 15px;
	clear: both;
	color: #999;
}
.pagination ul {
	margin: 0;
	display: inline;
	padding: 0;
	list-style: none;
}
.pagination li {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
}
	.pagination li.prev {
		padding-right: 11px;
	}
	.pagination li.next {
		padding-left: 11px;
	}
	.pagination li.prev.noLink {
		padding-right: 15px;
	}
	.pagination li.next.noLink {
		padding-left: 15px;
	}
	.pagination li.active {
		padding: 3px 4px;
		font-weight: bold;
		color: #000;
	}
	.pagination li a {
		display: inline-block;
		margin: 0;
		padding: 3px 4px;
		list-style: none;
		border: 1px solid #fff;
	}
	.pagination li.prev a,.pagination li.next a {
		border: 0 !important;
	}
	.pagination li a:hover {
		border: 1px solid orange;
	}
/*
PAGING
Location: /shared/css/modules/_paging.css
*/

.paging {
    border-top: dashed 1px #ccc;
	clear: both;
	color: #999;
    display: block;
    list-style: none;
	margin-top: 36px 0 0 0;
	padding: 18px 0 0 0;
    text-align: center;
}
.paging li {
	display: inline;
    list-style: none;
	margin: 0;
}

.paging_prev a,
.paging_first a {
    padding: 0 11px 0 0;
    text-decoration: none;
}
.paging_next a,
.paging_last a {
    padding: 0 0 0 11px;
    text-decoration: none;
}
    .paging_prev a:hover,
    .paging_first a:hover,
    .paging_next a:hover,
    .paging_last a:hover {
        background: none;
        text-decoration: underline;
    }
    .paging .is-disabled a,
    .paging .is-disabled a:hover {
        cursor: default;
        text-decoration: none;
    }

.paging_number a {
    background: #f4f4f4;
    color: #333;
    display: inline-block;
    font-weight: bold;
    margin: 0;
    padding: 3px 0;
    list-style: none;
    text-align: center;
    text-decoration: none;
    width: 25px;
}
    .paging_number a:hover {
        background: #ccc;
    }
    .paging_number.is-active a {
        background: #999;
        color: #fff;
    }
/*
Popouts

Markup:
markup/popout.hbs

Styleguide 4.0
*/

.popout {
	display: inline-block;
	position: relative;
	z-index: auto;
}

.popout.active,
.active > .popout,
.active .assignmentSelector > .popout {
	z-index: 20;
}

.popoutContent { 
	background: #fff;
	border: solid 3px #0b3b83;
	border-radius: 10px;
	box-shadow: 0 0 5px #666;
	box-sizing: border-box;
	display: block;
    font-size: 1rem;
	font-weight: normal;
    line-height: 1.4;
	padding: 0 11px;
	position: absolute;
    text-align: left;
	text-transform: none;
	top: 30px;
	width: 300px;
	z-index: 10;
}

.popoutContent .popoutArrow { 
	border-left: solid 10px transparent;
	border-right: solid 10px transparent;
	border-bottom: solid 10px #0b3b83;
	bottom: auto;
	display: block;
	left: 15px;
	position: absolute;
	top: -13px;
	vertical-align: top;
	z-index: 999;
}

.popoutContent p {
	margin: 12px 0;
}

.popoutContent-bg .box-bg {
    background: #fff;
}

.popout-above .popoutContent {
	top: auto;
	bottom: 30px;
}

.popout-above .popoutContent .popoutArrow {
	border-bottom: none;
	border-top: solid 10px #0b3b83;
	bottom: -13px;
	top: auto;
}	

.popout-alignMiddle .popoutContent {
	left: 50%;
	margin-left: -150px;
}

.popout-alignMiddle .popoutContent .popoutArrow {
	left: 50%;
	margin-left: -10px;
}

.popout-alignRight .popoutContent {
    left: auto;
	right: 0;
}

.popout-alignRight .popoutContent .popoutArrow {
	left: auto;
	right: 15px;
}

.popout-right .popoutContent {
	right: auto;
	left: -310px; /*10px more than the width */
	top: -30px;
}

.popout-right .popoutContent .popoutArrow {
	border-top: solid 10px transparent;
	border-bottom: solid 10px transparent;
	border-left: solid 10px #0b3b83;
	border-right: 0;
	top: 30px;
	left: auto;
	right: -13px;
}

.popout-lg .popoutContent {
	width: 600px;
}

.popout-lg.popout-alignMiddle .popoutContent {
    margin-left: -300px;
}

.popout-lg.popout-alignRight .popoutContent {
    right: 0;
}

.popout-lg.popout-right .popoutContent {
    left: -610px;
}

.popout-md .popoutContent {
	width: 450px;
}
.popout-md.popout-right .popoutContent {
    left: -460px;
}

.popout-xl .popoutContent,
.popout-xl.popoutContent {
	width: 910px !important;
}

.popout-sm .popoutContent {
	width: 300px;
}

.popout-toolTip .popoutSwitch .icon {
	color: #999;
}

.popout-toolTip .popoutSwitch:hover .icon,
.popout-toolTip .popoutSwitch.active .icon {
	color: #0b3b83;
}

.popout-toolTip.popout-alignRight .popoutContent {
    left: auto;
    right: -20px;
}

.popout-toolTip.popout-alignLeft .popoutContent {
    left: -20px;
    right: auto;
}

.popout-toolTip.popout-alignMiddle .popoutContent {
    left: 50%;
}

.popout-toolTip .popoutContent {
	left: -18px;
}

.table-data th .popout-toolTip .icon {
	color: #2872b8;
}

.table-data th .popout-toolTip .icon:hover,
.table-data th .popout-toolTip .active .icon {
	color: #0b3b83;
}

.table-data th .popout-toolTip .popoutContent {
	font-weight: normal;
}

.popout-alert .popoutSwitch .icon {
	color: #bb1a03;
	font-size: 20px;
}

.popout-alert .popoutSwitch:hover .icon,
.popout-alert .popoutSwitch.active .icon {
    color: #fe2203;
}

.popout-alert.popout-alignRight .popoutContent {
    right: -20px;
}

.popout-alert.popout-alignLeft .popoutContent {
    left: -18px;
}

.popout-btnSwitch-sm .popoutContent { top: 38px; }
.popout-btnSwitch .popoutContent { top: 42px; }
.popout-btnSwitch-lg .popoutContent { top: 46px; }
.popout-btnSwitch-xl .popoutContent { top: 50px; }
.popout-above.popout-btnSwitch-xl .popoutContent { bottom: 50px; top: auto; }
	
.popout-static {
	display: block;
}

.popout-static .popoutContent {
	display: block;
	padding: 0 15px;
	position: relative;
	top: 12px;
	width: auto;
}

.popout-tabbed.popout-static .popoutContent {
	top: 0;
}

.popout-tabbed {
	left: -10px;
}

.popout-tabbed .popoutContent {
	display: block;
	padding: 0 15px;
	top: 31px;
	width: 746px;
}

.popout-tabbed .popoutContent-first {
	border-radius: 0 10px 10px 10px;
}

.popoutTabs {
	display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0;
}

.popoutTabsItem {
    display: inline-block;
    position: relative;
    z-index: 51;
}

.popoutTabsItem a {
    cursor: pointer;
    display: block;
    font-weight: bold;
    font-size: 14px;
    margin: 0;
    padding: 6px 10px;
    text-decoration: none;
}

.popoutTabsItem:last-child a {
    border: none;
}

.popoutTabsItem a.active {
    background: #0a4d90;
    background: -webkit-linear-gradient(#0861a0, #0b3b83);
    background: linear-gradient(#0861a0, #0b3b83);
    border: solid 1px #0b3b83;
    border-bottom: none;
    border-radius: 7px 7px 0 0;
    color: #fff;
    padding: 5px 9px 6px 9px;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
}

.popoutTabsItem .arrow {
    border: solid 5px transparent;
    border-top: solid 5px #333;
    display: inline-block;
    margin: 6px 0 0 0;
    vertical-align: top;
}

.popoutTabsItem a.active .arrow {
    border-top: solid 5px #fff;
}
			
/*
POPOVER DROPDOWN
Popover that looks like a <select> dropdown
Location: /shared/css/modules/_popover-dropdown.css
TODO: code review
*/

.popover-dropdown .popover-content {
    padding: 6px 0;
    white-space: nowrap;
}

.popover-dropdown_heading {
    font-weight: bold;
    padding: 0 9px;
    text-transform: uppercase;
}

.popover-dropdown_item {
    box-sizing: border-box;
    display: block;
    font-weight: normal;
    margin: 0;
    padding: 1px 9px;
    position: relative;
    text-align: left;
    text-decoration: none;
    text-transform: none;
    width: 100%;
}
    .popover-dropdown_item:not(.is-disabled):hover {
        background: #f4f4f4;
        cursor: pointer;
        text-decoration: none;
    }
    .popover-dropdown_item.is-selected {
        font-weight: bold;
    }

/* action icons in groups filter */
.popover-dropdown_actions {
    cursor: pointer;
    display: none;
    position: absolute;
    top: 2px;
    right: 3px;
}
    .popover-dropdown_item:hover .popover-dropdown_actions {
        display: inline-block;
    }

    .popover-dropdown_actionIcon {
        cursor: pointer;
    }
        .popover-dropdown_actionIcon .icon {
            color: #055bad;
            font-size: 1rem;
            margin: 0 1px;
            -webkit-transition: all 0.15s;
            transition: all 0.15s;
        }
            .popover-dropdown_actionIcon:hover .icon:not(.is-disabled) {
                -webkit-transform: scale(1.2);
                    -ms-transform: scale(1.2);
                        transform: scale(1.2);
            }

/* menu with black checkmarks */
/* TODO: remove once confirmed unused */

.selection {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px;
    padding: 0;
    list-style: none;
}
.selection > li {
    padding: 3px 65px 3px 20px;
    position: relative;
    white-space: nowrap;
    clear: both;
}
.selection > li:hover {
    cursor: pointer;
    background: rgba(0,0,0,.05);
}
.selection > li.no-hover:hover {
    cursor: default;
    background: none;
}


.selection input[type="text"] {
    box-sizing: border-box;
    margin-right: 0;
}

.selection .btn.btn-sm {
    font-size: 12px;
}

.selection .icon-ok{
    position: absolute;
    top: 6px;
    left: 0;
    display: none;
}
.selection .selected .icon-ok{
    display: inline-block;
}

.selection .add {
    border-top: 1px solid rgba(0,0,0,.1);
    padding-top: 10px;
    margin-top: 10px;
    padding-right: 0;
}
.selection .add:hover {
    background: none;
}

.selection .pending {
    color: rgba(0,0,0,.2);
    cursor: progress !important;
}

/* ---------------------------------
POPOVER MENU
For when a popover is used as a menu
--------------------------------- */

.popover-menu .popover-content {
    padding: 4px 0;
    text-align: left;
    min-width: 125px;
}

.popover-menu_item {
    box-sizing: border-box;
    color: #0089E5;
    display: block;
    font-weight: normal;
    margin: 0;
    padding: 3px 9px;
    text-align: left;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    width: 100%;
}
    .popover-menu_item:not(.is-disabled):hover {
        background: #f4f4f4;
        cursor: pointer;
        text-decoration: none;
    }
    .popover-menu_item .icon {
        color: #0089E5;
        font-size: 1rem;
        opacity: 1;
        -webkit-transform: none !important;
            -ms-transform: none !important;
                transform: none !important;
    }

/* when highlighting selected menu items */
.popover-menu_item .icon-ok {
    position: absolute;
    top: 6px;
    left: 0;
    display: none;
}
    .popover-menu_item.is-selected .icon-ok{
        display: inline-block;
    }

/* when a menu item has an additional popover,
position it right on top of the first popover
(like Copy and Move Folder actions in File Cabinet) */
.popover-menu .popover .popover {
    cursor: default;
    display: block;
    position: static;
    width: 100%;
}
.popover-menu .popover-content .popover-content {
    padding: 12px;
    position: absolute;
    top: -1px !important;
}

/* yucky override for assignments */
.assignment .popover-menu_item  {
    display: block; /* override .book a */
}
.assignment-custom .popover-menu_item .icon {
    font-size: 1rem;
}
/*
ASSIGNMENT SELECTOR POPOVERS
A type of popover used for selecting assignments
Location: /shared/css/modules/_popover-assignmentSelector.css
Parent: /shared/css/modules/_popover.css
*/

.selector .popover-target {
    display: inline-block;
    margin: 0;
    padding: 3px 18px 3px 3px;
    border: 1px solid #FFF;
    }
    .active .selector .popover-target {
        border-color: rgba(0,0,0,.2);
        z-index: 101;
    }

/* dropdown arrow */
.selector .popover-target:after {
    content: '';
    display: block;
    border-top: 5px solid rgba(0,0,0,.3);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 5px;
    }
    .selector:hover .popover-target:after,
    .active .selector .popover-target:after {
        border-top: 6px solid rgba(0,0,0,.8);
    }

/* TODO: what's this? */
.selection-sazSelector > li {
    overflow: hidden;
}
    .selection-sazSelector > li:nth-child(4),
    .selection-sazSelector > li:nth-child(7){
        border-bottom: dashed grey 1px;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }


/* ----------------------
TODO: get rid of these */

/* roster science and writing assignment selectors */
.popover-content-padLR0 > .popover-content {
    padding: 10px 0;
}

/* roster headsprout assignment selector */
.popover-content-md > .popover-content{
    width: 600px;
}
.popover-content-mdSm > .popover-content {
    width: 450px;
}
/*
POPOVER

Location: /shared/css/modules/_popover.css
A popover contains a trigger and content that opens when the trigger is clicked

TODO: code review
*/

.popover {
    display: inline-block;
    position: relative;
}

/* -----------
POPOVER TARGET
----------- */

.popover.active .popover-target,
.popover-target:hover {
    cursor: pointer;
}

/* ------------
POPOVER CONTENT

TODO: remove min-width from .popover-content.
If some content needs a min-width, add it to the content itself.
This would avoid the need to override the default min-width
------------ */

.popover-content {
    background: #FFF;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    box-shadow: 1px 1px 10px 0px rgba(0,0,0,0.15);
    color: #222;
    font-size: 1rem;
    max-width: 900px;
    min-width: 150px; /* default should probably be 0 */
    padding: 12px;
    position: absolute;
    text-align: left;
    z-index: 1010; /* below modal and above file cabinet ribbon */
}
    /* TODO: check for non-angular usages and switch them to angular, then these selectors can be simplified */
    /* used for angular popovers */
    popover-content .popover-content {
        opacity: 0;
    }
    .popover.active popover-content .popover-content {
        opacity: 1;
    }
    popover-content:not(.is-linked) {
        display: none;
    }

/* ------------
POPOVER ARROW
------------ */

.popover-arrow {
    text-transform: none;
}
    .popover-arrow .popover-target {
        position: relative;
    }
        .popover-arrow .active .popover-target:after {
            content: '';
            position: absolute;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            border-left: 8px solid transparent;
            border-right: 8px solid transparent;
            border-bottom: 10px solid rgba(0,0,0,0.2);
        }
        .alignR .popover-arrow .active .popover-target:after {
            bottom: -8px;
        }

/* ------------------
SIZES
------------------ */

.popover-sm .popover-content {
    min-width: 0; /* this should probably be the default value, instead of belonging to the -sm modifier */
}
.popover-md .popover-content {
    width: 250px;
}
.popover-lg .popover-content {
    width: 500px;
}

.popover-xl .popover-content {
    width: 900px;
}

/* -----------
WALKME POPOVER
----------- */

.popover-content-tutorial {
    width: 175px;
}

/* ---------
BOOK POPOVER
--------- */

.popover-content-book,
.popover-addTo .popover-content {
    border: solid 2px #666;
    box-shadow: 0 0 7px #333;
    width: 300px;
}
.popover-content-book .secondaryNav-chooseFolder,
.popover-addTo .secondaryNav-chooseFolder {
    margin-left: -30px; /* offset padding of popout */
}

/* ---------------
ASSIGNMENT POPOVER
list of students assigned to an assignment
--------------- */

.popover-listStudents .popover-content {
    border: solid 2px #333;
    box-shadow: 0 0 7px #333;
}

/* ------------------
FILE CABINET POPOVERS
------------------ */

/* move folder */
.popover-moveFolder .popover-content {
    width: 275px;
}

/* new lesson plan */
.popover-newLessonPlanner .popover-content {
    position: static;
    width: 175px;
}

/* --------------
NON-ANGULAR USAGE
TODO: change the HTML to use the angular popover, then this stuff can be removed
----------------- */

/* list of assignments for a particular student (on Student View of Assignments page) */
.td-assignment .popover-content {
    left: -999em;
    top: 0;
}
.td-assignment .popover-content.is-visible {
    left: calc(100% + 18px);
    -webkit-transition: left 0s .2s;
    transition: left 0s .2s;
}

/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_productTabs.css
*******************************************************************************************
*******************************************************************************************/

/* tabs */
.navTabbed-product {
	border: none;
}
.navTabbed-product .item-gen.active a,
.navTabbed-product .item-gen.active:hover a {
	background: #0c3d84;
	background: -webkit-linear-gradient(#0861a0, #0c3d84); /* Safari */ /* Firefox */
	background: linear-gradient(#0861a0, #0c3d84);
	border-color: #0b3b83;
}
.navTabbed-product .item-rk.active a,
.navTabbed-product .item-rk.active:hover a {
	background: #31429c;
	background: -webkit-linear-gradient(#4a5dbe, #31429c); /* Safari */ /* Firefox */
	background: linear-gradient(#4a5dbe, #31429c);
	border-color: #31409a;
}
.navTabbed-product .item-hs.active a,
.navTabbed-product .item-hs.active:hover a {
	background: #0261a8;
	background: -webkit-linear-gradient(#157fcf, #0261a8); /* Safari */ /* Firefox */
	background: linear-gradient(#157fcf, #0261a8);
	border-color: #015696;
}
.navTabbed-product .item-rt.active a,
.navTabbed-product .item-rt.active:hover a {
	background: #007570;
	background: -webkit-linear-gradient(#04958e, #007570); /* Safari */ /* Firefox */
	background: linear-gradient(#04958e, #007570);
	border-color: #007a74;
}
.navTabbed-product .item-waz.active a,
.navTabbed-product .item-waz.active:hover a {
	background: #da8901;
	background: -webkit-linear-gradient(#faa71c, #da8901); /* Safari */ /* Firefox */
	background: linear-gradient(#faa71c, #da8901);
	border-color: #cf8201;
}

/* table */
.table-product th {
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
	border-top: solid 5px #e7e7e7;
	padding: 10px 10px;
}
	.table-product th:last-child {
		border-right: none;
	}
	
.table-product .sorter-asc,
.table-product .sorter-desc {
	border-top: solid 5px #d7d6d6;
}
	
.table-product .th-sub {
	border-left: none;
	border-top: none;
	padding-top: 7px;
	padding-bottom: 7px;
}
.table-product .th-gen {
	background-color: #c3daff;
	border-top-color: #0c3d84;
}
.table-product .th-rk {
	background-color: #cad0f1;
	border-top-color: #31429c;
}
.table-product .th-hs {
	background-color: #bce0fb;
	border-top-color: #0261a8;
}
.table-product .th-rt {
	background-color: #b7e2e0;
	border-top-color: #007570;
}
.table-product .th-waz {
	background-color: #f8d7bb;
	border-top-color: #da8901;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_profile.css
*******************************************************************************************
*******************************************************************************************/
/**** This is a legacy styles because the file is currently being shared ****/

#yourRaz .profileTop { float: left; width: 708px; }
#yourRaz .profileBottom { clear: both; float: left; padding-top: 30px; width: 708px; }
#yourRaz .leftColumn { float: left; width: 495px; margin: 0; padding: 0; }
#yourRaz .rightColumn { float: right; width: 205px; margin: 0; padding: 0; }
.yourFileCabinet .leftColumn { width: 478px !important; }
.yourFileCabinet .rightColumn { width: 200px !important;  }

#yourRaz .photo { float: left; width: 177px; background: #ddd; text-align: center; padding: 17px 0; margin-bottom: 40px; }
#yourRaz .photo img { border: 1px solid #c9c9c9; box-shadow: 0px 0px 10px #bbb; margin-bottom: 10px; width: 133px; height: 150px; }
#yourRaz .info { float: right; width: 304px; font-size: 12px; line-height: 14px; margin-bottom: 40px; }
#yourRaz .info strong { font-size: 16px; line-height: 19px; }

#yourRaz .rightColumn .rightShout { background: #caeda0; position: relative; z-index: 1; font-size: 11px; line-height: 15px; text-shadow: 1px 1px 0 #f1f4ec; color: #000; padding: 0 0 10px; margin: 0 0 20px; }
#yourRaz .rightColumn .rightShout h2 { background: #82ba3e; color: #000; padding: 8px 10px; font-size: 15px; line-height: 17px; margin: 0 0 10px; text-shadow: 1px 1px 0 #b0df77; border-bottom: 1px solid #FFF; }
.yourFileCabinet .rightColumn .rightShout { height: auto !important; min-height: 200px; height: 200px; }

.expire { background: #fdfaca; border: 1px solid #FDEAA8; border-radius: 10px; box-shadow: 1px 1px 0 #FFF; padding: 10px; color: #eb0606; text-shadow: 1px 1px 0 #FFF; margin: 10px; position: absolute; top: -65px; left: 0; line-height: 15px; }
.expire .arrow { 
    background: url("/shared/images/arrow-yellow-down.png") no-repeat scroll 0 0 transparent;
    bottom: -8px;
    height: 9px;
    left: 58px;
    position: absolute;
    width: 18px; }

.folderNotice { border: 1px solid #FDEAA8; text-align: center; background: #fdfaca; border-radius: 10px; box-shadow: 1px 1px 0 #FFF; padding: 10px; text-shadow: 1px 1px 0 #FFF; margin: 10px; position: absolute; line-height: 15px; width: 110px; right: -33px; top:-50px; }
.leftColumn .folderNotice { margin: 0; width: 123px; right: -36px; top:-39px; font-size: 11px; }
.folderNotice .arrow { position: absolute; bottom: -8px; left: 58px; width: 18px; height: 9px; background: url(/images/arrow-yellow-down.png) 0 0 no-repeat; }

#yourRaz #subscriptionInfo { min-height: 205px; height: auto !important;  height: 205px; }
#yourRaz #subscriptionInfo .memberSince { display: block; font-size: 13px; line-height: 22px; margin: 0 0 10px 10px; }
#yourRaz #subscriptionInfo .memberSince span { font-size: 16px; }

#yourRaz .rightColumn .rightShout ul { margin: 0; padding: 0 10px 0 10px; list-style: none; }
#yourRaz .rightColumn .rightShout ul li { margin: 0; padding: 3px 0; }

#yourRaz .rightColumn .rightShout a.buttonSm, #yourRaz .rightColumn .rightShout a.buttonOrder {
    background: url(/shared/images/button-sm.png) no-repeat scroll 0 0 transparent;
    color: #FFFFFF;
    display: block;
    font-size: 11px;
    height: 25px;
    line-height: 24px;
    margin: 10px 0 0 10px;
    padding: 0 0 0 8px;
    text-align: left;
    text-decoration: none;
    width: 130px;
    text-shadow: 1px 1px 0 #347B2F;
    font-weight: bold;
}
#yourRaz .rightColumn .rightShout a.buttonOrder { background: url(/shared/images/button-order.png) no-repeat scroll 0 0 transparent; text-shadow: 1px 1px 0 #980E42; }
#yourRaz .rightColumn .rightShout a.buttonSm:hover, #yourRaz .rightColumn .rightShout a.buttonOrder:hover { background-position: 100% -25px; }
.emailLC a { display: block; padding: 7px 0 5px 20px; background: url(/shared/images/icon-email.png) 0 9px no-repeat; }

a.dayPassConfirmation { display: block; background: #fcf886 url(/shared/images/free-pass-banner.png) no-repeat; border: 1px solid #fcf886; padding: 10px; font-size: 14px; line-height: 19px; color: #000; text-decoration: none; text-shadow: 1px 1px 0 #FFF; }
a.dayPassConfirmation strong { display: block; font-size: 21px; padding: 0 0 20px 100px; line-height: 27px; }
a.dayPassConfirmation ul { margin: 10px 0 0 0; padding: 0; list-style: none; }
a.dayPassConfirmation ul li { margin: 0; padding: 0 20px 10px 0 ; display: inline; float: left; font-size: 15px; font-weight: bold; white-space: nowrap; }
a.dayPassConfirmation .blue { color: blue; text-decoration: underline; }
a.dayPassConfirmation:hover .blue { text-decoration: none; }


/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_reportIcons.css
*******************************************************************************************
*******************************************************************************************/

.reportIcon {
	background: #faf2d1;
	background-size: contain;
	border: 1px solid #dbc45e;
	border-radius: 10px;
	color: #222;
	display: block;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	padding: 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 0 3px #fff;
}
	.reportIcon img {
		display: block;
		height: auto;
		max-width: 100%;
	}
	.reportIcon .reportLabel {
		display: block;
		left: 7.5%;
		position: absolute;
		top: 27%;	
		width: 85%;
	}
.resourceCorrelations a {
    color: #222;
}
.resourceCorrelations .icon {
    color: #222;
    color: var(--primaryColor);
    font-size: 2.2rem;
}
.resourceCorrelations .icon-apple {
    margin-top: -10px;
}
/*
RESOURCE LIST
Lists related downloads under a single heading with applicable icons (PDF, Projectable, and Add To File Cabinet icons)

Location: /shared/css/modules/_resourceDownloads.css
Styleguide: modules/resourceDownloads.php
*/

/* TODO: Need .resourceList-plain for listing icons inline with or without a title */

.resourceList {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-top: solid 8px #e0e0e0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-top: 6px;
}

/* THUMBNAILS */
.resourceList_thumb {
    margin-top: 3px;
    position: relative;
}
    .resourceList_thumb img {
        background: #eaeaea;
        border: 1px solid #ccc;
        box-shadow: 1px 1px 3px #ccc;
        margin-right: 12px;
        max-height: 90px;
        max-width: 90px;
    }

/* DETAILS (titles and other info) */
.resourceList_details {
    -webkit-flex-basis: 100px;
        -ms-flex-preferred-size: 100px;
            flex-basis: 100px; /* need to set an arbitrary width to prevent it from changing with the length of the title */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}
.resourceList_title {
    font-family: "Roboto Condensed", Arial, Helvetica, Sans-Serif;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.25;
    margin: 0;
}
.resourceList_subtitle {
    display: block;
    font-family: "Roboto Condensed", Arial, Helvetica, Sans-Serif;
    font-size: .9rem;
    font-weight: normal;
    margin: 0;
    text-transform: none;
}
.resourceList_description {
    display: block;
    margin: 0;
    font-size: .9rem;
}
.resourceList_fiction {
    color: #999;
    font-size: .9rem;
    margin: 0;
}
.resourceList_multilevel {
    color: #ff6633;
    font-size: .9rem;
    margin: 0;
}
.resourceList_related {
    display: block;
    font-size: .9rem;
    font-style: italic;
    margin: 3px 0;
    text-align: right;
}
    .resourceList_related::before {
        clear: both;
        content: "";
        display: block;
    }

/* EBOOK PREVIEW ICONS */
.resourceList_preview {
    border-top: solid 1px #e0e0e0;
    box-sizing: border-box;
    display: block;
    margin: 6px 0;
    padding: 6px 0;
    width: 100%;
}
    .resourceList_previewTitle {
        color: #999;
        font-size: .9rem;
        font-weight: bold;
    }

/* RESOURCE ICONS */
.resourceList_icons {
    clear: both;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: right;
    margin-left: 3px;
    text-align: right;
}

    .resourceList ul .resourceList_icons {
        margin-top: -2px;
    }
    .resourceList_preview .resourceList_icons {
        margin-top: -2px;
    }

    /* nested to prevent conflicts with legacy version
    (conflicts arise because of how the file cabinet icon include is set up) */
    .resourceList_icons .resourceList_icon {
        display: inline-block;
        height: 22px;
        line-height: 22px;
        margin: 0;
        padding: 0 26px 0 0;
        -webkit-transition: all 0.15s;
        transition: all 0.15s;
        -webkit-font-smoothing: antialiased;
        -ms-interpolation-mode: nearest-neighbor;
            image-rendering: -webkit-optimize-contrast;
            image-rendering: -moz-crisp-edges;
            image-rendering: pixelated;
    }
        .resourceList_icons .resourceList_icon-pdf {
            background: url("/shared/images/icons/icon-pdf.svg") no-repeat 2px 1px;
        }
        .resourceList_icons .resourceList_icon-projectable {
            background: url("/shared/images/icons/icon-projectable.svg") no-repeat 3px 2px;
        }
        .resourceList_icons .resourceList_icon-fileCabinet {
            background: url("/shared/images/icons/icon-folder.svg") no-repeat 3px 0px;
        }
        .resourceList_icons .resourceList_icon-listen {
            background: url("/shared/images/icons/icon-listen.svg") no-repeat 2px 1px;
        }
        .resourceList_icons .resourceList_icon-read {
            background: url("/shared/images/icons/icon-read.svg") no-repeat 3px 2px;
        }
        .resourceList_icons .resourceList_icon-quiz {
            background: url("/shared/images/icons/icon-quiz.svg") no-repeat 2px 1px;
        }
        .resourceList_icons .resourceList_icon-assign {
            background: url("/shared/images/icons/icon-assign.svg") no-repeat 2px 1px;
        }
        .resourceList_icons .resourceList_icon-placeholder {
            background: none;
            cursor: default !important;
        }

    .resourceList_icons .resourceList_icon:hover {
        cursor: pointer;
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
    }

/* LIST OF SUB-ITEMS */
.resourceList ul {
    display: block;
    list-style: none;
    margin: 6px 0;
    padding: 0;
}
.resourceList li {
    padding: 4px 0;
}

.resourceList_ul-borders > li {
    border-top: solid 1px #e0e0e0;
}
.resourceList_ul-borders > li:first-child {
    border: none;
}

/* LAYOUT CONTAINER */
.resourceListContainer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0 -21px 0 -21px;
}
.resourceListContainer .resourceList {
    margin: 0 21px 36px 21px;
    width: calc(33.33% - 42px);
}
.resourceListContainer-2col .resourceList {
    width: calc(50% - 48px);
}
.resourceListContainer-4col .resourceList {
    width: calc(25% - 48px);
}
.resourceListContainer-5col .resourceList {
    width: calc(20% - 48px);
}

/* SIMPLE VERSION OF RESOURCE LIST (just headings with icons) */
.resourceList-simple {
    border: none;
    display: inline-block;
    padding: 0;
    vertical-align: top;
}
.resourceList-simple .resourceList_subtitle {
    display: inline-block;
    vertical-align: middle;
}





/*
Scroll To Top

Navigation button for returning to the top of page

*/

.scrollToTop {
    border-radius: 50% 50%;
    box-sizing: border-box;
    background: #BADA55;
    bottom: 10px;
    right: 10px;
    clear: both;
    z-index: 10;
    padding: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    -webkit-transition: box-shadow 0.3s cubic-bezier(.25,.8,.25,1);
    transition: box-shadow 0.3s cubic-bezier(.25,.8,.25,1);
    color: rgba(0,0,0, .8);
    font-weight: 600;
}
    .scrollToTop:hover {
        box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
        cursor: pointer;
    }



/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_search.css
*******************************************************************************************
*******************************************************************************************/

#advancedSearchMenus.more { position: relative; background: #EFEFEF; border-radius: 0 0 10px 10px; padding: 30px 20px 20px; color: #000; font-size: 12px; line-height: 17px; text-shadow: 1px 1px 0 #FFF; width: 100%; box-sizing: border-box; }
h1.search { position: relative; z-index: 1; line-height: 24px; }
h1.search a#moreLink { font-weight: normal; font-size: 12px; text-decoration: none; color: #18106b; text-transform: none; }
h1 .small { font-weight: bold; font-size: 14px; color: #000; text-transform: none; }

.search-left h4 { margin-top: 0; }
.search-left strong { text-transform: uppercase; }
.search-left li { padding: 2px 0;}
.search-left .arrowRight { border-left-color: rgba(0,0,0,.3); }
.search-left a:hover .arrowRight { border-left-color: rgba(0,0,0,.6); }
.search-left .active { text-decoration: none; color: #000; font-weight: bold; }
.search-left .active .arrowRight { border-left-color: rgba(0,0,0,1); }
.search-left hr { background: #fff; border-color: #FFF; }
.greyTotal { font-size: 90%; color: rgba(0,0,0,.5)}

#resultList .books { height: auto; margin: 0; width: 125px; padding-right: 20px; }
#resultList .books img { background: none repeat scroll 0 0 #EAEAEA; border: 1px solid #CCCCCC; box-shadow: 5px 5px 5px #CCCCCC; }

#paginationInner { margin: 0 auto; }
#resultList .bookSummary { width: 578px; }
#resultList .studentVersion { display: none;}

#advancedSearchMenus.more h2 { position: relative; top: -10px; margin:0; }

#advancedSearchMenus fieldset { margin: 0; padding: 0 0 6px; border: 0; clear: left; }
#advancedSearchMenus fieldset label { padding: 0 0 3px 0; display: block; }
#advancedSearchMenus fieldset input { width: 194px; }
#advancedSearchMenus select { width: 200px; }
#advancedSearchMenus.more .column { float: left; width: 220px; margin: 0; }
#advancedSearchMenus.more input.submitButton { clear: both; float: right; }

#advancedSearchPopup fieldset { padding: 0; }
#advancedSearchPopup fieldset label {  float: left; width: 100px; padding: 6px 6px 0 10px; display: inline-block; }
#advancedSearchPopup fieldset select { width: 300px; margin: 6px 0 0;}

.passwordForm label { margin-left: 5px; }
.passwordForm label.error { display: inline-block; padding: 0 5px; border-radius: 4px; }

#bookWrapper #bookInfo { position: relative; z-index: 1; top: -31px; font-style: normal; }
#bookWrapper #bookInfo .sectionDivider { background: #cce0f2; font-size: 12px; line-height: 16px; border-bottom: 1px solid #FFF; padding: 12px; }
#bookWrapper #bookInfo .sectionDivider h1 { color: #000; font-size: 12px; }
#bookWrapper #bookInfo .sectionDivider ul li a { color: #0000FF; }
#bookWrapper #bookInfo .sectionDivider a.onState { padding-left: 0 !important; font-weight: bold; color: #1E5180 !important; background: none !important; text-decoration: none; } 
#bookWrapper #bookInfo .sectionDivider ul li a .arrowRight {  margin: 2px 5px 10px 0; border-left: 5px solid #FFF; float: left;  }
.ie7 #bookWrapper #bookInfo .sectionDivider ul li a .arrowRight { position: relative; top: 0px; z-index: 1; }
#bookWrapper #bookInfo .sectionDivider ul li a:hover .arrowRight { border-left: 5px solid #8AB8E1;  }
#bookWrapper #bookInfo .sectionDivider ul li a.onState .arrowRight {  border-left: 5px solid #1E5180 !important;  }
#bookWrapper #bookInfo .sectionDivider li.notLink { color: #000; padding-top: 10px; }
#bookWrapper #bookInfo .sectionDivider ul li a .greyTotal { font-size: 90%; color: #3380C6;}
ul.searchResults { margin: 0; padding: 0; list-style: none; }
.searchResults h2 { margin: 0; font-size: 15px; }
ul.searchResults li.resource { margin: 0; padding: 10px 0; overflow: auto; min-height: 122px; height: auto !important; height: 122px; }
ul.searchResults li.resource:hover {background: #eaeaea; }
ul.searchResults.listView li { clear: both; }
ul.searchResults li .photo  { float: left; margin: 0; width: 102px; position: relative; z-index: 1; }
ul.searchResults li .photo .levelIcon { padding: 0; position: absolute; bottom: -4px; left: 43%; width: auto; display: inline-block; float: none; }
ul.searchResults li .photo .levelIcon ul.levels.smllevel li  { height: auto; padding: 0; }
ul.searchResults li img.thumbnail  { margin: 0 auto; background: none repeat scroll 0 0 #EAEAEA; border: 1px solid #A0A3A5; box-shadow: 3px 3px 3px #97AABB; display: block; }
ul.searchResults.listView li .info { float: right; width: 613px; }
ul.searchResults li .category { font-size: 11px; }
ul.searchResults li .category strong { font-weight: normal; }
ul.searchResults li .summary { color: #000; }
ul.searchResults li a.btn { font-weight: normal; font-size: 11px; line-height: 14px; margin-top: 10px; position: absolute; left: -1000em; z-index: 1; }
ul.searchResults li.resource:hover a.btn { position: relative; left: 0; }
ul.searchResults li .category2 { display: none; }

ul.searchResults li img.landscape { width: 100px; height: 65px; }
ul.searchResults li img.portrait { width: 65px; height: 100px; }

ul.searchResults.gridView li { float: left; width: 135px; padding: 20px 10px 0 0; }
ul.searchResults.gridView li .photo { float: none; width: auto; }
ul.searchResults.gridView li .photo .levelIcon  { display: none; }
ul.searchResults.gridView li img.thumbnail { margin: 0 0 5px; }
ul.searchResults.gridView li img.thumbnail.landscape { margin-top: 35px; }
ul.searchResults.gridView li .info h2 { font-size: 13px; line-height: 16px; margin: 0; padding: 0; font-weight: normal; text-decoration: none !important; }
ul.searchResults.gridView li .info h2 a { text-decoration: none; }
ul.searchResults.gridView li .info h2 a:hover { text-decoration: underline; }
ul.searchResults.gridView li .info .category { display: none; }
ul.searchResults.gridView li .info .summary { display: none; }
ul.searchResults.gridView li:hover { background: none; }
ul.searchResults.gridView li .category2 { display: block; color: #666666; font-size: 11px; line-height: 16px; }

.ui-widget-content {
    background: none;
    border: 0 none;
    border-radius: 0;
}
.ui-front {
    z-index: 102;
}
.ui-autocomplete.ui-widget-content {
    background: #ffffff;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.4);
}

.searchResults .pill {
    left: -1000em;
    position: absolute;
    z-index: 1;
    top: 5px;
}
.searchResults .resource:hover .pill {
    left: 0;
    position: relative;
}
/******************************
******************************/
/** END shared/_search.css ***/
/******************************
******************************/

/*
SEARCH BAR
The search in the main nav bar
Location: /shared/css/modules_searchBar.css
*/

.mainNavContainer .search {
    display: inline-block;
    margin-left: 2px;
    vertical-align: top;
}
.mainNavContainer .search input[type="search"],
.mainNavContainer .search input[type="text"] /* ie8 */ {
    border: none;
    border-radius: 5px 0 0 5px;
    height: 32px;
    line-height: 32px;
    margin: 2px 0 0 0;
    padding: 0 10px;
    width: 200px;
}
.mainNavContainer .search .btn {
    background: #FFF;
    border: 1px solid #FFF;
    border-radius: 0 5px 5px 0;
    color: #222;
    height: 30px;
    line-height: 30px;
    margin: 2px 0 0 -4px;
    padding: 0 10px;
    text-shadow: none;
}
.mainNavContainer .search .icon {
    font-size: 15px;
    line-height: 30px;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_sectionHeadPopout.css
*******************************************************************************************
*******************************************************************************************/

.sectionHeadPopout .sectionHead2.active {
	margin-bottom: 0;
}

.sectionHeadPopout .close {
	display: none;
}
.sectionHeadPopout .active .close {
	display: block;
	float: right;
	margin-top: 2px;
}
.sectionHeadPopout .active .more {
	display: none;
}

.sectionHeadPopoutContent {
	background: #f4f4f4;
	border: solid 3px #e0e0e0;
	border-radius: 0 0 10px 10px;	
	margin: 0 0 18px 0;
	padding: 0 14px;
}
.offset4 .sectionHeadPopoutContent {
	margin-right: 18px;
	margin-left: 18px;
}

/* level popouts */
.sectionHeadPopoutContent .miniLevelChart {
	float: right;
	margin: 18px 0 18px 30px;
	width: 40%;
}
	.sectionHeadPopoutContent .miniLevelChart table {
		background: #e0e0e0;
		border-radius: 10px;
		margin-bottom: 14px;
	}
	.sectionHeadPopoutContent .miniLevelChart tr:last-child td {
		border: none;
	}
	
/*******************************************************************************************
/shared/css/modules/_shout-outs.css
*******************************************************************************************/

/***
New and Updated callouts
***/
.updated,
.new {
    font-weight: normal;
    position: absolute;
    z-index: 1;
    top: 3px;
    left: -13px;
    background: #922e63;
    width: 58px;
    height: 17px;
    text-align: center;
    color: #FFF;
    text-shadow: none;
    line-height: 16px;
}
.new {
    width: 40px;
}
.nav-secondary .new {
    left: -25px;
}
.resourceLink .new {
    font-size: 11px;
    left: -34px;
    width: 30px;
}

/*** SHOUT BOX ****/
.shoutBox { margin: 40px 0 0 0; }
.shoutBox strong { font-size: 16px; font-weight: bold; display: block; margin: 0 0 3px; padding: 0; }
.divider { width:100%; }
.shoutBox .divider { height: 1px; background: #B9B4EC; margin: 20px 0 20px; display: block; }
.shoutBox a.smButton { display: block; background: url(/shared/images/bg-button-small.png) 0 0 no-repeat; width: 128px; height: 22px; padding: 6px 0 0 10px; color: #d7e5f2; text-shadow: #234566 0px 1px 0px; text-decoration: none;  }
.shoutBox a.smButton:hover { background-position: 0 -28px; color: #FFF;  }

.shoutBox a.video { text-decoration: none; display: block; color: #000; }
.shoutBox a.video em { text-decoration: underline; color: #055bad; font-style: normal; }
.shoutBox a.video:hover em { text-decoration: none; }
.shoutBox a.video span { position: relative; display: inline-block; top: 3px; width: 15px; left: 0; }
.shout-video {
    background: url("/shared/images/video-controls-shoutbox.png") no-repeat left bottom;
    border: 1px solid #464646;
    border-bottom: 0;
    height: auto;
    margin: 0 0 3px;
    padding: 0 0 19px;
    width: 182px;
}

.menu-message {
    bottom: 10px;
    color: #333;
    font-size: 1rem;
    font-style: italic;
    position: absolute;
    right: 10px;
}

/** Chat Bubble CSS **/
.bubble-wrap {
    display: inline-block;
    position: absolute;
}
.bubble-icon > i {
    display: inline-block;
    width: 0;
    height: 0;
    line-height: 0;
    border-radius: 100px / 52.5px;
    left: 22.5px;
    top: 0px;
}
.bubble-icon > i+i {
    position: absolute;
    display: inline-block;
    width: 0;
    height: 0;
    line-height: 0;
    border: 37.5px solid transparent;
    margin-top: -37.5px;
    left: 0px;
    top: 70px;
    right: 25px;
}
.bubble-text {
    display: block;
    position: absolute;
    z-index: 5000;
    width: 150px;
    margin-left: 25px;
    margin-top: 15px;
    text-align: center;
}
.bubble-text a,
.mainNav .navChild .bubble-text a:hover {
    color: #000;
    text-decoration: none;
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-shadow: 1px 1px 0 rgba(255,255,255,.29);
}
.bubble-text a .fauxLink {
    font-weight: normal;
    font-size: 12px;
}

/** Purple Bubble Utility Class **/
.bubble-purple > i {
    border-top: 52.5px solid #E5E3F8;
    border-bottom: 52.5px solid #E5E3F8;
    border-left: 100px solid #E5E3F8;
    border-right: 100px solid #E5E3F8;
}
.bubble-purple > i+i {
    border-bottom: 37.5px solid #E5E3F8;
}

/** Orange Bubble Utility Class **/
.bubble-orange > i {
    border-top: 52.5px solid #faa33a;
    border-bottom: 52.5px solid #faa33a;
    border-left: 100px solid #faa33a;
    border-right: 100px solid #faa33a;
}
.bubble-orange > i+i {
    border-bottom: 37.5px solid #faa33a;
}

/*ELL PROMO*/

.ell-promo {
    background: #9FC7F0;
    border: 1px solid #9FC7F0;
    border-radius: 10px;
    padding: 10px;
    margin: 0 0 0 60px;
    margin-bottom: 100px;
    box-shadow: 5px 5px 10px #eaeaea;
    width: 161px;
    color: #000;
    float: right;
    position: relative;
    z-index: 2;
}

.ell-image {
    margin-bottom: 10px;
    border: 1px solid #f8f82b;
    border-radius: 10px;
}

.ell-shout {
    text-align: center;
    line-height: 17px;
    background: #FFE2BF;
    border-radius: 10px;
}

.ell-button {
    font-size: 13px;
    line-height: 29px;
    color: #FFF;
    display: block;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    background: #73BE1E;
    border-radius: 10px;
    padding: 5px 5px;
    text-shadow: none;
}


/* --------------------------- */
/* navVertical used in sitemap */

.sitemap .shoutBox,
.sitemap .btn {
    display: none;
}
.sitemap .navVerticalHeading,
.sitemap .navVerticalHeading.noLink:hover,
.sitemap .navHeading {
    background: #eaeaea;
    color: #000;
    cursor: default;
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 3px 5px;
    text-decoration: none;
    text-shadow: 1px 1px 0 #fff;
    margin-top: 23px;
    text-transform: none;
}
.sitemap .navVerticalHeading:hover {
    background: #e0e0e0;
    cursor: pointer;
}
.sitemap .navVertical .navItem a,
.sitemap .navVertical .navItem a.noLink,
.sitemap .navItem_link {
    color: #055bad;
    text-decoration: underline;
}
.sitemap .navVertical .navItem a:hover,
.sitemap .navVertical .navItem a.noLink:hover,
.sitemap .navItem_link:hover {
    text-decoration: none;
}
.sitemap .navVertical .navItem a .sm {
    display: none;
}

/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_slider-horizontal.css
*******************************************************************************************
*******************************************************************************************/

.slideWrap {
	position: relative;
	border-right: solid 10px #c0c0c0;
	border-left: solid 10px #c0c0c0;
}
.slideDeck {
	min-height: 160px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
	.slideDeck .slider {
		position: absolute;
	    top: 0;
	    width: 100%;
	}
	.slideDeck .buttons {
		display: none;
	}
	
.slideWrap .next {
	position: absolute;
	z-index: 2;
	right: -17px;
    top: 50%;
    margin-top: -16px;
	width: 15px;
	height: 32px;
	cursor: pointer;
	display: block;
	border: 1px solid #ccc;
	border-radius: 0 20px 20px 0;
	background: #FFF;
	border-left: none;
}
	.slideWrap .next .arrowRight {
		position: absolute;
		content: '';
		top: 50%;
		left: 50%;
		margin: -5px 0 0 -3px;
		text-indent: -999em;
		height: 0;
		width: 0;
		border-left-color: #ccc;
	}
	.slideWrap .next:hover {
		border-color: #31419A;
		background: #31419A;
	}
	.slideWrap .next:hover .arrowRight {
		border-left-color: #FFF;
	}

.slideWrap .previous {
	position: absolute;
	z-index: 2;
	left: -17px;
	top: 50%;
    margin-top: -16px;
	width: 15px;
	height: 32px;
	cursor: pointer;
	display: block;
	border: 1px solid #ccc;
	border-radius: 20px 0 0 20px;
	background: #FFF;
	border-right: none;
}
	.slideWrap .previous .arrowLeft {
		position: absolute;
		content: '';
		top: 50%;
		right: 50%;
		margin: -5px -3px 0 0;
		text-indent: -999em;
		height: 0;
		width: 0;
		border-right-color: #ccc;
	}
	.slideWrap .previous:hover {
		border-color: #31419A;
		background: #31419A;
	}
	.slideWrap .previous:hover .arrowLeft {
		border-right-color: #FFF;
	}

.slideNav {
	margin-bottom: -18px;
    position: relative;
    top: -8px;
    z-index: 2;
    text-align: center;
}
	
/* these percentages do not work for ie (all versions). need to use pixels instead, and ideally debug this later */	
.slider1 { left: 0; }
.slider2 { left: 100%; }
.slider3 { left: 200%; }
.slider4 { left: 300%; }
.slider5 { left: 400%; }
.slider6 { left: 500%; }
.slider7 { left: 600%; }
.slider8 { left: 700%; }
.slider9 { left: 800%; }
.slider10 { left: 900%; }
.slider11 { left: 1000%; }
.slider12 { left: 1100%; }
.slider13 { left: 1200%; }

/*new slider classes for raz-kids new book slider bug fixes*/
.newSlider1 { left: 0; }
.newSlider2 { left: 1081px; }
.newSlider3 { left: 1081px; }

/*** FOR THE NEW HOMEPAGE. TO EVENTUALLY REPLACE THE REST OF THE SITE SLIDERS ***/
.slideWrap.slideWrap-homepage {
    border: none;
}
.slideWrap.slideWrap-homepage .previous,
.slideWrap.slideWrap-homepage .next {
    color: #C6C6C6;
    border: none;
    font-size: 2rem;
    top: 30%;
    margin-top: -35px;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
}
.slideWrap.slideWrap-homepage .previous {
    left: -45px;
}
.slideWrap.slideWrap-homepage .next {
    right: -40px;
}
.slideWrap.slideWrap-homepage .previous:hover,
.slideWrap.slideWrap-homepage .next:hover {
    border: none;
    background: none;
    color: #666;
}

.slideWrap-homepage .slideDeck {
    margin-left: 90px;
    margin-top: 50px;
    height: 240px;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_slider-vertical.css
*******************************************************************************************
*******************************************************************************************/

.verticalSlider {
	border-top: solid 3px #c0c0c0;
	border-bottom: solid 3px #c0c0c0;
	position: relative;
	padding: 10px 0;
}
.verticalSlideDeck {
	height: 211px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.verticalSlide {
	position: relative;
	top: 0;
	z-index: 1;
}
.verticalSlider .previous {
	top: -25px;
	display: block;
	height: 23px;
	left: 50%;
	margin: 0 0 0 -24px;
	position: absolute;
	text-indent: -999em;
	width: 48px;
	background: #FFF;
	border: 1px solid #CCC;
	border-radius: 30px 30px 0 0;
}
	.verticalSlider .previous:after {
		content: '';
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		margin-left: -6px;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-bottom: 6px solid #ccc; 
	}
	.verticalSlider .previous.inactive-scroll {
		display: none;
	}
.verticalSlider .next {
	bottom: -25px;
	display: block;
	height: 23px;
	left: 50%;
	margin: 0 0 0 -24px;
	position: absolute;
	text-indent: -999em;
	width: 48px;
	background: #FFF;
	border: 1px solid #CCC;
	border-radius: 0 0 30px 30px;
}
	.verticalSlider .next:after {
		content: '';
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		margin-left: -6px;
		margin-top: -5px;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 6px solid #ccc; 
	}
	.verticalSlider .next.inactive-scroll {
		-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
		opacity: 0.5;
		display: none;
	}

.verticalSlider .next:hover,
.verticalSlider .previous:hover {
	background: #eaeaea;
}	
.verticalSlider .previous.inactive-scroll,
.verticalSlider .next.inactive-scroll,
.verticalSlider .next.inactive-scroll:hover {
	cursor: default;
	background: #FFF;
}

/* TODO: move to a different stylesheet */
.alertItem {
	background: url("/shared/images/readytest/bg-alert.png") no-repeat scroll 0 6px;
    box-sizing: border-box;
    font-size: 0.9rem;
    line-height: 1.3;
    margin: 0 2% 0 0;
    padding: 6px 0 6px 26px;
    vertical-align: top;
}
.verticalSlider .alertItem {
    width: 47%;
    display: inline-block;
}

/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_slider.css
*******************************************************************************************
*******************************************************************************************/
.slide-previous {
	position: relative;
	padding: 6px 0 0 11px;
	float: left;
}
	.slide-previous:before {
		content: '';
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-right: 6px solid #000;
		position: absolute;
		top: 9px;
		left: 0;
	}
.slide-next {
	position: relative;
	padding: 6px 11px 0 0;
	float: right;
}
	.slide-next:before {
		content: '';
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 6px solid #000;
		position: absolute;
		top: 9px;
		right: 0;
	}
	.slide-next:after {
		clear: both;
	}
	
.slide-slider {
    line-height: 1.2;
	padding: 10px;
	box-sizing: border-box; 
	position: absolute; 
	top: 0; 
}

.slide-books ul {
	padding: 0;
	list-style: none;
}
.slide-books li {
	padding: 0;
	display: inline;
}

.slide-books .levels {
    float: none;
    position: absolute;
    top: 102px;
	left: 29px;	
}
.slide-books .box-landscape .levels {
	left: 48px;	
}
/*
STEPS
Formatting for step by step processes
Location: /shared/css/modules/_steps.css
TODO: code review
*/

.step {
    margin: 12px 0;
    padding: 0 0 0 38px;
    position: relative;
    z-index: 2; /*Put above the button style. Was causing an issue in assigning assessments*/
}

.stepNumber {
    background: #55c942;
    border-radius: 15px;
    color: #fff;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    height: 30px;
    left: 0;
    line-height: 29px;
    margin: -2px 0 0 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 30px;
    z-index: 1;
}

.stepHeading {
    font-family: "Signika", sans-serif;
    font-size: 1.25rem;
    margin: 0 0 14px 0;
    text-transform: uppercase;
}

.step-square {
    display: inline-block;
    float: left;
    width: 27px;
    height: 27px;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    line-height: 27px;
    background: #73ACE6;
    color: #fff;
}
    .sectionHead2 .step-square {
        position: relative;
        top: -4px;
        left: -11px;
    }
    .box-frameLeft-lg .step-square {
        position: absolute;
        top:0px;
        left:-27px;
    }

.step-sm {
    padding-left: 30px;
}
    .step-sm .stepNumber {
        font-size: 1.2rem;
        height: 25px;
        line-height: 24px;
        width: 25px;
    }
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_svg.css
*******************************************************************************************
*******************************************************************************************/

.svgFallback {
	display: none;
}
.lt-ie9 .svgFallback {
	display: block
}

.logo-kaz {
	fill: #EE7624;
}
/*** TAKEN FROM KIDS-PORTAL _activity-toolbar.css ***/
/*** NEEDS REFACTORING, ALONG WITH STUDENT VERSION ***/

/***********************************************************/
/* standalone toolbar nav (not contained inside a toolbar) */

.nav-toolbar-standalone {
    background: #e0e0e0;
    border: solid 1px #ccc;
    border-radius: 6px;
    box-shadow: none;
    box-sizing: border-box;
    display: inline-block;
    height: 46px;
    margin: 12px 0;
    padding: 4px;
    text-align: left;
}
.nav-toolbar-standalone .nav-item {
    display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

/****************/
/* tool buttons */

/* default blue color */
.tool,
.tool.active /* bootstrap override (bootstrap is used for some elements in the book builder) */ {
    background-color: #2867a2; /* Old browsers */ /* FF3.6-15 */
        background-image: -webkit-radial-gradient(center, ellipse cover,  #1f5e99 25%,#2d74b7 100%); /* Chrome10-25,Safari5.1-6 */
        background-image: -webkit-radial-gradient(center ellipse,  #1f5e99 25%,#2d74b7 100%);
        background-image: radial-gradient(ellipse at center,  #1f5e99 25%,#2d74b7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        -webkit-filter: none;
                filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #3b82c7;
    border-radius: 4px;
    box-sizing: border-box;
    color: #e0e0e0;
    cursor: pointer;
    display: inline-block;
    font-size: 22px;
    height: 36px;
    margin: 0 1px 0 0;
    overflow: hidden;
    padding: 0;
    text-shadow:
       -1px -1px 0 rgba(0,0,0,.8),
       1px 0 0 rgba(0,0,0,.8),
       0 1px 0 rgba(0,0,0,.8),
       0 1px 0 rgba(0,0,0,.8),
       0 0 4px rgba(0,0,0,.8);
    text-align: center;
    vertical-align: top;
    width: 36px;
}
.tool a { /* needed for HTML5 recorder */
    color: #e0e0e0;
}
/* hover, active, open, and disabled tool states */
.tool:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.toolbox-subnav .tool.is-active {
    background-color: #3493cf; /* Old browsers */ /* FF3.6-15 */
    background-image: -webkit-radial-gradient(center, ellipse cover,  #2f8eca 25%,#3dadf6 100%); /* Chrome10-25,Safari5.1-6 */
    background-image: -webkit-radial-gradient(center ellipse,  #2f8eca 25%,#3dadf6 100%);
    background-image: radial-gradient(ellipse at center,  #2f8eca 25%,#3dadf6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-filter: none;
            filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #4ab5fb;
}
.tool.is-active,
.tool.is-open {
    background-color: #d88c19; /* Old browsers */ /* FF3.6-15 */
    background-image: -webkit-radial-gradient(center, ellipse cover,  #d88c19 16%,#ffa01e 100%); /* Chrome10-25,Safari5.1-6 */
    background-image: -webkit-radial-gradient(center ellipse,  #d88c19 16%,#ffa01e 100%);
    background-image: radial-gradient(ellipse at center,  #d88c19 16%,#ffa01e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-filter: none;
            filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 2px #eac100;
    height: 40px;
    left: -2px;
    margin-right: -3px;
    text-shadow:
            0 -1px 0 rgba(255,255,255,.8),
            1px 0 0 rgba(255,255,255,.8),
            -1px 0 0 rgba(255,255,255,.8),
            0 1px 0 rgba(255,255,255,.8),
            0 0 4px rgba(255,255,255,1);
    top: -2px;
    width: 40px;
}
.tool.is-open {
    border-bottom: none;
    border-radius: 5px 5px 0 0;
    height: 45px;
}
.tool.disabled,
.tool.disabled:hover {
    background-position: 0 0;
    cursor: default;
    opacity: .3;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
}

/* purple color */
.tool-alt,
.tool-alt.active /* bootstrap override (bootstrap is used for some elements in the book builder) */ {
    background-color: #7a40ab; /* Old browsers */ /* FF3.6-15 */
        background-image: -webkit-radial-gradient(center, ellipse cover, #7a40ab 25%, #8b61ab 100%); /* Chrome10-25,Safari5.1-6 */
        background-image: -webkit-radial-gradient(center ellipse, #7a40ab 25%, #8b61ab 100%);
        background-image: radial-gradient(ellipse at center, #7a40ab 25%, #8b61ab 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        -webkit-filter: none;
                filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #8b61ab;
}
    .tool-alt:hover:not(.is-active):not(.is-open):not(.disabled):not(.is-disabled) {
        background-color: #9c6bc6; /* Old browsers */ /* FF3.6-15 */
            background-image: -webkit-radial-gradient(center, ellipse cover, #9c6bc6 25%, #c888fc 100%); /* Chrome10-25,Safari5.1-6 */
            background-image: -webkit-radial-gradient(center ellipse, #9c6bc6 25%, #c888fc 100%);
            background-image: radial-gradient(ellipse at center, #9c6bc6 25%, #c888fc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            -webkit-filter: none;
                    filter: none; /* IE6-9 bug fix, disable gradient */
        border: solid 1px #c493e8;
    }

/* green color */
.tool-play {
    background-color: #247c2a; /* Old browsers */ /* FF3.6-15 */
    background-image: -webkit-radial-gradient(center, ellipse cover, #247c2a 25%, #3f8e3e 100%); /* Chrome10-25,Safari5.1-6 */
    background-image: -webkit-radial-gradient(circle, #247c2a, #3f8e3e);
    background-image: radial-gradient(circle, #247c2a, #3f8e3e); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-filter: none;
            filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #3f8e3e;
}
.tool-play:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover {
    background-color: #46ab4c; /* Old browsers */ /* FF3.6-15 */
    background-image: -webkit-radial-gradient(center, ellipse cover, #46ab4c 25%, #5fca66 100%); /* Chrome10-25,Safari5.1-6 */
    background-image: -webkit-radial-gradient(circle, #46ab4c, #5fca66);
    background-image: radial-gradient(circle, #46ab4c, #5fca66); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-filter: none;
            filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #5fca66;
}

/* red color */
.tool-pause,
.tool-stop,
.tool-record {
     background-color: #a21e1e; /* Old browsers */ /* FF3.6-15 */
     background-image: -webkit-radial-gradient(center, ellipse cover, #a21e1e 25%, #b73a3b 100%); /* Chrome10-25,Safari5.1-6 */
     background-image: -webkit-radial-gradient(circle, #a21e1e, #b73a3b);
     background-image: radial-gradient(circle, #a21e1e, #b73a3b); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
     -webkit-filter: none;
             filter: none; /* IE6-9 bug fix, disable gradient */
     border: solid 1px #b73a3b;
}
.tool-pause:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.tool-stop:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.tool-record:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover {
    background-color: #d43e3f; /* Old browsers */ /* FF3.6-15 */
    background-image: -webkit-radial-gradient(center, ellipse cover, #bc3738 25%, #e77c7d 100%); /* Chrome10-25,Safari5.1-6 */
    background-image: -webkit-radial-gradient(circle, #bc3738, #e77c7d);
    background-image: radial-gradient(circle, #bc3738, #e77c7d); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-filter: none;
            filter: none; /* IE6-9 bug fix, disable gradient */
    border: solid 1px #db6a6c;
}

/* the icons inside the tools */
.tool .icon {
    color: #e0e0e0;
    line-height: 34px;
    margin: 0;
}
    .tool:hover:not(.is-active):not(.is-open):not(.is-disabled) > .icon {
        color: #fff;
    }
    .is-active > .icon,
    .is-open > .icon {
        color: #111;
    }

/* ----------------------------------------------------------------------- */
/* --------- STYLES SPECIFIC TO AUDIO PLAYER (used in in basket) --------- */
/* ----------------------------------------------------------------------- */

/* special positioning of tools for HTML5 recorder */
.audioPlayer .nav-item {
    position: relative;
    width: 36px;
}
.audioPlayer .tool-play,
.audioPlayer .tool-pause {
    left: 0;
    position: absolute;
    top: 0;
}

/* positioning recorder elements (audio feedback and playback slider) */
.recorderElements {
    background: #fff;
    border-radius: 5px;
    display: inline-block;
    height: 26px;
    padding: 5px;
    width: 160px;
}
.recorderElements .timer {
    color: #111;
    float: left;
    line-height: 26px;
    margin-right: 7px;
    text-align: right;
    vertical-align: middle;
    width: 40px;
}

.recorderElements .playback_slider_axis {
    float: left;
    height: 100%;
    position: relative;
    vertical-align: middle;
    width: 100px;
}
    .recorderElements .playback_slider_background {
        height: 100%;
    }
    .recorderElements .playback_slider_background::before {
        background: #222;
        content: " ";
        display: block;
        height: 3px;
        margin-top: -2px;
        position: absolute;
        top: 50%;
        width: 100%;
    }
    .recorderElements .playback_slider_handle {
        background-color: #222;
        height: 78%;
        position: absolute;
        top: 11%;
        width: 7px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

/* temporary styles for teacher messaging, will fix after release */
.classMessage .nav-toolbar-standalone {
    background: none;
    border: none;
    height: auto;
    position: relative;
}

.classMessage .recorderElements {
    margin-top: 10px;
    padding-left: 0;
}

.classMessage .recorderElements .timer {
    width: auto;
}

.classMessage ul {
    padding: 0;
}

.classMessage .tool-pausePlay,
.classMessage .tool-pauseRecord,
.classMessage .tool-stopPlay,
.classMessage .tool-stopRecord,
.classMessage .tool-pauseRecord {
    left: 0;
    position: absolute;
    top: 0;
}

.classMessage .tool-stopRecord,
.classMessage .tool-stopPlay {
    left: 40px;
    background-color: #247c2a;
    border: solid 1px #3f8e3e;
}

.classMessage .tool-stopPlay {
    background-color: #247c2a;
    background-image: -webkit-radial-gradient(center, ellipse cover, #247c2a 25%, #3f8e3e 100%);
    background-image: -webkit-radial-gradient(circle, #247c2a, #3f8e3e);
    background-image: radial-gradient(circle, #247c2a, #3f8e3e);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #3f8e3e;
}

.classMessage .tool-stopPlay:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover {
    background-color: #46ab4c;
    background-image: -webkit-radial-gradient(center, ellipse cover, #46ab4c 25%, #5fca66 100%);
    background-image: -webkit-radial-gradient(circle, #46ab4c, #5fca66);
    background-image: radial-gradient(circle, #46ab4c, #5fca66);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #5fca66;
}

.classMessage .tool-play:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.classMessage .tool-pausePlay:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.classMessage .tool-stopPlay:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover {
    background-color: #46ab4c;
    background-image: -webkit-radial-gradient(center, ellipse cover, #46ab4c 25%, #5fca66 100%);
    background-image: -webkit-radial-gradient(circle, #46ab4c, #5fca66);
    background-image: radial-gradient(circle, #46ab4c, #5fca66);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #5fca66;
}

.classMessage .tool-stopRecord,
.classMessage .tool-pauseRecord{
    background-color: #a21e1e;
    background-image: -webkit-radial-gradient(center, ellipse cover, #a21e1e 25%, #b73a3b 100%);
    background-image: -webkit-radial-gradient(circle, #a21e1e, #b73a3b);
    background-image: radial-gradient(circle, #a21e1e, #b73a3b);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #b73a3b;
}

.classMessage .tool-pausePlay {
    background-color: #247c2a;
    background-image: -webkit-radial-gradient(center, ellipse cover, #247c2a 25%, #3f8e3e 100%);
    background-image: -webkit-radial-gradient(circle, #247c2a, #3f8e3e);
    background-image: radial-gradient(circle, #247c2a, #3f8e3e);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #3f8e3e;
}

.classMessage .tool-record:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.classMessage .tool-pause:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.classMessage .tool-pauseRecord:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover,
.classMessage .tool-stopRecord:not(.disabled):not(.is-disabled):not(.is-active):not(.is-open):hover {
    background-color: #d43e3f;
    background-image: -webkit-radial-gradient(center, ellipse cover, #bc3738 25%, #e77c7d 100%);
    background-image: -webkit-radial-gradient(circle, #bc3738, #e77c7d);
    background-image: radial-gradient(circle, #bc3738, #e77c7d);
    -webkit-filter: none;
    filter: none;
    border: solid 1px #db6a6c;
}

.classMessage .tool-pausePlay {
    left: 82px;
}

.classMessage .playback_slider_handle {
    background-color: #2867a2;
}
.classMessage .recorderElements .playback_slider_background::before {
    background-color: #2867a2;
}

.microphone_swf {
    position: absolute;
    z-index: 999;
}
/*
TOOLTIP
Popup with short helpful messages. Messages that contain more than a short sentence should not use a tooltip.
Location: /shared/css/modules/_tooltip.css
*/

/* ------------------
---------------------
ANGULAR COMPONENT
---------------------
------------------ */

tooltip {
    background-color: #2a2a2a;
    color: #fff;
    display: block;
    font-size: .9rem;
    font-weight: normal;
    line-height: 1.2rem;
    opacity: 0;
    padding: 5px 7px;
    position: absolute;
    text-align: left;
    text-transform: none;
    white-space: nowrap;
    z-index: 6000;
}
    tooltip.is-active {
        opacity: 1; /* prevent flickering while tooltip is getting positioned */
    }

tooltip::after { /* the arrow */
    border-bottom: none;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #2a2a2a;
    bottom: -7px;
    content: "";
    left: 8px;
    position: absolute;
    z-index: 6000;
}


/* ------------------------
---------------------------
CSS-ONLY IMPLEMENTATION
---------------------------
------------------------ */

.tooltip {
    display: inline-block;
    position: relative;
}

.tooltip_message {
    background-color: #2a2a2a;
    color: #fff;
    font-size: .9rem;
    font-weight: normal;
    left: -999em;
    line-height: 1.2rem;
    padding: 5px 7px;
    position: absolute;
    text-align: left;
    text-transform: none;
    top: 0;
    z-index: 6000;
}
    .tooltip:hover .tooltip_message {
        left: 100px;
        -webkit-transition: left 0s .2s;
        transition: left 0s .2s;
    }

.tooltip::after {
    content: "";
    left: -999em;
    position: absolute;
    -webkit-transition: left 0s .2s;
    transition: left 0s .2s;
    z-index: 6000;
}

/* -----------------
tooltip positioning
----------------- */

/* top */

.tooltip-top .tooltip_message  {
    bottom: calc(100% + 13px);
    top: auto;
}
    .tooltip-top:hover .tooltip_message {
        left: 20%;
    }
    .tooltip-top.tooltip-icon:hover .tooltip_message {
        left: -8px;
    }
.tooltip-top:hover::after {
    border-bottom: none;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #2a2a2a;
    bottom: calc(100% + 5px);
    left: 50%;
    margin-left: -9px;
    top: auto;
}

/* bottom */

.tooltip-bottom .tooltip_message {
    bottom: auto;
    top: calc(100% + 13px);
}
    .tooltip-bottom:hover .tooltip_message {
        left: 20%;
    }
    .tooltip-bottom.tooltip-icon:hover .tooltip_message {
        left: -8px;
    }

.tooltip-bottom:hover::after {
    border-bottom: 8px solid #2a2a2a;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    bottom: auto;
    left: 50%;
    margin-left: -9px;
    top: calc(100% + 5px);
}

/* right */

.tooltip-right:hover .tooltip_message  {
    left: calc(100% + 13px);
}

.tooltip-right:hover::after {
    border-right: 8px solid #2a2a2a;
    border-bottom: 8px solid transparent;
    border-top: 8px solid transparent;
    left: calc(100% + 5px);
    top: 5px;
}
.tooltip-right.tooltip-icon::after {
    top: 2px;
}

/* ----------------
SPECIFIC USAGES
---------------- */

/* bug fix: using left values to show/hide elements interferes with drag and drop */
.FC_folder .tooltip_message {
    display: none;
}
    .FC_folder .tooltip:hover .tooltip_message {
        display: block;
    }
.FC_folder .tooltip::after {
    display: none;
}
    .tooltip:hover::after {
        display: block;
    }

/*
TUTORIAL

Location: /shared/css/modules/_tutorial.css


*/

.tutorial {

}
.tutorial_target {
    display: inline-block;
    position: absolute;
    z-index: 5002;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 10px solid rgba(255,255,255,1);
}
.tutorial_content {
    background: #FFF;
    border-radius: 3px;
    box-shadow: 1px 1px 10px 0px rgba(0,0,0,0.15);
    color: #222;
    font-size: 1rem;
    width: 250px;
    padding: 12px;
    position: absolute;
    text-align: left;
    z-index: 5001;
}
/*******************************************************************************************
*******************************************************************************************
/shared/css/modules/_ui-dialog.css
*******************************************************************************************
*******************************************************************************************/

.dialogSwitch {
	color: #222;
}	
.ui-dialog {
	background: #fff;
	border: solid 3px #0b3b83;
	border-radius: 10px;
	padding: 16px;
	z-index: 99999;
}
.ui-dialog:before {
	border-bottom: 20px solid transparent;
	border-right: 20px solid #0b3b83;
	border-top: 20px solid transparent;
	content: "";
	position: absolute;
	z-index: 1;
	left: -20px;
	margin-top: -20px;
	top: 50%;
}
	.ui-dialog-alignBottom:before {
		border-bottom: 20px solid #0b3b83;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid transparent;
		left: 50%;
		margin: 0;
		margin-left: -20px;
		top: -40px;
	}
.ui-dialog-bg {
	background: #efefef;
}
.ui-dialog-bg .box-bg {
	background: #fff;
}
.ui-dialog-bg .hr {
	border-color: #d7d7d7;
}

.ui-dialog .ui-dialog-titlebar {
	background: none;
	border: 0;
	color: #FFF;
	padding: 0;
}
	.ui-dialog .ui-dialog-title {
		margin: 0 0 12px 0;
		color: #222;
		font-size: 17px;
	}
	.ui-dialog .ui-dialog-titlebar-close {
		margin-top: -23px;
		margin-right: -11px;
	}
	
.ui-dialog .ui-dialog-content {
	padding: 0;
}

.ui-dialog .ui-dialog-buttonpane {
	background: none;
	border: none;
	margin: 12px 0 0 0;
	padding: 0;
}
	.ui-dialog .ui-dialog-buttonpane button {
		margin: 0 0 0 5px;
	}
	.ui-dialog .ui-dialog-buttonpane .ui-button-text {
		padding: 0;
	}
	
/* left aligned */
.ui-dialog.dialog-left:after {
	border-bottom: 20px solid transparent;
	border-left: 20px solid #0b3b83;
	border-top: 20px solid transparent;
	content: "";
	position: absolute;
	z-index: 1;
	left: auto;
	right: -20px;
	top: 50%;
	margin-top: -20px;
}
.ui-dialog.dialog-left:before {
	border: none;
	right: auto;
}

/* bottom aligned */
.ui-dialog.dialog-bottom:before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 50%;
	top: -20px;
	margin-left: -20px;
	margin-top: -20px;
	border-bottom: 20px solid #0b3b83;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid transparent;
}
	
.walkme-player,
 .walkme-launcher-id-66603 {
     display: none !important;
 }
.walkme-menu.walkme-penguin .walkme-icon-font.walkme-menu-click-close {
    font-size: 27px !important;
}
.walkme-menu.walkme-penguin .walkme-minimize.walkme-menu-click-close {
    height: 27px !important;
    width: 27px !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9hY2NvcmRpb24uY3NzIiwiX2FjdGlvbi1mbGFnLmNzcyIsIl9hY3Rpb25zLWJveC5jc3MiLCJfYWN0aXZpdHktaWNvbnMuY3NzIiwiX2FuaW1hdGlvbnMuY3NzIiwiX2Fubm91bmNlbWVudC5jc3MiLCJfYXJyb3dzLmNzcyIsIl9hc3NpZ24uY3NzIiwiX2Fzc2lnbm1lbnQuY3NzIiwiX2Jhbm5lcnMuY3NzIiwiX2Jvb2stcG9wb3V0LmNzcyIsIl9ib29rcy5jc3MiLCJfYnJlYWRjcnVtYi5jc3MiLCJfY2FsZW5kYXIuY3NzIiwiX2NhbGxvdXQxLmNzcyIsIl9jYWxsb3V0Mi5jc3MiLCJfY2xvc2VCdG4uY3NzIiwiX2NvbW1vbmNvcmUuY3NzIiwiX2RhdGVwaWNrZXItanF1ZXJ5VUkuY3NzIiwiX2RhdGVwaWNrZXItbGVnYWN5LmNzcyIsIl9kcmFnQW5kRHJvcC5jc3MiLCJfZmlsZS1jYWJpbmV0LmNzcyIsIl9maWxlQ2FiaW5ldFJpYmJvbi5jc3MiLCJfZmlsdGVycy5jc3MiLCJfZ3JvdXBGaWx0ZXIuY3NzIiwiX2hlYWRpbmdCYW5uZXIuY3NzIiwiX2hlcm8tc2xpZGVyLmNzcyIsIl9oZXJvLmNzcyIsIl9pbWFnZS1zbGlkZXIuY3NzIiwiX2luY2VudGl2ZXMuY3NzIiwiX2tpZHNMb2dpbi5jc3MiLCJfbGFuZGluZ1BhZ2VOYXYuY3NzIiwiX2xlYWRlcmJvYXJkLmNzcyIsIl9sZXZlbC1iYXItbGVnYWN5LmNzcyIsIl9sZXZlbC1iYXItcG9wb3V0LmNzcyIsIl9sZXZlbC1iYXIuY3NzIiwiX2xpZ2h0d2luZG93LmNzcyIsIl9saXN0U3R1ZGVudHMuY3NzIiwiX2xvYWRlci5jc3MiLCJfbG9naW4uY3NzIiwiX21haW5idXR0b25zLmNzcyIsIl9tZW1iZXItaG9tZXBhZ2UtbGVnYWN5LmNzcyIsIl9tZW1iZXItaG9tZXBhZ2UuY3NzIiwiX21lc3NhZ2UtYm94LmNzcyIsIl9tZXNzYWdlUmVwb3J0ZXIuY3NzIiwiX21pbmlib29rLmNzcyIsIl9tb2RhbC5jc3MiLCJfbmF2LWJ1dHRvbnMuY3NzIiwiX25hdi1ob3Jpem9udGFsLmNzcyIsIl9uYXYtbWFpbi1zZWNvbmRhcnkuY3NzIiwiX25hdi1wb3BvdXRDb250ZW50LmNzcyIsIl9uYXYtc3RlcHMuY3NzIiwiX25hdi10YWJiZWQuY3NzIiwiX25hdi12ZXJ0aWNhbC5jc3MiLCJfbm9ubWVtYmVyLWhvbWVwYWdlLmNzcyIsIl9vbkJvYXJkaW5nLmNzcyIsIl9vdmVybGF5LmNzcyIsIl9wYWdpbmctbGVnYWN5LmNzcyIsIl9wYWdpbmcuY3NzIiwiX3BvcG91dHMuY3NzIiwiX3BvcG92ZXItZHJvcGRvd24uY3NzIiwiX3BvcG92ZXItbWVudS5jc3MiLCJfcG9wb3Zlci1zZWxlY3Rvci5jc3MiLCJfcG9wb3Zlci5jc3MiLCJfcHJvZHVjdFRhYnMuY3NzIiwiX3Byb2ZpbGUuY3NzIiwiX3JlcG9ydEljb25zLmNzcyIsIl9yZXNvdXJjZUNvcnJlbGF0aW9ucy5jc3MiLCJfcmVzb3VyY2VMaXN0LmNzcyIsIl9zY3JvbGxUb1RvcC5jc3MiLCJfc2VhcmNoLmNzcyIsIl9zZWFyY2hCYXIuY3NzIiwiX3NlY3Rpb25IZWFkUG9wb3V0LmNzcyIsIl9zaG91dC1vdXRzLmNzcyIsIl9zaXRlbWFwLmNzcyIsIl9zbGlkZXItaG9yaXpvbnRhbC5jc3MiLCJfc2xpZGVyLXZlcnRpY2FsLmNzcyIsIl9zbGlkZXIuY3NzIiwiX3N0ZXBzLmNzcyIsIl9zdmcuY3NzIiwiX3Rvb2xiYXIuY3NzIiwiX3Rvb2x0aXAuY3NzIiwiX3R1dG9yaWFsLmNzcyIsIl91aS1kaWFsb2cuY3NzIiwiX3dhbGttZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEZBSTRGOztBQUU1RjtDQUNDLGVBQWU7Q0FDZixXQUFXO0NBQ1gsVUFBVTtDQUNWLGlCQUFpQjtDQUNqQjtBQUNEO0NBQ0Msa0JBQWtCO0NBQ2xCO0NBQ0E7RUFDQyxnQkFBZ0I7RUFDaEI7QUFDRjtDQUNDLG9CQUFvQjtDQUNwQixlQUFlO0NBQ2YsMEJBQTBCO0NBQzFC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QUNWLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsV0FBVztFQUNYO0FBQ0Y7Q0FDQyxvQkFBb0I7Q0FDcEI7QUFDRDtDQUNDLGlCQUFpQjtDQUNqQjtBQUNEO0NBQ0Msc0JBQXNCO0NBQ3RCOztBQUVEO0NBQ0MsaUJBQWlCO0NBQ2pCLFVBQVU7Q0FDVixZQUFZO0NBQ1osV0FBVztDQUNYO0NBQ0E7RUFDQyxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQjtDQUNEO0VBQ0Msa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQjs7QUFFRjtDQUNDLFdBQVc7Q0FDWDs7QUFFRDtDQUNDLGlCQUFpQjtDQUNqQixhQUFhO0NBQ2IsbUJBQW1CO0NBQ25CLFdBQVc7Q0FDWDtDQUNBO0VBQ0Msa0JBQWtCO0VBQ2xCO0NBQ0Q7RUFDQyxXQUFXO0VBQ1g7O0FBRUYsa0JBQWtCO0FBQ2xCO0NBQ0Msc0NBQXNDO0NBQ3RDLGdDQUFnQztDQUNoQyxtQ0FBbUM7Q0FDbkMsWUFBWTtDQUNaLG1CQUFtQjtDQUNuQixXQUFXO0NBQ1gsV0FBVztDQUNYLGFBQWE7Q0FDYixTQUFTO0NBQ1Qsa0JBQWtCO0NBQ2xCO0FBQ0Q7Q0FDQyxhQUFhO0NBQ2IsWUFBWTtDQUNaOztBQUVELG9CQUFvQjtBQUNwQjtDQUNDLFlBQVk7Q0FDWixtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLFVBQVU7Q0FDVixXQUFXO0NBQ1gsbUJBQW1CO0NBQ25CLGtCQUFrQjtDQUNsQixrQ0FBa0M7Q0FDbEMsb0NBQW9DO0NBQ3BDLHFDQUFxQztDQUNyQyxtQ0FBbUM7Q0FDbkM7O0FDL0dEOztLQUVLLHlCQUF5QjtFQUM1QjtBQUNGO0lBQ0ksMkJBQTJCO0NBQzlCO0FBQ0Q7SUFDSSx3QkFBd0I7SUFDeEIsdUJBQXVCO0NBQzFCIiwiZmlsZSI6InN0eWxlczIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19hY2NvcmRpb24uY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5hY2NvcmRpb24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuLmFjY29yZGlvbiAuaXRlbSB7XHJcblx0bWFyZ2luOiAwIDAgMXB4IDA7XHJcbn1cclxuXHQuYWNjb3JkaW9uIC5pdGVtOmhvdmVyIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbi5hY2NvcmRpb24gLmFjY29yZGlvbkxpbmsge1xyXG5cdGJhY2tncm91bmQ6ICNlMGUwZTA7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogNnB4IDZweCA2cHggMThweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHQuYWNjb3JkaW9uIC5hY2NvcmRpb25MaW5rOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICNjY2M7XHJcblx0fVxyXG4uYWNjb3JkaW9uIC5hY2NvcmRpb25Db250ZW50IHtcclxuXHRib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xyXG5cdGJvcmRlci10b3A6IG5vbmU7XHJcblx0cGFkZGluZzogMXB4IDE4cHg7XHJcbn1cclxuLmFjY29yZGlvbiAuYXJyb3cge1xyXG5cdGJvcmRlcjogc29saWQgNXB4IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1sZWZ0OiBzb2xpZCA1cHggIzMzMztcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luOiAtMXB4IDAgMCAycHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cdC5hY2NvcmRpb24gLmFjdGl2ZSAuYXJyb3cge1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCA1cHggdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItdG9wOiBzb2xpZCA1cHggIzMzMztcclxuXHRcdG1hcmdpbjogMXB4IDNweCAwIC0xcHg7XHJcblx0fVxyXG4uYWNjb3JkaW9uIC5hcnJvdy13aGl0ZSB7XHJcblx0Ym9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHQuYWNjb3JkaW9uIC5hY3RpdmUgLmFycm93LXdoaXRlIHtcclxuXHRcdGJvcmRlci10b3AtY29sb3I6ICNmZmY7XHJcblx0fVxyXG4iLCIvKlxyXG5BQ1RJT04gSUNPTlNcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2FjdGlvbi1mbGFnLmNzc1xyXG4qL1xyXG5cclxuLmFjdGlvbnNJY29uOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uYWN0aW9uc0ljb24gLmljb24ge1xyXG4gICAgY29sb3I6ICMwNTViYWQ7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcclxufVxyXG4gICAgLmFjdGlvbnNJY29uOmhvdmVyIC5pY29uOm5vdCguaXMtZGlzYWJsZWQpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcblxyXG4vKlxyXG5zcGVjaWZpYyB1c2FnZXNcclxuKi9cclxuXHJcbi5ib29rLWxhbmRzY2FwZSAuYWN0aW9uc0ljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgdG9wOiA3MHB4O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuLmJvb2stcG9ydHJhaXQgLmFjdGlvbnNJY29uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMTBweDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uYXNzaWdubWVudC1jdXN0b20gLmFjdGlvbnNJY29uIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogLTZweDtcclxuICAgIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG4gICAgLmFzc2lnbm1lbnQtY3VzdG9tIC5hY3Rpb25zSWNvbiAuaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICB9XHJcblxyXG4uRkNfZm9sZGVyIC5hY3Rpb25zSWNvbiB7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxNDBweDtcclxuICAgIHRvcDogMzZweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcbi5GQ19yZXNvdXJjZXMgLmFjdGlvbnNJY29uIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHJpZ2h0OiAtNnB4O1xyXG4gICAgdG9wOiAtM3B4O1xyXG4gICAgd2lkdGg6IDYlO1xyXG59XHJcblxyXG4uYWN0aW9uQmFyIC5hY3Rpb25zSWNvbiA+IC5pY29uIHtcclxuICAgIGNvbG9yOiAjN0REMkZFO1xyXG59XHJcbiAgICAuYWN0aW9uQmFyIC5hY3Rpb25zSWNvbjpob3ZlciA+IC5pY29uIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbi8qXHJcbmFjdGlvbiBmbGFnIHRoYXQgYXBwZWFycyB3aGVuIGhvdmluZyBvdmVyIGFjdGlvbiBpY29uc1xyXG4qL1xyXG5cclxudGQuYWN0aW9ucyxcclxudGguYWN0aW9ucyB7XHJcblx0cGFkZGluZy1sZWZ0OiAzcHggIWltcG9ydGFudDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAzcHggIWltcG9ydGFudDtcclxufVxyXG4uYWN0aW9ucyB7XHJcblx0d2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5hY3Rpb25GbGFnIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDE5cHg7XHJcbn1cclxuICAgIC5hY3Rpb25GbGFnLWlubGluZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmFjdGlvbkZsYWcgLmljb24ge1xyXG5cdCAgICBjb2xvcjogIzAwNDk4ZjtcclxuXHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdCAgICBsaW5lLWhlaWdodDogMTlweDtcclxuXHQgICAgcGFkZGluZzogMXB4IDA7XHJcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdCAgICB6LWluZGV4OiAyO1xyXG5cdH1cclxuXHQuYWN0aW9uRmxhZyAuYWN0aW9uRmxhZ0JnIHtcclxuXHQgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjZDNlZGZmO1xyXG5cdCAgICBib3JkZXI6IDFweCBzb2xpZCAjYTRjNWRjO1xyXG5cdCAgICBjb2xvcjogIzAwNDk4ZjtcclxuXHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdCAgICBmb250LXNpemU6IDExcHg7XHJcblx0ICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG5cdCAgICBwYWRkaW5nOiAwIDIycHggMCA0cHg7XHJcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgICAgbGVmdDogLTk5OWVtO1xyXG5cdCAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHQgICAgdG9wOiAtMXB4O1xyXG5cdCAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0fVxyXG4gICAgICAgIC5hY3Rpb25GbGFnOmhvdmVyIC5hY3Rpb25GbGFnQmcge1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGlvbkZsYWc6aG92ZXIgLmFjdGlvbkZsYWdCZy5hY3Rpb25GbGFnQmctcmlnaHQge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMCA0cHggMCAyMnB4O1xyXG4gICAgICAgIH1cclxuXHRcclxuICAgIC5hY3Rpb25GbGFnLXByb2Nlc3Npbmcge1xyXG4gICAgfVxyXG4gICAgICAgIC5hY3Rpb25GbGFnLXByb2Nlc3NpbmcgLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2MwOTg1MztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGlvbkZsYWctcHJvY2Vzc2luZyAuYWN0aW9uRmxhZ0JnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjZmNmOGUzO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJlZWQ1O1xyXG4gICAgICAgICAgICBjb2xvcjogI2MwOTg1MztcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuLmFjdGlvbi1sb2FkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgbGVmdDogLTI4cHg7XHJcbiAgICBwYWRkaW5nOiAycHggMCAwIDE5cHg7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuXHJcbiIsIi8qXHJcbkFDVElPTlMgQk9YXHJcbkJhciB0aGF0IGFwcGVhcnMgd2l0aCB2YXJpb3VzIGFjdGlvbiBpY29ucyB3aGVuIGEgc3R1ZGVudCBpcyBjaGVja2VkXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19hY3Rpb25zLWJveC5jc3NcclxuVE9ETzogQ29kZSBSZXZpZXdcclxuKi9cclxuXHJcbi5hY3Rpb25CYXIgdGgge1xyXG4gICAgcGFkZGluZy10b3A6IDE5cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcclxufVxyXG4gICAgLmFjdGlvbkJhci5pcy1hY3RpdmUgdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyNTViOTIgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICMwYjNiODM7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbi8qIHN0eWxlIG92ZXJyaWRlcyAodWdoKSAqL1xyXG4uYWN0aW9uQmFyIGJ1dHRvbjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWN0aW9uQmFyX3Vuc2VsZWN0QWxsIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcbi5hY3Rpb25CYXJfYnRuIHtcclxuICAgIGNvbG9yOiAjQjRFNUZGO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcclxufVxyXG4gICAgLmFjdGlvbkJhcl9idG46bm90KC5pcy1kaXNhYmxlZCk6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb25CYXJfYnRuIC5pY29uQmcsXHJcbiAgICAuYWN0aW9uQmFyX2J0biAuaWNvbkJnOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjNUJDM0ZGO1xyXG4gICAgfVxyXG4vKlxyXG4uYWN0aW9uQmFyX2J0biB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNUJDM0ZGO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcclxufVxyXG4gICAgLmFjdGlvbkJhcl9idG46bm90KC5pcy1kaXNhYmxlZCk6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgIH1cclxuKi9cclxuLyogTEVHQUNZIFZFUlNJT04sIFJFTU9WRSBPTkNFIENPTkZJUk1FRCBVTkVDRVNTQVJZICovXHJcbi5hY3Rpb25zQm94IHtcclxuICAgIGJhY2tncm91bmQ6ICMyNTViOTI7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcGFkZGluZzogMTRweCAxMnB4IDE1cHggNnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyLCB0b3AgMC4ycyBsaW5lYXI7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcbiAgICAuYWN0aW9uc0JveC5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsXHJcbiAgICAuYWN0aW9uc0JveC5uZy1sZWF2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIC5hY3Rpb25zQm94Lm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSxcclxuICAgIC5hY3Rpb25zQm94Lm5nLWVudGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyLCB0b3AgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAuYWN0aW9uc0JveDphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbiAgICAuYWN0aW9uc0JveC5zdGlja3kge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogOTQ0cHg7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDcycHg7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICB9XHJcblxyXG4vKiBhY3Rpb24gYnV0dG9ucyAqL1xyXG4uYWN0aW9uc0JveF9idG4ge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAwIDVweCAwIDE1cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG4gICAgLmFjdGlvbnNCb3hfYnRuID4gLmljb24ge1xyXG4gICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhvdmVyIFN0YXRlICovXHJcbiAgICAuYWN0aW9uc0JveF9idG46aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLmFjdGlvbnNCb3hfYnRuOmhvdmVyID4gLmljb24ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQWN0aXZlIFN0YXRlICovXHJcbiAgICAvKi5hY3RpdmUgLmFjdGlvbnNCb3hfYnRuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NCw4OCwxNDQsMSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNGRkY7XHJcbiAgICB9XHJcbiAgICAuYWN0aXZlIC5hY3Rpb25zQm94X2J0biA+IC5pY29uIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgyNTQsODgsMTQ0LDEpO1xyXG4gICAgfSovXHJcblxyXG4gICAgLmFjdGlvbnNCb3hfYnRuLWludmVyc2Uge1xyXG4gICAgICAgIGNvbG9yOiAjMjU1YjkyO1xyXG4gICAgfVxyXG4gICAgICAgIC5hY3Rpb25zQm94X2J0bi1pbnZlcnNlID4gLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogIzI1NWI5MjtcclxuICAgICAgICB9XHJcblxyXG4iLCIvKlxyXG5BQ1RJVklUWSBJQ09OU1xyXG5cclxuTG9jYXRpb246IHNoYXJlZC9jc3MvbW9kdWxlcy9fYWN0aXZpdHktaWNvbnMuY3NzXHJcblJlYWQsIExpc3RlbiwgUXVpeiBpY29ucyBmb3IgdGVhY2hlci1mYWNpbmcgc2l0ZXNcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4uYWN0aXZpdHlJY29ucyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hY3Rpdml0eUljb25zX2ljb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzBjNWZiMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBtYXJnaW46IDNweCAycHggMCAycHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbn1cclxuICAgIC5hY3Rpdml0eUljb25zX2ljb24uaXMtY29tcGxldGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwNThkMzg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5hY3Rpdml0eUljb25zX2ljb24gLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDAgcmdiYSgwLDAsMCwgMC4zKTtcclxuICAgIH1cclxuICAgICAgICAuYWN0aXZpdHlJY29uc19pY29uIC5pY29uLXJlYWRDIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4iLCIvKlxyXG5BTklNQVRJT05TXHJcblxyXG5Mb2NhdGlvbjogX2FuaW1hdGlvbnMuY3NzXHJcbmFuaW1hdGlvbnMgZm9yIGFuZ3VsYXIgY29tcG9uZW50c1xyXG5cclxuVE9ETzogY29kZSByZXZpZXdcclxuKi9cclxuLyouc2xpZGVJblRvcCAubmctZW50ZXIsXHJcbi5zbGlkZUluVG9wIC5uZy1sZWF2ZSxcclxuLnNsaWRlSW5Ub3AubmctZW50ZXIsXHJcbi5zbGlkZUluVG9wLm5nLWxlYXZlIHtcclxuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAuNnM7XHJcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAuNnM7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNnM7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbn1cclxuLnNsaWRlSW5Ub3AsXHJcbi5zbGlkZUluVG9wIC5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsXHJcbi5zbGlkZUluVG9wIC5uZy1sZWF2ZSxcclxuLnNsaWRlSW5Ub3AubmctZW50ZXIubmctZW50ZXItYWN0aXZlLFxyXG4uc2xpZGVJblRvcC5uZy1sZWF2ZXtcclxuICAgIG1heC1oZWlnaHQ6IDEwMGVtO1xyXG59XHJcbi5zbGlkZUluVG9wIC5uZy1oaWRlLFxyXG4uc2xpZGVJblRvcCAubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLFxyXG4uc2xpZGVJblRvcCAubmctZW50ZXIsXHJcblxyXG4uc2xpZGVJblRvcC5uZy1oaWRlLFxyXG4uc2xpZGVJblRvcC5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsXHJcbi5zbGlkZUluVG9wLm5nLWVudGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAuNnM7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC42cztcclxuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IC42cztcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC42cztcclxuICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XHJcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XHJcbn0qL1xyXG5cclxuXHJcbi5mYWRlSW4ubmctZW50ZXIsXHJcbi5mYWRlSW4ubmctbGVhdmUge1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDtcclxufVxyXG4uZmFkZUluLFxyXG4uZmFkZUluLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSxcclxuLmZhZGVJbi5uZy1sZWF2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi5mYWRlSW4ubmctaGlkZSxcclxuLmZhZGVJbi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsXHJcbi5mYWRlSW4ubmctZW50ZXIge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLyoubW92ZS5uZy1lbnRlcixcclxuLm1vdmUubmctbGVhdmVcclxue1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiA0MDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKSBhbGw7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IDQwMDBtcyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuMjUwLCAwLjc1MCwgMC43NTApIGFsbDtcclxuICAgIC1tcy10cmFuc2l0aW9uOiA0MDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKSBhbGw7XHJcbiAgICAtby10cmFuc2l0aW9uOiA0MDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKSBhbGw7XHJcbiAgICB0cmFuc2l0aW9uOiA0MDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKSBhbGw7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5tb3ZlLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSxcclxuLm1vdmUubmctbGVhdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLm1vdmUubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLFxyXG4ubW92ZS5uZy1lbnRlciB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdG9wOiAtNTBweDtcclxufSovXHJcblxyXG4vKiBUT0RPOiBuZWVkIHRoaXMgdG8gb25seSBhcHBseSB3aGVuIGZvbGRlcnMgYXJlIGNyZWF0ZWQgb3IgZGVsZXRlZCwgbm90IHdoZW4gc3dpdGNoaW5nIHZpZXcgYmV0d2VlbiBmb2xkZXJzICovXHJcbi8qXHJcbi5GQ19mb2xkZXIubmctZW50ZXIsXHJcbi5GQ19mb2xkZXIubmctbGVhdmUge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuICAgIC5GQ19mb2xkZXIubmctZW50ZXIubmctZW50ZXItYWN0aXZlLFxyXG4gICAgLkZDX2ZvbGRlci5uZy1sZWF2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIC5GQ19mb2xkZXIubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLFxyXG4gICAgLkZDX2ZvbGRlci5uZy1lbnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuKi9cclxuIiwiLypcclxuQU5OT1VOQ0VNRU5UU1xyXG5CYW5uZXIgdGhhdCBhcHBlYXJzIGF0IHRvcCBvZiBzaXRlXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19hbm5vdW5jZW1lbnQuY3NzXHJcbiovXHJcblxyXG5cclxuLmFubm91bmNlbWVudCB7XHJcblx0YmFja2dyb3VuZDogI2ZkZjBkZTtcclxuXHRjb2xvcjogIzU1NTtcclxuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2Q1ZDVkNTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0cGFkZGluZzogN3B4IDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKlxyXG5NYXJrdXA6XHJcbm1hcmt1cC9hbm5vdW5jZW1lbnRzLmhic1xyXG5cclxuU3R5bGVndWlkZSAxMC4xXHJcbiovIiwiLmFycm93UmlnaHQge1xyXG5cdGJvcmRlcjogc29saWQgNXB4IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yaWdodDogbm9uZTtcclxuXHRib3JkZXItbGVmdDogc29saWQgNXB4ICMwMDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IC0ycHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4uYXJyb3dMZWZ0IHtcclxuXHRib3JkZXI6IHNvbGlkIDVweCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItbGVmdDogbm9uZTtcclxuXHRib3JkZXItcmlnaHQ6IHNvbGlkIDVweCAjMDAwO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tdG9wOiAtMnB4O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuLmFycm93VXAge1xyXG5cdGJvcmRlcjogc29saWQgNXB4IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci10b3A6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgNXB4ICMwMDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IC0ycHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuLmFycm93RG93biB7XHJcblx0Ym9yZGVyOiBzb2xpZCA1cHggdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRib3JkZXItdG9wOiBzb2xpZCA1cHggIzAwMDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLXRvcDogLTJweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVx0XHJcbi5hcnJvd1NtIHtcclxuXHRib3JkZXItd2lkdGg6IDRweDtcclxufVxyXG5cclxuYSAuYXJyb3dSaWdodCB7XHJcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDVweCAjMDU1YmFkO1xyXG59XHJcbmEgLmFycm93TGVmdCB7XHJcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDVweCAjMDU1YmFkO1xyXG59XHJcbmEgLmFycm93VXAge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4ICMwNTViYWQ7XHJcbn1cclxuYSAuYXJyb3dEb3duIHtcclxuXHRib3JkZXItdG9wOiBzb2xpZCA1cHggIzA1NWJhZDtcclxufVxyXG5cclxuLmEtaW52ZXJzZSAuYXJyb3dSaWdodCB7XHJcbiAgICBib3JkZXItbGVmdDogc29saWQgNXB4ICM3REQyRkU7XHJcbn1cclxuLmEtaW52ZXJzZSAuYXJyb3dMZWZ0IHtcclxuICAgIGJvcmRlci1yaWdodDogc29saWQgNXB4ICM3REQyRkU7XHJcbn1cclxuLmEtaW52ZXJzZSAuYXJyb3dVcCB7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCA1cHggIzdERDJGRTtcclxufS5hLWludmVyc2UgLmFycm93RG93biB7XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCA1cHggIzdERDJGRTtcclxufVxyXG5cclxuXHJcbi5hcnJvd0Rvd24uYXJyb3ctd2hpdGUge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRjtcclxufVxyXG4uYXJyb3dSaWdodC5hcnJvdy13aGl0ZSB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI0ZGRjtcclxufSIsIi8qXHJcbkFTU0lHTlxyXG5cclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2Fzc2lnbi5jc3NcclxuRm9ybSBmb3IgY3JlYXRpbmcgYXNzaWdubWVudHNcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4vKioqXHJcbkFzc2lnbiBidXR0b24gb25jZSBhc3NpZ25lZFxyXG4qKiovXHJcblxyXG4uYXNzaWduQnRuLWFzc2lnbmVkIHtcclxuICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4uYXNzaWduQnRuX2hlYWRpbmcsXHJcbi5hc3NpZ25CdG5faGVhZGluZzpob3ZlciB7XHJcbiAgICBjb2xvcjogI2RlODMwMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi8qIGFjdGl2aXRpZXMgKi9cclxuLmFzc2lnbkFjdGl2aXRpZXMge1xyXG4gICAgbWFyZ2luOiAxMnB4IDA7XHJcbn1cclxuICAgIC5hc3NpZ25BY3Rpdml0aWVzIC5jaGVja2JveEN1c3RvbSB7XHJcbiAgICAgICAgY29sb3I6ICMwNTViYWQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgICAgIC5hc3NpZ25BY3Rpdml0aWVzLmlzLWluYWN0aXZlIC5jaGVja2JveEN1c3RvbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgICAgIH1cclxuICAgIC5hc3NpZ25BY3Rpdml0aWVzIC5jaGVja2JveEN1c3RvbV9sYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICB9XHJcbiAgICAuYXNzaWduQWN0aXZpdGllcyAuaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XHJcbiAgICB9XHJcbiAgICAuYXNzaWduQWN0aXZpdGllcyAuaWNvbi1vayB7XHJcbiAgICAgICAgY29sb3I6ICNjY2M7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDNweCAwIDA7XHJcbiAgICB9XHJcblxyXG4vKiByZXNvdXJjZXMgKi9cclxuLmFzc2lnblJlc291cmNlcyB7XHJcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcclxuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xyXG4gICAgY29sdW1uLWNvdW50OiAyO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tICovXHJcbi8qIGxlZ2FjeSBzdHlsZXMgKG5lZWQgdG8gZGV0ZXJtaW5lIHdoYXQncyBuZWVkZWQgZm9yIHJlZGVzaWduZWQgdmVyc2lvbiBhbmQgd2hhdCBjYW4gYmUgcmVtb3ZlZCkgKi9cclxuXHJcbi5hc3NpZ24tcmVzb3VyY2UtbGlua3Mge1xyXG5cdGJhY2tncm91bmQ6ICNGREVBQ0U7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cdC5hc3NpZ24tcmVzb3VyY2UtaGVhZGluZyxcclxuXHQuYm9va0xhbmRpbmdQYWdlIC5hc3NpZ24tcmVzb3VyY2UtaGVhZGluZyB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjZBNDJFO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7XHJcblx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcclxuXHR9XHJcblxyXG4uYWxlcnQtYXNzaWduIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAtMzVweDtcclxuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xyXG5cdGxlZnQ6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxufVxyXG5cdFxyXG4uYm9vay1hc3NpZ24ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdHRvcDogMTAwcHg7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiB0b3AgMC41cyBlYXNlO1xyXG59XHJcblx0LmJvb2stc2hvcnRUaHVtYm5haWwgLmJvb2stYXNzaWduIHtcclxuXHRcdHRvcDogODBweDtcclxuXHR9XHJcblx0Lmxpc3RWaWV3IC5ib29rLWFzc2lnbiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuLmJvb2stYXNzaWduLWhvdmVyOmhvdmVyIC5ib29rLWFzc2lnbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dG9wOiA5NXB4O1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNpdGlvbjogdG9wIDAuNXMgZWFzZTtcclxufVxyXG5cdC5ib29rLXNob3J0VGh1bWJuYWlsLmJvb2stYXNzaWduLWhvdmVyOmhvdmVyIC5ib29rLWFzc2lnbiB7XHJcblx0XHR0b3A6IDc1cHg7XHJcblx0fVxyXG4uYXNzaWduLXJlc291cmNlLXBvcG91dCAuYXNzaWduLWFycm93VXAge1xyXG5cdGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yaWdodDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICNERTgzMDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMTVweDtcclxufVxyXG4uY292ZXJBc3NpZ24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG59XHJcbi8qXHJcbi5ib29rLWFsdC5ib29rLWxhbmRzY2FwZSAuYm9vay1hc3NpZ24ge1xyXG5cdHRvcDogNzBweDtcdFxyXG59XHJcbi5ib29rLWFsdC5ib29rLWxhbmRzY2FwZSAuYm9vay1hc3NpZ24taG92ZXI6aG92ZXIgLmJvb2stYXNzaWduLFxyXG4uYm9vay1hbHQuYm9vay1sYW5kc2NhcGUuYm9vay1hc3NpZ24taG92ZXI6aG92ZXIgLmJvb2stYXNzaWduIHtcclxuXHR0b3A6IDY1cHg7XHRcclxufVxyXG4qL1xyXG4ubXVsdGlsZXZlbHMgLmJveC1sYW5kc2NhcGUgLmJvb2stYXNzaWduIHtcclxuXHR0b3A6IDcwcHg7XHRcclxufVxyXG4ubXVsdGlsZXZlbHMgLmJveC1sYW5kc2NhcGUuYm9vay1hc3NpZ24taG92ZXI6aG92ZXIgLmJvb2stYXNzaWduIHtcclxuXHR0b3A6IDY1cHg7XHRcclxufVxyXG4ubGlzdFZpZXcgLmJvb2stYXNzaWduLWhvdmVyOmhvdmVyIC5ib29rLWFzc2lnbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4uc2VhcmNoUmVzdWx0cy5saXN0VmlldyAuYm9vay1hc3NpZ24taG92ZXI6aG92ZXIgLmJvb2stYXNzaWduIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufSIsIi8qXHJcbkFTU0lHTk1FTlRTXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19hc3NpZ25tZW50LmNzc1xyXG4qL1xyXG5cclxuLmFzc2lnbm1lbnQtdGFyZ2V0ZWQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjAlO1xyXG59XHJcblxyXG4uYXNzaWdubWVudC1jdXN0b20ge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAycHggI0Y2RUVENjtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XHJcbn1cclxuICAgIC5hc3NpZ25tZW50LWN1c3RvbTo6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmFzc2lnbm1lbnQtY3VzdG9tIC5pY29uLWZvbGRlci1vcGVuIHtcclxuICAgICAgICBjb2xvcjogI0U0RDA5NTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIH1cclxuICAgIC5hc3NpZ25tZW50LWN1c3RvbSAudGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIH1cclxuICAgIC5hc3NpZ25tZW50LWN1c3RvbSAuZHVlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDAuODVlbTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjI1ZW07XHJcbiAgICB9XHJcbiAgICAuYXNzaWdubWVudC1jdXN0b20gLmR1ZS5pcy1sYXRlIHtcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfSIsIi5iYW5uZXIge1xyXG4gICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2RmZWE3OTtcclxuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZGZlYTc5O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWQ2MDE7XHJcbn1cclxuXHJcbi5iYW5uZXJfaGVhZGluZ3tcclxuICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnU2lnbmlrYSc7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX2Jvb2stcG9wb3V0LmNzc1xyXG5MZWdhY3kgYm9vayBwb3BvdXRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyogbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCAqL1xyXG5cclxuLnBvcG91dC1jb250YWluZXIgeyB3aWR0aDogMzAwcHg7IH1cclxuLnBvcG91dC1jb250YWluZXIgLmNsb3NlIHsgdG9wOiAtNXB4OyByaWdodDogLTZweDsgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciBzcGFuLm5ldywgLnBvcG91dC1jb250YWluZXIgc3Bhbi51cGRhdGVkIHsgbGVmdDogLTEwcHg7IHRvcDogLTZweDsgcGFkZGluZzogMCAyMHB4OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIC5ib29rUG9wb3V0Q29udGFpbmVySW5uZXIgeyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjRkZGOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3JkZXI6IDJweCBzb2xpZCAjOTIyZTYzOyAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAxKTsgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDEpOyBwYWRkaW5nOiAxNXB4OyAgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciBoMSB7XHJcblx0Zm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRpbmcgb3ZlcnJpZGUgb2Ygbm9ybWFsaXplICovXHJcblx0Y29sb3I6ICMwMDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDAgMCA1cHggMCAhaW1wb3J0YW50OyAvKiBvdmVycmlkaW5nIG92ZXJyaWRlIG9mIG5vcm1hbGl6ZSAqL1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4ucG9wb3V0LWNvbnRhaW5lciAuY2F0ZWdvcnkgeyBjb2xvcjogIzY2NjsgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciAuY2F0ZWdvcnkgaSB7IGNvbG9yOiAjOTIyZTYzOyBmb250LXN0eWxlOiBub3JtYWw7IH1cclxuXHJcbi5wb3BvdXQtY29udGFpbmVyLm5vVGh1bWJuYWlsIGltZy50aHVtYm5haWwgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIGltZy50aHVtYm5haWwgeyBmbG9hdDogcmlnaHQ7IGJhY2tncm91bmQ6ICNFQUVBRUE7IGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7IGJveC1zaGFkb3c6IDVweCA1cHggNXB4ICNDQ0NDQ0M7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMHB4OyBtYXJnaW46IDAgMCAxNXB4IDE1cHg7IHdpZHRoOiA2NXB4OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIGltZy50aHVtYm5haWwubGFuZHNjYXBlIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDY1cHg7IH1cclxuLyoucG9wb3V0LWNvbnRhaW5lciAuY29udGVudFJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMTgwcHg7IHBhZGRpbmc6IDA7IH1cclxuLnBvcG91dC1jb250YWluZXIgLmNvbnRlbnRSaWdodC5jb250ZW50bGFuZHNjYXBlIHsgd2lkdGg6IDE0NXB4OyAgfVxyXG4ucG9wb3V0LWNvbnRhaW5lci5ub1RodW1ibmFpbCAuY29udGVudFJpZ2h0IHsgcGFkZGluZzogMDsgd2lkdGg6IGF1dG87IH0qL1xyXG4ucG9wb3V0LWNvbnRhaW5lciAubGFuZ3VhZ2VzIHsgY2xlYXI6IGJvdGg7IGNvbG9yOiAjNjY2OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIC5sYW5ndWFnZXMgaDIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGNsZWFyOiBib3RoOyBiYWNrZ3JvdW5kOiAjZThlNmZkICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IGxlZnQ6IC0xNXB4OyBwYWRkaW5nOiAycHggMTVweCAhaW1wb3J0YW50OyBib3JkZXI6IDA7IG1hcmdpbjogMTBweCAwIDVweCAhaW1wb3J0YW50OyB3aWR0aDogMjY2cHg7IGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIHVsIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIHVsIGxpIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XHJcblxyXG4ucG9wb3V0LWNvbnRhaW5lciAucG9wb3V0LWFycm93IHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDsgd2lkdGg6IDE3cHg7IGhlaWdodDogMzFweDsgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciAucG9wb3V0LWFycm93LWxlZnQgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXJyb3ctYm9va3RpcC1sZWZ0LnBuZykgbm8tcmVwZWF0OyBsZWZ0OiAtMTVweDsgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciAucG9wb3V0LWFycm93LWxlZnR0b3AgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXJyb3ctYm9va3RpcC1sZWZ0LXRvcC5wbmcpIG5vLXJlcGVhdDsgbGVmdDogLTE1cHg7IH1cclxuLnBvcG91dC1jb250YWluZXIgLnBvcG91dC1hcnJvdy1sZWZ0Ym90dG9tIHsgYmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL2Fycm93LWJvb2t0aXAtbGVmdC1ib3R0b20ucG5nKSBuby1yZXBlYXQ7IGxlZnQ6IC0xNXB4OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIC5wb3BvdXQtYXJyb3ctcmlnaHQgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXJyb3ctYm9va3RpcC1yaWdodC5wbmcpIG5vLXJlcGVhdDsgcmlnaHQ6IC0xNXB4OyB9XHJcbi5wb3BvdXQtY29udGFpbmVyIC5wb3BvdXQtYXJyb3ctcmlnaHR0b3AgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXJyb3ctYm9va3RpcC1yaWdodC10b3AucG5nKSBuby1yZXBlYXQ7IHJpZ2h0OiAtMTVweDsgfVxyXG4ucG9wb3V0LWNvbnRhaW5lciAucG9wb3V0LWFycm93LXJpZ2h0Ym90dG9tIHsgYmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL2Fycm93LWJvb2t0aXAtcmlnaHQtYm90dG9tLnBuZykgbm8tcmVwZWF0OyByaWdodDogLTE1cHg7IH1cclxuXHJcbi5ib29rUG9wb3V0Q29udGFpbmVySW5uZXIgdWwubGV2ZWxzIHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDAgMCAxMHB4IDEwcHg7fVxyXG4iLCIvKlxyXG5CT09LU1xyXG5cclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2Jvb2tzLmNzc1xyXG5Cb29rIHRodW1ibmFpbHMgZGlzcGxheWVkIG9uIGEgZ3JpZFxyXG5cclxuVE9ETzogY29kZSByZXZpZXdcclxuKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLVxyXG5CT09LUyBDT05UQUlORVJcclxuLS0tLS0tLS0tLS0tICovXHJcbi5ib29rcyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiBsb2FkZXIgKi9cclxufVxyXG4uYm9va3NPZmZzZXQge1xyXG4gICAgbWFyZ2luOiAwIC0xMnB4O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuR1JJRCBWSUVXIChkZWZhdWx0IHZpZXcpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmJvb2sge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMjI1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgcGFkZGluZzogMXB4IDEycHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuLmJvb2s6bnRoLW9mLXR5cGUoNW4rMSkge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHQuYm9vay1oZWlnaHRBdXRvIHtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbi5ib29rOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLyogdGVtcG9yYXJ5IHN0eWxlcywgbmVlZGVkIHVudGlsIGFsbCBib29rcyBoYXZlIFwiYm94LVwiIGNsYXNzZXMgcmVtb3ZlZC5cclxuQm9va3MgY2FuIGJlIGluc2lkZSBib3hlcywgYnV0IHNob3VsZCBub3QgaGF2ZSBib3ggY2xhc3NlcyBhcHBsaWVkIGRpcmVjdGx5IHRvIHRoZW0gKi9cclxuLmJvb2tbY2xhc3NePVwiYm94LVwiXSB7XHJcbiAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLmJveC0zMy5ib29rIHtcclxuICAgIHdpZHRoOiAzMy4zMyU7XHJcbn1cclxuLmJveC01MC5ib29rIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbltjbGFzc149XCJib3gtXCJdID4gLmJvb2ssXHJcbi5wYWlyZWRCb29rcyAuYm9vaywgLyogbmVlZGVkIHVudGlsIHBhaXJlZCBib29rcyBwYWdlIG1hcmt1cCBjYW4gYmUgdXBkYXRlZC4gKi9cclxuLmJveC01MCA+IC5ib29rIHsgLyogbmVlZGVkIGJlY2F1c2Ugb2YgYXBwYXJlbnQgYnVnIHdpdGggYXR0cmlidXRlIHNlbGVjdG9yIGFib3ZlLCBzZWVuIG9uIGJlbmNobWFyayBib29rcyBwYWdlIGlmIHRoaXMgbGluZSBpcyByZW1vdmVkLiAqL1xyXG4gICAgY2xlYXI6IG5vbmU7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDFweCAwIDA7IC8qIG1hcmdpbiBvdmVybGFwIGZpeCAqL1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuLmJvb2sgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLyogVE9ETzogaW1wcm92ZSB0aHVtYm5haWwgcG9zaXRpb25pbmcgYW5kIHNpemUgdG8gYmUgbW9yZSBmbHVpZCAqL1xyXG4uYm9vayAudGh1bWJuYWlsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbjogMCAwIDNweCAwO1xyXG4gICAgbWF4LXdpZHRoOiA3M3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiAgICAuYm9vayAudGh1bWJuYWlsIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbi5ib29rLWxhbmRzY2FwZSAudGh1bWJuYWlsIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDExMnB4O1xyXG59XHJcbi5ib29rIC50aHVtYm5haWwgLmZsYWcge1xyXG4gICAgdG9wOiA1cHg7XHJcbn1cclxuLmJvb2sgLnRodW1ibmFpbCAubGV2ZWxzLFxyXG4uYm9vayAudGh1bWJuYWlsIC5lcGlzb2RlcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC05cHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLThweDtcclxufVxyXG5cclxuLyogVE9ETzogZml4IGh5cGVybGluayBjb2xvcmluZyBvciB0aXRsZXMuIERlZmF1bHQgc2hvdWxkIGJlIGRrIGdyYXksIG5vdCBibHVlLiAqL1xyXG4uYm9vayAudGl0bGUge1xyXG4gICAgY29sb3I6ICMwNTViYWQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5ib29rOmhvdmVyIC50aXRsZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG4uYm9vayAudGl0bGUtbGcge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4uYm9vayAuc3VidGl0bGUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICBtYXJnaW46IDAgMCAzcHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTNweDtcclxufVxyXG5cclxuLmJvb2sgLmxldmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG4uYm9vayAubXVsdGlsZXZlbCB7XHJcbiAgICBjb2xvcjogI2ZmNjYzMztcclxufVxyXG4uYm9vayAuYmVuY2htYXJrIHtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbn1cclxuLmJvb2sgLnNtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAycHggMDtcclxufVxyXG4uYm9vayAuZHVlRGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcbn1cclxuLmJvb2sgLmR1ZURhdGUtcGFzdCB7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIFRPRE86IGNsZWFuIHRoaXMgdXAgKi9cclxuLmJvb2suYm9vay1sYW5kc2NhcGUgLm5ldyxcclxuLmJvb2suYm9vay1sYW5kc2NhcGUgLnVwZGF0ZWQge1xyXG4gICAgdG9wOiA0MnB4O1xyXG59XHJcbmEubGFuZHNjYXBlQm9vayAudXBkYXRlZCxcclxuYS5sYW5kc2NhcGVCb29rIC5uZXcge1xyXG4gICAgdG9wOiA0MnB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG59XHJcbmEucG9ydHJhaXRCb29rIC51cGRhdGVkLFxyXG5hLnBvcnRyYWl0Qm9vayAubmV3ICB7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIGxlZnQ6IDE5cHg7XHJcbn1cclxuLmJvb2sgLmZvckJvb2sge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkFMVEVSTkFURSBHUklEIFZJRVdcclxuRGlzcGxheSBib29rcyB3aXRoIHRodW1ibmFpbCBiZXNpZGUgYm9vayBpbmZvcm1hdGlvbiwgaW5zdGVhZCBvZiB0aHVtYm5haWwgb24gdG9wXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmJvb2stYWx0IHtcclxuICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcbi5ib29rLWFsdCBhIHsgLyogbmVlZGVkIGZvciBwZGYgaWNvbiBkaXNwbGF5IFRPRE86IHJlZmFjdG9yICovXHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuLmJvb2stYWx0IC50aHVtYm5haWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAzMCU7XHJcbn1cclxuLmJvb2stYWx0LmJvb2stbGFuZHNjYXBlIC50aHVtYm5haWwge1xyXG4gICAgbWF4LXdpZHRoOiA0NSU7XHJcbn1cclxuXHJcbi5ib29rLWFsdCAuaW5mbyB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG4gICAgLmJvb2stYWx0IC5pbmZvIC5saXN0LXVuZm9ybWF0dGVkIHsgLyogdGVtcG9yYXJ5IHdvcmthcm91bmQgdG8gZml4IGxheW91dCBvZiBkb3dubG9hZHMgb24gRUxMIFNLSUxMIFBBQ0tTIHBhZ2UgKGFuZCBhbnkgb3RoZXIgcGFnZXMgd2l0aCB0aGUgc2FtZSBsYXlvdXQpICovXHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbi5ib29rLWFsdC5ib29rLWxhbmRzY2FwZSAuaW5mbyB7XHJcbiAgICB3aWR0aDogNTUlO1xyXG59XHJcbi5ib29rLWFsdCAudGl0bGUge1xyXG4gICAgY29sb3I6ICMyMjI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuLmJvb2stYWx0OmhvdmVyIC50aXRsZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmJvb2stYWx0IC5yZXNvdXJjZUxpbmsge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5ib29rLWFsdCAucmVzb3VyY2VMaW5rOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbi5ib29rLWFsdCAuaWNvbi1kb2N1bWVudC1wZGYge1xyXG4gICAgY29sb3I6ICNmZjAwMDA7XHJcbn1cclxuLmJvb2stYWx0IC5pY29uLWRvY3VtZW50LXBkZjpob3ZlcixcclxuLmJvb2stYWx0IGE6aG92ZXIgLmljb24tZG9jdW1lbnQtcGRmIHtcclxuICAgIGNvbG9yOiAjOGIwMDAwO1xyXG59XHJcbi5ib29rLWFsdCAuaWNvbi1wcmVzZW50YXRpb24ge1xyXG4gICAgY29sb3I6ICM0YTM2YjI7XHJcbn1cclxuLmJvb2stYWx0IC5pY29uLXByZXNlbnRhdGlvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogIzBlMDE1MjtcclxufVxyXG4uYm9vay1hbHQgLmljb24tZm9sZGVyIHtcclxuICAgIGNvbG9yOiAjZjhhODBmO1xyXG59XHJcbi5ib29rLWFsdCAuaWNvbi1mb2xkZXI6aG92ZXIge1xyXG4gICAgY29sb3I6ICNhODZmMDE7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkxJU1QgVklFV1xyXG5EaXNwbGF5IGJvb2tzIGFzIGEgbGlzdCBvZiBsaW5rcywgaW5zdGVhZCBvZiBhIGdyaWQgb2YgdGh1bWJuYWlsc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmxpc3RWaWV3IC5MZXZlbHNEaXYge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgd2lkdGg6IDMzLjMlO1xyXG59XHJcbi5saXN0VmlldyAubW9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5saXN0VmlldyBbY2xhc3NePVwiYm94LVwiXSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGZsb2F0OiBub25lO1xyXG59XHJcbi5saXN0VmlldyAuYm9vayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMCA0cHggMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcbi5saXN0VmlldyAuYm9vayAudGl0bGUge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcbi5saXN0VmlldyAuYm9vayAuc20ge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcbi5saXN0VmlldyAudGh1bWJuYWlsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmxpc3RWaWV3IC5zZWN0aW9uSGVhZFBvcG91dENvbnRlbnQgLm1pbmlMZXZlbENoYXJ0IHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4ubGlzdFZpZXcgLmJvb2sgLmJlbmNobWFyayB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuLmxpc3RWaWV3IC5ib29rIC5uZXcge1xyXG4gICAgbGVmdDogLTQzcHg7XHJcbiAgICB0b3A6IC0xcHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLVxyXG5TUEVDSUZJQyBVU0FHRVNcclxuLS0tLS0tLS0tLS0tICovXHJcblxyXG4vKiBhc3NpZ25tZW50cyBwYWdlICovXHJcbi8qIFRPRE86IG5lZWQgdG8gcmVmYWN0b3IgYWxsIHJlc291cmNlcyB0byB1c2UgdGFibGUgbGF5b3V0IGxpa2UgYXNzaWdubWVudCBib29rcyBkbyAqL1xyXG5cclxuLmFzc2lnbm1lbnQgLmJvb2sge1xyXG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzOXB4O1xyXG4gICAgcGFkZGluZzogMCAxNXB4O1xyXG59XHJcbiAgICAuYXNzaWdubWVudCAuYm9va193cmFwIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAuYXNzaWdubWVudCAuYm9vayAudGh1bWIge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIH1cclxuICAgIC5hc3NpZ25tZW50IC5ib29rIC50aHVtYl93cmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgfVxyXG4gICAgICAgIC5hc3NpZ25tZW50IC50aHVtYiBpbWcge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDNweCAjY2NjO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIC5hc3NpZ25tZW50IC5ib29rIC50aXRsZSxcclxuICAgIC5hc3NpZ25tZW50IC5ib29rOmhvdmVyIC50aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICMyMjI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuLmFzc2lnbm1lbnQtdGFyZ2V0ZWQgLmJvb2sge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi8qIGNoZWNrbWFyayBvdmVybGF5IGZvciBjb21wbGV0ZWQgYm9va3MgaW4gYXNzaWdubWVudHMgKi9cclxuLmJvb2suaXMtY29tcGxldGUgLnRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiAgICAuYm9vay5pcy1jb21wbGV0ZSAudGh1bWIgaW1nIHtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xyXG4gICAgICAgIG9wYWNpdHk6IC4xNTtcclxuICAgIH1cclxuICAgIC5ib29rLmlzLWNvbXBsZXRlIC50aHVtYjo6YmVmb3JlLFxyXG4gICAgLmJvb2suaXMtY29tcGxldGUgLnRodW1iOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICM1YTllMGM7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogMTA7IC8qIGFib3ZlIGJvb2sgdGh1bWJuYWlsICovXHJcbiAgICB9XHJcbiAgICAgICAgLmJvb2suaXMtY29tcGxldGUgLnRodW1iOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTAxM1wiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDRlbTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XHJcbiAgICAgICAgICAgIHRvcDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgLmJvb2stbGFuZHNjYXBlLmlzLWNvbXBsZXRlIC50aHVtYjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogLTIlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLmJvb2suaXMtY29tcGxldGUgLnRodW1iOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiY29tcGxldGVcIjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRvcDogNjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgLmJvb2stbGFuZHNjYXBlLmlzLWNvbXBsZXRlIC50aHVtYjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA3MCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbi8qXHJcbldSSVRJTkcgQUNUSVZJVElFU1xyXG5zZWVuIG9uIHN0dWRlbnQgcHJvZmlsZSBvdmVydmlldywgdGhpcyBzaG91bGQgYmUgcmV2aXNpdGVkIGZvciBjbGVhbnVwIGxhdGVyXHJcbiovXHJcblxyXG4ubGFzdEZpdmVCb29rcyAud3JpdGluZyB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDEzMnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICM5OWM4ZTk7XHJcbn1cclxuLmxhc3RGaXZlQm9va3MgLndyaXRpbmcgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICMwMDA7IHBhZGRpbmc6IDVweCAwIDAgMDsgfVxyXG4ubGFzdEZpdmVCb29rcyAud3JpdGluZyAuY29tcGxldGVkIHsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC0yNXB4OyBsZWZ0OiA0MnB4OyB9XHJcblxyXG4vKiBpbmZpbml0ZSBzY3JvbGxlciAqL1xyXG4vKiBUT0RPOiBtb3ZlIHRvIGFub3RoZXIgc3R5bGVzaGVldCAqL1xyXG5cclxuI2xvYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9zaGFyZWQvaW1hZ2VzL2FqYXgtbG9hZGVyLWJpZy5naWYnKSA1MCUgMCBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgd2lkdGg6IDc0OXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuI2xvYWRlciBpbWcge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogc2hvdyBtb3JlIGxpbmsgKi9cclxuI3NlZU1vcmUge1xyXG4gICAgYmFja2dyb3VuZDogI2QzZTdmZDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWQ1ZjI7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbG9yOiAjMDU1YmFkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbiNzZWVNb3JlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNiYWQ1ZjI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn0iLCIvKlxyXG5CUkVBRENSVU1CXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19icmVhZGNydW1iLmNzc1xyXG4qL1xyXG5cclxuLypcclxubGVnYWN5IHZlcnNpb25cclxuKi9cclxuXHJcbi5icmVhZGNydW1iIHtcclxuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2UwZTBlMDtcclxuXHRjb2xvcjogI2IxYjFiMTtcclxuXHRmb250LXNpemU6IC45cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuLmJyZWFkY3J1bWIgYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYiAuaWNvbi1ob21lIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTJweDtcclxufVxyXG5cclxuLypcclxubmV3IHZlcnNpb24sIG9ubHkgaW4gRmlsZSBDYWJpbmV0IGZvciBub3dcclxuKi9cclxuXHJcbi5maWxlQ2FiaW5ldCAuYnJlYWRjcnVtYiB7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI2UwZTBlMDtcclxuICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMThweCAwO1xyXG4gICAgcGFkZGluZzogMTRweCAwO1xyXG59XHJcbi5maWxlQ2FiaW5ldCAuYnJlYWRjcnVtYkl0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbi5maWxlQ2FiaW5ldCAuYnJlYWRjcnVtYkhlYWRpbmcge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMjVweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi5maWxlQ2FiaW5ldCAuYnJlYWRjcnVtYkhlYWRpbmcuaXMtY3VycmVudCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4uZmlsZUNhYmluZXQgLmJyZWFkY3J1bWIgLmFycm93UmlnaHQge1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNjY2M7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMTJweDtcclxufVxyXG5cclxuLypcclxuQnJlYWRjcnVtYlxyXG5cclxuQnJlYWRjcnVtYiBuYXZpZ2F0aW9uIHN0eWxlc1xyXG5cclxuTWFya3VwOlxyXG5tYXJrdXAvYnJlYWRjcnVtYi5oYnNcclxuXHJcblN0eWxlZ3VpZGUgMy4xXHJcbiovIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19jYWxlbmRhci5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiBNSU5JIENBTEVOREFSICoqKiovXHJcbi5jYWwtbWluaSB7XHJcblx0ZGlzcGxheTp0YWJsZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMjtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi5jYWwtbWluaSB0YWJsZSB7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcbi5jYWwtbWluaSB0ZCB7XHJcblx0Y29sb3I6IzJkMmQyZDtcclxuXHR3aWR0aDozMHB4O1xyXG5cdGhlaWdodDogMzNweDtcclxuXHRsaW5lLWhlaWdodDozMHB4O1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdGJvcmRlcjoxcHggc29saWQgI0ZGRjtcclxuXHRjdXJzb3I6ZGVmYXVsdDtcclxufVxyXG4uY2FsLW1pbmkgLmNhbC1taW5pLWZyYW1lIC50b2RheSB7IFxyXG5cdGJhY2tncm91bmQ6ICNmZmZmY2M7IFxyXG59XHJcbi5jYWwtbWluaSAuY2FsLW1pbmktZnJhbWUgLndzIHtcclxuXHRiYWNrZ3JvdW5kOiM2MzlFRDM7XHJcblx0Y29sb3I6I0ZGRjtcclxuXHR0ZXh0LXNoYWRvdzogMXB4IDFweCAwICMzODgzQzc7XHJcbn1cclxuLmNhbC1taW5pIC5jYWwtbWluaS1mcmFtZSAud3M6aG92ZXIgeyBcclxuXHRiYWNrZ3JvdW5kOiMzODgzQzcgIWltcG9ydGFudDsgXHJcbn1cclxuXHJcbi5jYWwtbWluaS1mcmFtZSB0ZCB7XHJcblx0YmFja2dyb3VuZDogI2MyZDllZTtcclxufVxyXG4uY2FsLW1pbmktZnJhbWUgLm5kIHtcclxuXHRiYWNrZ3JvdW5kOiAjZGVlYWY1ICFpbXBvcnRhbnQ7IFxyXG59XHJcbi5jYWwtbWluaS1mcmFtZSAuZWxlbWVudCB7IFxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0ei1pbmRleDogMTsgXHJcblx0dGV4dC1hbGlnbjogbGVmdDsgXHJcblx0bGluZS1oZWlnaHQ6IDI2cHg7IFxyXG5cdHBhZGRpbmc6IDBweDsgXHJcblx0dGV4dC1hbGlnbjogY2VudGVyOyBcclxuXHRoZWlnaHQ6IDMwcHg7IFxyXG59XHJcbi5jYWwtbWluaS1mcmFtZSAuZWxlbWVudCAuZmlyc3RMaW5rIHtcclxuXHRjb2xvcjogI0ZGRkZGRjsgXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxufVxyXG5cclxuLmNhbC1taW5pIC50b29sVGlwIHsgXHJcblx0Ym9yZGVyOiAxcHggc29saWQgI0ZGRjtcclxuXHRiYWNrZ3JvdW5kOiAjZTZlM2Y5IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGVmdDogLTE1MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxufVxyXG4uY2FsLW1pbmkgLnRvb2xUaXAgdWwgeyBcclxuXHRtYXJnaW46IDA7IFxyXG5cdHBhZGRpbmc6IDA7IFxyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7IFxyXG5cdH1cclxuLmNhbC1taW5pIC50b29sVGlwIHVsIGxpIHtcclxuXHRtYXJnaW46IDA7IFxyXG5cdHBhZGRpbmc6IDNweCAwOyBcclxufVxyXG4uY2FsLW1pbmkgLnRvb2xUaXAgdWwgbGkgYSB7IFxyXG5cdHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi5jYWwtbWluaSAudG9vbFRpcCAuYXJyb3dEb3duIHsgXHJcblx0bGVmdDogMTU1cHg7IFxyXG5cdGJvcmRlci1sZWZ0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCAjZTZlM2Y5O1xyXG4gICAgYm90dG9tOiAtOXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59IiwiLmNhbGxvdXQxIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNDODMxOTI7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgcGFkZGluZzogMjRweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5jYWxsb3V0MTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTAyNzc0O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn0iLCIuY2FsbG91dDIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtaW4taGVpZ2h0OiAyOTBweDtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG59XHJcbi5jYWxsb3V0Mjpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uY2FsbG91dDItdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbn1cclxuLmNhbGxvdXQyLWhlYWRpbmcge1xyXG4gICAgZm9udC1zaXplOiAxLjM1cmVtO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBTdGFydCBvZiBab29tIEltYWdlICAqL1xyXG4uY2FsbG91dDItaW1nQ29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMTc0cHg7XHJcbn1cclxuLmNhbGxvdXQyLWltZyB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNjVzIGVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuNjVzIGVhc2U7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjY1cyBlYXNlO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAuNjVzIGVhc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4uY2FsbG91dDI6aG92ZXIgLmNhbGxvdXQyLWltZyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcclxufSIsIi8qXHJcbkNMT1NFIEJVVFRPTlxyXG5cclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2Nsb3NlQnRuLmNzc1xyXG4nWCcgYnV0dG9uIHRvIGNsb3NlIG1vZGFscyBhbmQgcG9wb3ZlcnNcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG5cclxuLmNsb3NlQnRuIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiAgICAuY2xvc2VCdG46aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjMDU1YmFkO1xyXG4gICAgICAgIG9wYWNpdHk6IDEuMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuLyoqKlxyXG5zcGVjaWZpYyB1c2FnZXNcclxuKioqL1xyXG5cclxuLm1lc3NhZ2UtYm94IC5jbG9zZUJ0biB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMnB4O1xyXG4gICAgdG9wOiAtM3B4O1xyXG59XHJcblxyXG4ubW9kYWxXaW5kb3cgLmNsb3NlQnRuLFxyXG4uZGlhbG9nIC5jbG9zZUJ0biB7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbn1cclxuICAgIC5kaWFsb2ctdGl0bGUtY2xvc2UuY2xvc2VCdG4ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgfVxyXG5cclxuLm1lc3NhZ2VSZXBvcnRlciAuY2xvc2VCdG4ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIG9wYWNpdHk6IC41O1xyXG59XHJcblxyXG4vKioqXHJcbmxlZ2FjeSBjbG9zZSBidXR0b25cclxuKioqL1xyXG4uYnRuLWNsb3NlLFxyXG4ucG9wb3V0Q2xvc2Uge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2EzYTFhMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBoZWlnaHQ6IDE5cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMTJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRvcDogLTEwcHg7XHJcbiAgICB3aWR0aDogMTlweDtcclxuICAgIHotaW5kZXg6IDExO1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19jb21tb25jb3JlLmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jb21tb25Db3JlVG9waWNzIGxpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogNDklO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuIHsgd2lkdGg6IDEwMCU7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTNweDsgcGFkZGluZzogNXB4IDA7IHRleHQtc2hhZG93OiBub25lOyBjb2xvcjogI0ZGRjsgbWFyZ2luOiAwIDRweCA0cHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjItbGluayB7IGJhY2tncm91bmQ6ICNFRTQwMzQ7IGJvcmRlci1jb2xvcjogI0VFNDAzNDsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjMtbGluayB7IGJhY2tncm91bmQ6ICNGRjk5MzM7IGJvcmRlci1jb2xvcjogI0ZGOTkzMzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjQtbGluayB7IGJhY2tncm91bmQ6ICMwMEE2OUM7IGJvcmRlci1jb2xvcjogIzAwQTY5QzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjUtbGluayB7IGJhY2tncm91bmQ6ICM1OUI1REM7IGJvcmRlci1jb2xvcjogIzU5QjVEQzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjYtbGluayB7IGJhY2tncm91bmQ6ICNGQ0I4MTM7IGJvcmRlci1jb2xvcjogI0ZDQjgxMzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjctbGluayB7IGJhY2tncm91bmQ6ICM1NEI4NDg7IGJvcmRlci1jb2xvcjogIzU0Qjg0ODsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjgtbGluayB7IGJhY2tncm91bmQ6ICMwMDk5MzM7IGJvcmRlci1jb2xvcjogIzAwOTkzMzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuI3RhYjktbGluayB7IGJhY2tncm91bmQ6ICM5RTFGNjM7IGJvcmRlci1jb2xvcjogIzlFMUY2MzsgfVxyXG4uY29tbW9uQ29yZVRvcGljcyAuYnRuLmFjdGl2ZSB7IGJhY2tncm91bmQ6ICNGRkYgIWltcG9ydGFudDsgY29sb3I6ICMwMDA7IH1cclxuLmNvbW1vbkNvcmVUb3BpY3MgLmJ0bjpob3ZlciB7IGNvbG9yOiAjMDAwOyB9XHJcbi5wYWdlQ29udGVudC5jb21tb25jb3JlIC5oaWdobGlnaHRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmNlMjg5IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yN3B4O1xyXG4gICAgd2lkdGg6IDQ5JTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuLnBhZ2VDb250ZW50LmNvbW1vbmNvcmUge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5wYWdlQ29udGVudC5jb21tb25jb3JlIC5oaWdobGlnaHRlciAuYXJyb3dEb3duIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjZmNlMjg5O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDQ5JTtcclxufVxyXG4jdGFiMS5wYWdlQ29udGVudC5jb21tb25jb3JlIC5oaWdobGlnaHRlciB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAtMjdweDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5zdGFuZGFyZExpbmtzIGEge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjZmZjYztcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogOTJweDtcclxuICAgIG1hcmdpbjogMCAxMHB4IDhweCAwO1xyXG4gICAgcGFkZGluZzogNzNweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbGluZS1oZWlnaHQ6IDExcHg7XHJcbn1cclxuLnN0YW5kYXJkTGlua3MgI2NhTWFwTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvbWFwLWNhLXNtYWxsLnBuZyk7XHJcbn1cclxuLnN0YW5kYXJkTGlua3MgI2F1TWFwTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvbWFwLWF1LXNtYWxsLnBuZyk7XHJcbn1cclxuLnN0YW5kYXJkTGlua3MgI2luTWFwTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvbWFwLWluLXNtYWxsLnBuZyk7XHJcbn1cclxuLnN0YW5kYXJkTGlua3MgI3VhZU1hcExpbmsge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9zaGFyZWQvaW1hZ2VzL21hcC11YWUtc21hbGwucG5nKTtcclxufVxyXG4uc3RhbmRhcmRMaW5rcyAjZXVNYXBMaW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9tYXAtZXUtc21hbGwucG5nKTtcclxufVxyXG5cclxuLnN0YW5kYXJkTGlua3MgYS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm94TGlua3MjV0lEQUVMRFNNYXBMaW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9tYXAtd2lkYS1zbWFsbC5wbmcpO1xyXG59XHJcbi5ib3hMaW5rcyNDQ1NTT0VMUE1hcExpbmsge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9zaGFyZWQvaW1hZ2VzL21hcC1lbHBhMjEtc21hbGwucG5nKTtcclxufVxyXG4uYm94TGlua3MjVFhNYXBMaW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9tYXAtdHgtc21hbGwucG5nKTtcclxufVxyXG4uYm94TGlua3MjQ0FNYXBMaW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9tYXAtY2FsaWZvcm5pYS1zbWFsbC5wbmcpO1xyXG59XHJcbi5ib3hMaW5rcyNURVNPTEVMUFNNYXBMaW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9tYXAtdGVzb2wtc21hbGwucG5nKTtcclxufVxyXG4uYm94TGlua3MjQ0VGTWFwTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvbWFwLWV1LXNtYWxsLnBuZyk7XHJcbn1cclxuLmJveExpbmtzLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTVmZWU1O1xyXG59XHJcbi5ib3hMaW5rcyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NmZmNjO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIG1hcmdpbjogMCAxMHB4IDhweCAwO1xyXG4gICAgcGFkZGluZzogODRweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuLmJveExpbmtzIC5zbSB7XHJcbiAgICBmb250LXNpemU6MTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OjE0cHg7XHJcbn1cclxuIiwiLypcclxuSlFVRVJZIFVJIERBVEUgUElDS0VSXHJcblxyXG5Mb2NhdGlvbjogL3NoYXJlZC9tb2R1bGVzL19kYXRlcGlja2VyLmNzc1xyXG5TdHlsZSBvdmVycmlkZXMgZm9yIGpxdWVyeSB1aSBkYXRlIHBpY2tlclxyXG5cclxuVE9ETzogY29kZSByZXZpZXdcclxuKi9cclxuXHJcbi51aS1kYXRlcGlja2VyIHtcclxuICAgIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICNmMWYxZjEgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNkYmRiZGIgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggI2NjYztcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyIC51aS13aWRnZXQtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItcHJldixcclxuLnVpLWRhdGVwaWNrZXItbmV4dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcmlnaHQ6IDJweDtcclxuICAgIHRvcDogMnB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIsXHJcbi51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHJpZ2h0OiAycHg7XHJcbiAgICB0b3A6IDJweDtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXIgdGFibGUge1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4udWktZGF0ZXBpY2tlciB0ZCBzcGFuLFxyXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWRlZmF1bHQsXHJcbi51aS1kYXRlcGlja2VyIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcclxuLnVpLWRhdGVwaWNrZXIgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktc3RhdGUtZGVmYXVsdDpub3QoLnVpLXN0YXRlLWFjdGl2ZSk6aG92ZXIsXHJcbi51aS1kYXRlcGlja2VyIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdDpub3QoLnVpLXN0YXRlLWFjdGl2ZSk6aG92ZXIsXHJcbi51aS1kYXRlcGlja2VyIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0Om5vdCgudWktc3RhdGUtYWN0aXZlKTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG59XHJcbi51aS1zdGF0ZS1hY3RpdmUsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4iLCIvKipcclxuICogZGF0ZVBpY2tlciB3aWRnZXQgdXNpbmcgUHJvdG90eXBlIGFuZCBTY3JpcHRhY3Vsb3VzLlxyXG4gKiAoYykgMjAwNy0yMDA4IE1hdGhpZXUgSm9uZGV0IDxtYXRoaWV1QGV1bGVyaWFuLmNvbT5cclxuICogRXVsZXJpYW4gVGVjaG5vbG9naWVzXHJcbiAqIChjKSAyMDA5IFRpdGkgQWxhJ2lsaW1hIDx0aWdyZUBwb2JveC5jb20+XHJcbiAqXHJcbiAqIERhdGVQaWNrZXIgaXMgZnJlZWx5IGRpc3RyaWJ1dGFibGUgdW5kZXIgdGhlIHNhbWUgdGVybXMgYXMgUHJvdG90eXBlLlxyXG4gKlxyXG4gKiB2MS4wLjBcclxuICovXHJcblxyXG5kaXYuZGF0ZXBpY2tlciB7XHJcbiBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiBib3JkZXI6IDFweCAjQzRENUUzIHNvbGlkO1xyXG4gZm9udC1mYW1pbHk6IGFyaWFsO1xyXG4gYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuIGZvbnQtc2l6ZTogMTBweDtcclxuIHBhZGRpbmc6IDBweDtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB7XHJcbiBmb250LXNpemU6IDEwcHg7XHJcbiBtYXJnaW46IDBweDtcclxuIHBhZGRpbmc6IDBweDtcclxuIHRleHQtYWxpZ246IGNlbnRlcjtcclxuIHdpZHRoOiAxODBweDtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0aGVhZCB0ciB0aCB7XHJcbiBmb250LXNpemU6IDEycHg7XHJcbiBmb250LXdlaWdodDogYm9sZDtcclxuIGJhY2tncm91bmQ6ICNlOWVmZjQ7XHJcbiBjb2xvcjogIzAwMDAwMDtcclxuIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNGQ1ZTM7XHJcbiBwYWRkaW5nOiAwcHg7XHJcbiBtYXJnaW46IDBweDsgXHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIge1xyXG4gYm9yZGVyOiAxcHggd2hpdGUgc29saWQ7XHJcbiBtYXJnaW46IDBweDtcclxuIHBhZGRpbmc6IDBweDtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZCB7XHJcbiBib3JkZXI6IDFweCAjZWFlYWVhIHNvbGlkO1xyXG4gbWFyZ2luOiAwcHg7XHJcbiBwYWRkaW5nOiAwcHg7XHJcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIgdGQ6aG92ZXIsXHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm91dGJvdW5kOmhvdmVyLFxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC50b2RheTpob3ZlciB7XHJcbiBib3JkZXI6IDFweCAjYzRkNWUzIHNvbGlkO1xyXG4gYmFja2dyb3VuZDogI2U5ZWZmNDtcclxuIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC53ZGF5IHtcclxuIGJvcmRlcjogMXB4ICNmZmZmZmYgc29saWQ7XHJcbiBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gY3Vyc29yOiB0ZXh0O1xyXG59XHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm91dGJvdW5kIHtcclxuIGJhY2tncm91bmQ6ICNlOGU0ZTQ7XHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIgdGQudG9kYXkge1xyXG4gYm9yZGVyOiAxcHggIzE2NTE4ZSBzb2xpZDtcclxuIGJhY2tncm91bmQ6ICNjNGQ1ZTM7XHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIgdGQubmNsaWNrLFxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC5uY2xpY2tfb3V0Ym91bmQsXHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm5jbGlja190b2RheSB7XHJcbiBjdXJzb3I6ZGVmYXVsdDsgY29sb3I6I2FhYTtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC5uY2xpY2tfb3V0Ym91bmQge1xyXG4gYmFja2dyb3VuZDojRThFNEU0O1xyXG59XHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm5jbGlja190b2RheSB7XHJcbiBiYWNrZ3JvdW5kOiNjNGQ1ZTM7XHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIgdGQubmNsaWNrOmhvdmVyLFxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC5uY2xpY2tfb3V0Ym91bmQ6aG92ZXIsXHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm5jbGlja190b2RheTpob3ZlciB7XHJcbiBib3JkZXI6IDFweCAjZWFlYWVhIHNvbGlkO1xyXG4gYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5kaXYuZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZC5uY2xpY2tfb3V0Ym91bmQ6aG92ZXIge1xyXG4gYmFja2dyb3VuZDojRThFNEU0O1xyXG59XHJcbmRpdi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyIHRkLm5jbGlja190b2RheTpob3ZlciB7XHJcbiBiYWNrZ3JvdW5kOiNjNGQ1ZTM7XHJcbn1cclxuZGl2LmRhdGVwaWNrZXIgdGFibGUgdGZvb3QgdHIgdGQge1xyXG4gZm9udC1zaXplOiAxMHB4O1xyXG4gYmFja2dyb3VuZDogI2U5ZWZmNDtcclxuIGJvcmRlci10b3A6MXB4IHNvbGlkICNjNGQ1ZTM7XHJcbiBjdXJzb3I6IHBvaW50ZXI7XHJcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiBwYWRkaW5nOiAwcHg7XHJcbn1cclxuIiwiLypcclxuU1RZTEVTIEZPUiBEUkFHIEFORCBEUk9QIFBMVUdJTihhbmd1bGFyLWRuZC1saXN0cy5qcylcclxuTG9jYXRpb246IC9zaGFyZWQvc3R5bGVzL21vZHVsZXMvX2RyYWdBbmREcm9wLmNzc1xyXG4qL1xyXG5cclxuLypcclxuU25pcHBldCBmcm9tIHBsdWdpbiBkb2N1bWVudGF0aW9uXHJcblxyXG4tIGRuZERyYWdnaW5nICAgICAgICBUaGlzIGNsYXNzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGVsZW1lbnQgd2hpbGUgdGhlIGVsZW1lbnQgaXMgYmVpbmdcclxuICAgICAgICAgICAgICAgICAgIGRyYWdnZWQuIEl0IHdpbGwgYWZmZWN0IGJvdGggdGhlIGVsZW1lbnQgeW91IHNlZSB3aGlsZSBkcmFnZ2luZyBhbmQgdGhlXHJcbiAgICAgICAgICAgICAgICAgICBzb3VyY2UgZWxlbWVudCB0aGF0IHN0YXlzIGF0IGl0J3MgcG9zaXRpb24uIERvIG5vdCB0cnkgdG8gaGlkZSB0aGUgc291cmNlXHJcbiAgICAgICAgICAgICAgICAgICBlbGVtZW50IHdpdGggdGhpcyBjbGFzcywgYmVjYXVzZSB0aGF0IHdpbGwgYWJvcnQgdGhlIGRyYWcgb3BlcmF0aW9uLlxyXG5cclxuLSBkbmREcmFnZ2luZ1NvdXJjZSAgVGhpcyBjbGFzcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBlbGVtZW50IGFmdGVyIHRoZSBkcmFnIG9wZXJhdGlvbiB3YXNcclxuICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWQsIG1lYW5pbmcgaXQgb25seSBhZmZlY3RzIHRoZSBvcmlnaW5hbCBlbGVtZW50IHRoYXQgaXMgc3RpbGwgYXRcclxuICAgICAgICAgICAgICAgICAgIGl0J3Mgc291cmNlIHBvc2l0aW9uLCBhbmQgbm90IHRoZSBcImVsZW1lbnRcIiB0aGF0IHRoZSB1c2VyIGlzIGRyYWdnaW5nIHdpdGhcclxuICAgICAgICAgICAgICAgICAgIGhpcyBtb3VzZSBwb2ludGVyLlxyXG4qL1xyXG5cclxuLypcclxuZm9sZGVycyBpbiBmaWxlIGNhYmluZXRcclxuKi9cclxuXHJcbi5GQ19mb2xkZXJzIC5kbmRQbGFjZWhvbGRlciB7IC8qIHN0eWxlZCB0byBtYXRjaCBhIGZvbGRlciAqL1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGUtY2FiaW5ldC9pbWcvZm9sZGVyLnN2Z1wiKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxNzVweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xyXG4gICAgb3BhY2l0eTogLjQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICB3aWR0aDogMjUlO1xyXG59XHJcbi5GQ19mb2xkZXJzIC5kbmREcmFnZ2luZ1NvdXJjZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKlxyXG5zaWRlIG5hdiBpbiBmaWxlIGNhYmluZXRcclxuKi9cclxuXHJcbi5zZWNvbmRhcnlOYXYgLmRuZFBsYWNlaG9sZGVyIHsgLyogc3R5bGVkIHRvIG1hdGNoIGEgbmF2IGxpc3QgaXRlbSAqL1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLnNlY29uZGFyeU5hdiAuZG5kUGxhY2Vob2xkZXI6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcbi5zZWNvbmRhcnlOYXYgLmRuZERyYWdnaW5nU291cmNlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKlxyXG5GSUxFIENBQklORVRcclxuU3R5bGVzIGZvciByZWRlc2lnbmVkIGZpbGUgY2FiaW5ldFxyXG5Mb2NhdGlvbjogL3NoYXJlZC9tb2R1bGVzL19maWxlLWNhYmluZXQuY3NzXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4uZmlsZUNhYmluZXQgLmljb24tdXNlcnMyIHtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgb3BhY2l0eTogLjY7XHJcbn1cclxuLmZpbGVDYWJpbmV0IC5pY29uLW9rIHtcclxuICAgIGNvbG9yOiAjZGU4MzAwO1xyXG59XHJcblxyXG4uZm9sZGVyQWN0aW9uIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbi5mb2xkZXJUaXRsZUVkaXQge1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4gICAgLmZvbGRlclRpdGxlRWRpdCBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbi8qXHJcbmxpc3Qgb2YgZm9sZGVyc1xyXG4qL1xyXG5cclxuLkZDX2ZvbGRlcnMge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBtYXJnaW46IDAgLTZweCAxOHB4IC02cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuICAgIC5GQ19mb2xkZXJzOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbi5GQ19mb2xkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGUtY2FiaW5ldC9pbWcvZm9sZGVyLnN2Z1wiKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzO1xyXG4gICAgd2lkdGg6IDI1JTtcclxufVxyXG4gICAgLkZDX2ZvbGRlcjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ZpbGUtY2FiaW5ldC9pbWcvZm9sZGVyLWhvdmVyLnN2Z1wiKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4uRkNfZm9sZGVyIC5jZWxsV3JhcCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTc1cHg7XHJcbn1cclxuICAgIC5GQ19mb2xkZXIgLmNlbGwge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTVweCAwIDE1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4uRkNfZm9sZGVyIC5mb2xkZXJUaXRsZSB7XHJcbiAgICBjb2xvcjogIzIyMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi5GQ19mb2xkZXIgLmZvbGRlckVkaXQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG59XHJcbiAgICAuRkNfZm9sZGVyIGZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIC5GQ19mb2xkZXIgLmZvbGRlckVkaXQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5GQ19mb2xkZXIgLmZvbGRlckVkaXQgLmNhbmNlbCB7XHJcbiAgICAgICAgYm90dG9tOiAtMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4uRkNfZm9sZGVyX2ljb25zIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxNHB4O1xyXG4gICAgdG9wOiAxMjFweDtcclxufVxyXG4gICAgLkZDX2ZvbGRlcl9pY29ucyAuaWNvbi11c2VyczIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgfVxyXG4gICAgLkZDX2ZvbGRlcl9pY29ucyAuaWNvbi1vayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogbGlzdCBvZiByZXNvdXJjZXMgaW4gRmlsZSBDYWJpbmV0ICovXHJcblxyXG4uRkNfcmVzb3VyY2VzIHtcclxuICAgIG1hcmdpbjogMCAtNnB4O1xyXG59XHJcbi5GQ19yZXNvdXJjZVdyYXAge1xyXG4gICAgbWFyZ2luOiA2cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEycHgpO1xyXG59XHJcbiAgICAuRkNfcmVzb3VyY2VXcmFwOm50aC1jaGlsZCgybiArIDEpIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbi5GQ19yZXNvdXJjZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2UwZTBlMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBjbGVhcjogbm9uZTtcclxuICAgIG1pbi1oZWlnaHQ6IDExNHB4O1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4gICAgLkZDX3Jlc291cmNlIC50aHVtYm5haWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgICAgIC5GQ19yZXNvdXJjZSAudGh1bWJuYWlsIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlMGUwZTA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuRkNfcmVzb3VyY2UtcGFjayAudGh1bWJuYWlsIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgLkZDX3Jlc291cmNlIC5pbmZvIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBmb250LXNpemU6IC45NXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgICB3aWR0aDogNjklO1xyXG4gICAgfVxyXG5cclxuICAgIC5GQ19yZXNvdXJjZSAudGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjMDU1YmFkO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLkZDX3Jlc291cmNlX2xpc3Qge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMCAwO1xyXG4gICAgfVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qIGxlZ2FjeSBzdHlsZXMsIHJlbW92ZSBhZnRlciByZWRlc2lnbiBpcyBjb21wbGV0ZSAqL1xyXG5cclxuLmZpbGVDYWJpbmV0UG9wdXAgeyBkaXNwbGF5OiBub25lOyB6LWluZGV4OiAxNTsgcG9zaXRpb246IGFic29sdXRlOyBwYWRkaW5nOiAxMHB4OyB3aWR0aDogMjIwcHg7IGJhY2tncm91bmQ6ICNmNGZjZWI7IGJvcmRlcjogMXB4IHNvbGlkICM2YThlM2U7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJveC1zaGFkb3c6IDJweCAycHggNXB4ICNDQ0M7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgI0ZGRjsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cDIgeyBwYWRkaW5nOiAxMHB4OyB3aWR0aDogMjIwcHg7IGJhY2tncm91bmQ6ICNmNGZjZWI7IGJvcmRlcjogMXB4IHNvbGlkICM2YThlM2U7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJveC1zaGFkb3c6IDJweCAycHggNXB4ICNDQ0M7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgI0ZGRjsgfVxyXG4jbW92ZUNvcHlQb3B1cCB7IHRvcDogMjQ4cHg7IHJpZ2h0OiAtODJweDsgfVxyXG4jZm9sZGVyT3B0aW9uc1BvcHVwIHsgdG9wOiA2N3B4OyBsZWZ0OiAtNjJweDsgfVxyXG4jYWRkRm9sZGVyUG9wdXAgeyB0b3A6IDM2cHg7IHJpZ2h0OiAtMjU5cHg7IH1cclxuLmZpbGVDYWJpbmV0UG9wdXAgc3Ryb25nLCAuZmlsZUNhYmluZXRQb3B1cDIgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMThweCAxMHB4IDA7IGNvbG9yOiAjM2I1ZjBmOyB9XHJcbi5maWxlQ2FiaW5ldFBvcHVwIGxhYmVsLCAuZmlsZUNhYmluZXRQb3B1cDIgbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMCAwIDNweDsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCBpbnB1dC5pbnB1dGJveCwgLmZpbGVDYWJpbmV0UG9wdXAgdGV4dGFyZWEsIC5maWxlQ2FiaW5ldFBvcHVwIHNlbGVjdCwgLmZpbGVDYWJpbmV0UG9wdXAyIGlucHV0LmlucHV0Ym94LCAuZmlsZUNhYmluZXRQb3B1cDIgdGV4dGFyZWEsIC5maWxlQ2FiaW5ldFBvcHVwMiBzZWxlY3QgeyBmb250LXNpemU6IDEycHg7IHdpZHRoOiAyMTRweDsgbWFyZ2luOiAwIDAgMTBweCAwOyBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IH1cclxuLmZpbGVDYWJpbmV0UG9wdXAgdGV4dGFyZWEsIC5maWxlQ2FiaW5ldFBvcHVwMiB0ZXh0YXJlYSB7IGhlaWdodDogNTBweDsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCBzZWxlY3QsIC5maWxlQ2FiaW5ldFBvcHVwMiBzZWxlY3QgeyB3aWR0aDogMjIwcHg7IH1cclxuLmZpbGVDYWJpbmV0UG9wdXAgaW5wdXQuY2hlY2tib3gsIC5maWxlQ2FiaW5ldFBvcHVwMiBpbnB1dC5jaGVja2JveCB7IG1hcmdpbjogMCAzcHggMTBweCAwOyB9XHJcbi5maWxlQ2FiaW5ldFBvcHVwIGJ1dHRvbiwgLmZpbGVDYWJpbmV0UG9wdXAyIGJ1dHRvbiwgLmZpbGVDYWJpbmV0UG9wdXAyIC5idXR0b24geyBtYXJnaW46IDEwcHggOHB4IDAgMDsgY29sb3I6ICNGRkY7IGJhY2tncm91bmQ6ICM0ODczMTM7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOHB4OyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxMXB4OyBwYWRkaW5nOiAzcHggMTBweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LXNoYWRvdzogbm9uZTsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCBidXR0b246aG92ZXIsIC5maWxlQ2FiaW5ldFBvcHVwMiBidXR0b246aG92ZXIgeyB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzJjNDgwODsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCBhLmRlbGV0ZUxpbmssIC5maWxlQ2FiaW5ldFBvcHVwMiBhLmRlbGV0ZUxpbmsgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiByZWQ7IGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2ljb24tZGVsZXRlLnBuZykgcmlnaHQgdG9wIG5vLXJlcGVhdDsgcGFkZGluZy1yaWdodDogMTlweDsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCAuYXJyb3cgeyBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9hcnJvdy11cC1maWxlY2FiaW5ldC5wbmcpIDAgMCBuby1yZXBlYXQ7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtOHB4OyBsZWZ0OiAxMTNweDsgd2lkdGg6IDE1cHg7IGhlaWdodDogOXB4OyBkaXNwbGF5OiBibG9jazsgfVxyXG4jYWRkRm9sZGVyUG9wdXAgLmFycm93IHsgbGVmdDogMTY1cHg7IH0uZmlsZUNhYmluZXRQb3B1cDIgLmFycm93IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTVweDsgaGVpZ2h0OiA5cHg7IHotaW5kZXg6IDEwOyB9XHJcbi5maWxlQ2FiaW5ldFBvcHVwMiAuYXJyb3ctdG9wLCAuZmlsZUNhYmluZXRQb3B1cDIgLmFycm93LXRvcGxlZnQsIC5maWxlQ2FiaW5ldFBvcHVwMiAuYXJyb3ctdG9wcmlnaHQgeyBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9hcnJvdy11cC1maWxlY2FiaW5ldC5wbmcpIDAgMCBuby1yZXBlYXQ7IHRvcDogLThweDsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cDIgLmFycm93LWJvdHRvbSwgLmZpbGVDYWJpbmV0UG9wdXAyIC5hcnJvdy1ib3R0b21sZWZ0LCAuZmlsZUNhYmluZXRQb3B1cDIgLmFycm93LWJvdHRvbXJpZ2h0IHsgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvYXJyb3ctZG93bi1maWxlY2FiaW5ldC5wbmcpIDAgMCBuby1yZXBlYXQ7IGJvdHRvbTogLThweDsgfVxyXG4uZmlsZUNhYmluZXRQb3B1cCAuY2xvc2UsIC5maWxlQ2FiaW5ldFBvcHVwMiAuY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6ICA1cHg7IHJpZ2h0OiA1cHg7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IHRleHQtaW5kZW50OiAtMTAwMDBlbTsgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvYnV0dG9uLWZpbGUtY2FiaW5ldC1jbG9zZS5wbmcpIDAgMCBuby1yZXBlYXQ7fVxyXG4uZmlsZUNhYmluZXRQb3B1cCAuY2xvc2U6aG92ZXIsIC5maWxlQ2FiaW5ldFBvcHVwMiAuY2xvc2U6aG92ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4OyB9XHJcbi5maWxlQ2FiaW5ldFBvcHVwMiAuZXJyb3IgeyBjb2xvcjogcmVkOyBiYWNrZ3JvdW5kOiB5ZWxsb3c7IHBhZGRpbmc6IDJweCA1cHg7IG1hcmdpbjogMCAwIDVweDsgYm9yZGVyLXJhZGl1czogM3B4OyB9XHJcblxyXG4jZmlsZUNhYmluZXRQb3BPdXQtb3ZlcmxheSB7IC1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT02MClcIjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7IH1cclxuXHJcblxyXG4iLCIvKlxyXG5GSUxFIENBQklORVQgUklCQk9OXHJcblJpYmJvbiB0aGF0IGRyb3BzIGRvd24gYmVuZWF0aCBtYWluIG5hdmlnYXRpb24gd2hlbiBhIGJvb2sgaXMgYWRkZWQgdG8gYSBmb2xkZXJcclxuXHJcbkxvY2F0aW9uOiBzaGFyZWQvY3NzL21vZHVsZXMvX2ZpbGVDYWJpbmV0UmliYm9uLmNzc1xyXG4qL1xyXG5cclxuLmZpbGVDYWJpbmV0UmliYm9uIHtcclxuICAgIGJhY2tncm91bmQ6ICMzRDM4MzY7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG59XHJcbiAgICAuZmlsZUNhYmluZXRSaWJib24uaXMtb3BlbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgIH1cclxuICAgIC5maWxlQ2FiaW5ldFJpYmJvbi5pcy1zdGlja3kge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogMTAwMTsgLyogYmVsb3cgYXNzaWduIG1vZGFsICovXHJcbiAgICB9XHJcblxyXG4uZmlsZUNhYmluZXRSaWJib25faGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuICAgIC5maWxlQ2FiaW5ldFJpYmJvbl9oZWFkaW5nOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQgMTNweDtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxMHB4ICNDODMxOTI7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIHRvcDogLTEzcHg7XHJcbiAgICB9XHJcbiAgICAuZmlsZUNhYmluZXRSaWJib24uaXMtc3RpY2t5IC5maWxlQ2FiaW5ldFJpYmJvbl9oZWFkaW5nOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpbGVDYWJpbmV0UmliYm9uX2hlYWRpbmcgLmljb24tZm9sZGVyLW9wZW4ge1xyXG4gICAgICAgIGNvbG9yOiAjRENDNjg2O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKipcclxuICAgIHRvZ2dsZSB0byBzaG93L2hpZGUgcmVzb3VyY2VzXHJcbiAgICAqKiovXHJcblxyXG4gICAgLmZpbGVDYWJpbmV0UmliYm9uX2hlYWRpbmdfYXJyb3dVcCxcclxuICAgIC5maWxlQ2FiaW5ldFJpYmJvbl9oZWFkaW5nX2Fycm93RG93biB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgICAgICAuZmlsZUNhYmluZXRSaWJib25faGVhZGluZ19hcnJvd1VwIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCA4cHggdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDhweCAjMDU1YmFkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlsZUNhYmluZXRSaWJib25faGVhZGluZ19hcnJvd0Rvd24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDhweCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgOHB4ICMwNTViYWQ7XHJcbiAgICAgICAgfVxyXG5cclxuLyoqKlxyXG5saXN0IG9mIHJlc291cmNlc1xyXG4qKiovXHJcblxyXG4uZmlsZUNhYmluZXRSaWJib25fcmVzb3VyY2VMaXN0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDJweCAyNHB4IDAgMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG4gICAgLmZpbGVDYWJpbmV0UmliYm9uX3Jlc291cmNlTGlzdDo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAyNHB4O1xyXG4gICAgICAgIHRvcDogMjUlO1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICB9XHJcblxyXG4uZmlsZUNhYmluZXRSaWJib25fcmVzb3VyY2Uge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDlweCAxMHB4IDlweCAwO1xyXG4gICAgcGFkZGluZzogMCAxNXB4IDAgMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG4gICAgLmZpbGVDYWJpbmV0UmliYm9uX3Jlc291cmNlX2FjdGlvbnNJY29uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtM3B4O1xyXG4gICAgICAgIHRvcDogLTZweDtcclxuICAgIH1cclxuXHJcbiAgICAgICAgLmZpbGVDYWJpbmV0UmliYm9uX3Jlc291cmNlX2FjdGlvbnNJY29uID4gLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogIzdERDJGRTtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIC5maWxlQ2FiaW5ldFJpYmJvbl9yZXNvdXJjZV9hY3Rpb25zSWNvbiA+IC5pY29uOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbi5maWxlQ2FiaW5ldFJpYmJvbl90aHVtYm5haWwge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2UwZTBlMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtaGVpZ2h0OiA2NXB4O1xyXG4gICAgbWF4LXdpZHRoOiA3M3B4O1xyXG59XHJcbiAgICAuZmlsZUNhYmluZXRSaWJib25fdGh1bWJuYWlsLXBhY2sge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiIsIi8qXHJcbkZJTFRFUlNcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2ZpbHRlcnMuY3NzXHJcblRPRE86IFNwbGl0IHVwIGludG8gbXVsdGlwbGUgbW9kdWxlc1xyXG5UT0RPOiBDb2RlIFJldmlld1xyXG4qL1xyXG5cclxuLmZpbHRlcnMge1xyXG5cdGJhY2tncm91bmQ6ICNlOGU4ZTg7XHJcblx0bWFyZ2luOiAxOHB4IDA7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG4uZmlsdGVyc0hlYWRpbmcge1xyXG5cdGJhY2tncm91bmQ6ICNjY2M7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0cGFkZGluZzogNnB4IDEwcHg7XHJcblx0bWFyZ2luOiAtMTBweCAtMTBweCAxMHB4IC0xMHB4O1xyXG59XHJcblxyXG4uZmlsdGVyUmVzdWx0cyB7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgM3B4ICNlMGUwZTA7XHJcblx0bWFyZ2luOiAwIDAgMThweCAwO1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIHRvIGVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiAjZmlsdGVyTG9hZGVyICovXHJcbn1cclxuLmZpbHRlclJlc3VsdHMgLnJlc3VsdHNTaG93aW5nIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLmZpbHRlclJlc3VsdHMgLnJlc3VsdHNWaWV3IHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG59XHJcblx0LmZpbHRlclJlc3VsdHMgLnJlc3VsdHNWaWV3IGIge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdH1cclxuXHQuZmlsdGVyUmVzdWx0cyAucmVzdWx0c1ZpZXcgLmljb24ge1xyXG5cdFx0Y29sb3I6ICM5OTk7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMnB4O1xyXG5cdH1cclxuXHQuZmlsdGVyUmVzdWx0cyAucmVzdWx0c1ZpZXcgLmFjdGl2ZSAuaWNvbiB7XHJcblx0XHRjb2xvcjogIzIyMjtcclxuXHR9XHJcblx0XHJcbi5maWx0ZXJSZXN1bHRzIC5yZXN1bHRzU29ydCB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblx0IC5yZXN1bHRzU29ydCBzZWxlY3Qge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAtNXB4O1xyXG5cdH1cclxuXHRcclxuLmNsZWFyRmlsdGVycyB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbn1cdFxyXG4gICAgLmNsZWFyRmlsdGVycyBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAgICAgLmNsZWFyRmlsdGVycyBhOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG5cclxuLyoqKiBTVFVERU5UIEZJTFRFUiAqKiovXHJcbi8qLmZpbHRlckRyb3Bkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuICAgIC5maWx0ZXJEcm9wZG93biAucG9wb3ZlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuZmlsdGVyRHJvcGRvd24taGVhZGluZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5maWx0ZXJEcm9wZG93bi1jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2VhZWFlYTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzc1cHg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxMHB4IDEwcHggMjBweCAwcHggcmdiYSgwLDAsMCwwLjEzKTtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDEwcHggMTBweCAyMHB4IDBweCByZ2JhKDAsMCwwLDAuMTMpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDEwcHggMTBweCAyMHB4IDBweCByZ2JhKDAsMCwwLDAuMTMpO1xyXG4gICAgfSovXHJcblxyXG4vKiAtLS0tLS0tLS0tXHJcbkxPQURFUlNcclxuLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogRml4ZWQtaGVpZ2h0IGxvYWRlci4gT25seSB1c2UgaWYgYWJzb2x1dGVseSBuZWNlc3NhcnkuICovXHJcbi8qIFRoaXMgb25lIGxvb2tzIGJyb2tlbi4gU2hvdWxkIGJlIHJlcGxhY2VkIHdoZW4gcG9zc2libGUgKi9cclxuI2ZpbHRlckxvYWRlcixcclxuI2xvYWRlcixcclxuLmxvYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcclxuICAgIGhlaWdodDogODAwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAzOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbn1cclxuXHJcbi8qIFNwZWNpYWwgZmlsdGVyIGxvYWRlciBjb250YWluZXIsICovXHJcbi8qIFdoZW4gRmlsdGVyIExvYWRlciBJcyBub3QgZGlzcGxheWVkIGluc2lkZSAqL1xyXG4vKiBGaWx0ZXIgUmVzdWx0cyAgKi9cclxuLmZpbHRlckxvYWRlckNvbnRhaW5lcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZmlsdGVyTG9hZGVyQ29udGFpbmVyPiNmaWx0ZXJMb2FkZXJ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwYWRkaW5nLXRvcDo1MHB4O1xyXG59XHJcblxyXG4vKiBsb2FkZXIgd2l0aCBmbHVpZCBkaW1lbnNpb25zLiBVc2UgdGhpcyBvbmUgd2hlcmV2ZXIgcG9zc2libGUgKi9cclxuLmxvYWRlci1mbHVpZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcbi5sb2FkZXItZmx1aWQgaW1nIHtcclxuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbn1cclxuXHJcblxyXG4uaXRlbXNQZXJQYWdlTGluayB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDAgMnB4O1xyXG59XHJcbi5pdGVtc1BlclBhZ2VMaW5rLmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdGNvbG9yOiAjMDAwO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuXHJcbi8qKioqIFRFTVAgU1RZTEVTICoqKiovXHJcblxyXG4uZmlsdGVyc0RpdiB7IGJhY2tncm91bmQ6ICNjY2UwZjI7IG92ZXJmbG93OiBhdXRvOyBtYXJnaW46IDAgMCAyNXB4OyBjbGVhcjogYm90aDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTZweDsgfVxyXG4uZmlsdGVyc0RpdiBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZDogIzc0YTRkMCAhaW1wb3J0YW50OyBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNhYmM5ZTQ7IHBhZGRpbmc6IDZweCAxMHB4OyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxyXG4uZmlsdGVyc0RpdiBzdHJvbmcuaGVhZGluZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxyXG4uZmlsdGVyc0RpdiBzdHJvbmcuaGVhZGluZyAuY2xlYXJGaWx0ZXJzIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyB0b3A6IDVweDsgcmlnaHQ6IDEwcHg7IHdpZHRoOiBhdXRvOyBmbG9hdDogbm9uZTsgcGFkZGluZzogMDsgfVxyXG4uZmlsdGVyc0RpdiBzdHJvbmcuaGVhZGluZyAuY2xlYXJGaWx0ZXJzIHNwYW4geyB0ZXh0LXNoYWRvdzogbm9uZTsgfVxyXG4uZmlsdGVyc0RpdiBkaXYgeyBwYWRkaW5nOiA1cHggMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uZmlsdGVyc0RpdiBkaXYgdWwgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgbGlzdC1zdHlsZTogbm9uZTsgfVxyXG4uZmlsdGVyc0RpdiBkaXYgdWwgbGkgeyBtYXJnaW46IDAgMCAwIDEwcHg7IHBhZGRpbmc6IDJweCAwOyBsaXN0LXN0eWxlOiBub25lOyBmbG9hdDogbGVmdDsgd2lkdGg6IDI3M3B4OyBmb250LXNpemU6IDExcHg7IGxpbmUtaGVpZ2h0OiAxMnB4OyB9XHJcbi5maWx0ZXJzRGl2LnR3b0Fjcm9zcyBkaXYgdWwgbGkgeyAgd2lkdGg6IDQ2MHB4OyB9XHJcbi5maWx0ZXJzRGl2LmZvdXJBY3Jvc3MgZGl2IHVsIGxpIHsgIHdpZHRoOiAyMjVweDsgfVxyXG4jY29udGVudGFyZWEgLmZpbHRlcnNEaXYgZGl2IHVsIGxpIHsgd2lkdGg6IDIzM3B4OyB9XHJcbiNjb250ZW50YXJlYSAuZmlsdGVyc0Rpdi50d29BY3Jvc3MgZGl2IHVsIGxpIHsgd2lkdGg6IDM1NXB4OyB9XHJcbiNjb250ZW50YXJlYSAuZmlsdGVyc0Rpdi5mb3VyQWNyb3NzIGRpdiB1bCBsaSB7IHdpZHRoOiAxNzJweDsgfVxyXG4uZmlsdGVyc0RpdiBkaXYgdWwgbGkgaW5wdXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IHRvcDogMnB4OyBtYXJnaW46IDAgNHB4IDVweCAwOyBwYWRkaW5nOiAwOyBmbG9hdDogbGVmdDsgfVxyXG4uZmlsdGVyc0RpdiBmb3JtIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XHJcbi5maWx0ZXJzRGl2IGRpdiB1bC5maWx0ZXJEaXZpZGVyIHsgY2xlYXI6IGxlZnQ7IHdpZHRoOiAxMDAlOyBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5maWx0ZXJzRGl2IGRpdiB1bC5maWx0ZXJEaXZpZGVyOmJlZm9yZSB7IGNvbnRlbnQ6Jyc7IHdpZHRoOiAxMDAlOyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IHRvcDogLTJweDsgbGVmdDogMDsgfVxyXG5cclxuLmZpbHRlcnNEaXYgLmNsZWFyRmlsdGVycyBhIHsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjRkZGOyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICM2MjlBQ0M7IH1cclxuLmZpbHRlcnNEaXYgLmNsZWFyRmlsdGVycyBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTNweDsgaGVpZ2h0OiAxM3B4OyBtYXJnaW46IDAgM3B4IDAgMDsgbGluZS1oZWlnaHQ6IDE0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM2MjlBQ0M7IGJhY2tncm91bmQ6ICNGRkY7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDEycHg7IH1cclxuLmZpbHRlcnNEaXYgLmNsZWFyRmlsdGVycyBhOmhvdmVyIHsgY29sb3I6ICNGRkY7IH1cclxuLmZpbHRlcnNEaXYgLmNsZWFyRmlsdGVycyBhOmhvdmVyIHNwYW4geyBiYWNrZ3JvdW5kOiAjMzMzOyBjb2xvcjogI0ZGRjsgdGV4dC1zaGFkb3c6IG5vbmU7IH1cclxuXHJcbiIsIi8qXHJcbkdST1VQIEZJTFRFUlxyXG5MaW5rcyB0aGF0IGFsbG93IHlvdSB0byBzZWxlY3QgYWxsIHN0dWRlbnRzIGluIGEgZ3JvdXBcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX2dyb3VwRmlsdGVyLmNzc1xyXG4qL1xyXG5cclxuLmdyb3VwRmlsdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlNGY0ZmY7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZDNlZGZmO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG59XHJcbi5ncm91cEZpbHRlciBhIHtcclxuICAgIG1hcmdpbjogMCAxMnB4O1xyXG59IiwiLypcbkhFQURJTkcgQkFOTkVSXG5CYW5uZXIgd2l0aCBiYWNrZ3JvdW5kIGltYWdlIGFuZCB0ZXh0IGNvbnRhaW5pbmcgdGhlIHBhZ2UgdGl0bGVcbkN1cnJlbnRseSB1c2VkIGZvciB0aGUgVGVhY2hlciBDb3JuZXJcbkxvY2F0aW9uOiAvc2hhcmVkL21vZHVsZXMvX2hlYWRpbmdCYW5uZXIuY3NzXG4qL1xuXG4uaGVhZGluZ0Jhbm5lciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9zaGFyZWQvaW1hZ2VzL3RlYWNoZXJjb3JuZXJiYW5uZXIyLmpwZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3JkZXI6IHNvbGlkIDlweCAjZTBlMGUwO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiAycmVtIDA7XG4gICAgcGFkZGluZzogMnJlbSAzNSUgMnJlbSAycmVtO1xufVxuLmhlYWRpbmdCYW5uZXJfdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBTaWduaWthLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5oZWFkaW5nQmFubmVyX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbn0iLCIuaGVyb1NsaWRlciB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5oZXJvU2xpZGVyIC5zbGlkZS1jb250ZW50IGgxLFxyXG4uaGVyb1NsaWRlciAuc2xpZGUtY29udGVudCBwIHtcclxuICAgIHdpZHRoOiA0MDBweDtcclxufVxyXG4uaGVyb1NsaWRlciAuc2xpZGUtY29udGVudCBoMSB7XHJcbiAgICBmb250LWZhbWlseTogJ1NpZ25pa2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcclxuICAgIG1hcmdpbjogMzZweCAwIDE4cHggMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuLmhlcm9TbGlkZXIgLnNsaWRlLWNvbnRlbnQgcCB7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG4uaGVyb1NsaWRlciAuc2xpZGUtY29udGVudCBhIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnU2lnbmlrYScsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuLmhlcm9TbGlkZXIgLnNsaWRlLWNvbnRlbnQgLmJ0biB7XHJcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG59XHJcbi5oZXJvU2xpZGVyIC5scy1ib3R0b20tc2xpZGVidXR0b25zIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRvcDogLTI2cHg7XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX2hlcm8uY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5oZXJvIHtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9ob21lcGFnZS1oZXJvLnBuZykgbm8tcmVwZWF0IDAgMDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHRtaW4taGVpZ2h0OiAzMzRweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uaGVyb190aXRsZSB7XHJcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IHJnYmEoMjU1LDI1NSwyNTUsIC42KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAuNTtcclxuICAgIGZvbnQtc2l6ZTogMjAwJTtcclxuICAgIG1hcmdpbjogMCAwIDJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmhlcm9fc3VidGl0bGUge1xyXG4gICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCByZ2JhKDI1NSwyNTUsMjU1LCAuNik7XHJcbiAgICBmb250LXNpemU6IDIwMCU7XHJcbiAgICBtYXJnaW46IDAgMCA4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oZXJvIGltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX2ltYWdlLXNsaWRlci5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaW1hZ2VTbGlkZXIge1xyXG59XHJcbi5pbWFnZVNsaWRlckRlY2sge1xyXG5cdHotaW5kZXg6IDE7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMzU1cHg7XHJcblx0YmFja2dyb3VuZDogI2VhZWFlYTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblx0LmltYWdlU2xpZGUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdC5pbWFnZVNsaWRlIGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxuXHQuaW1hZ2VTbGlkZUltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcclxuXHR9XHJcblx0LmltYWdlU2xpZGVUZXh0IHtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRjb2xvcjogIzY2NjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRcdC5pbWFnZVNsaWRlVGV4dCBzdHJvbmcge1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdH1cclxuXHRcclxuLmltYWdlU2xpZGVyTmF2IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmltYWdlU2xpZGVyTmF2IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAtMTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAtMTBweDtcclxuXHR6LWluZGV4OiAyO1x0XHJcbn1cclxuLmRvdCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiAxMHB4O1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGJhY2tncm91bmQ6ICNDQ0M7XHJcblx0Ym9yZGVyOiAycHggc29saWQgI0NDQztcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcbi5kb3Q6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6ICMwMDA7XHJcblx0Ym9yZGVyLWNvbG9yOiAjMDAwO1xyXG59XHJcbi5kb3Quc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcbn0iLCIvKlxyXG5JbmNlbnRpdmVzXHJcblxyXG5TdHVkZW50IEluY2VudGl2ZXMgU3R5bGVzXHJcblxyXG5NYXJrdXA6XHJcbm1hcmt1cC9pbmNlbnRpdmVzLmhic1xyXG5cclxuU3R5bGVndWlkZSAxMC4wXHJcbiovXHJcblxyXG4vKiBTdHlsZXMgZm9yIGluY2VudGl2ZSBwYWdlLCBzdGlsbCBuZWVkIHRvIGJlIHJlZmFjdG9yZWQgKi9cclxuLmZsb2F0TGVmdCB7IGZsb2F0OiBsZWZ0OyB9XHJcbi5mbG9hdFJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbi5vdmVyZmxvdyB7IG92ZXJmbG93OiBhdXRvOyB9XHJcbi5pbmNlbnRpdmVXcmFwcGVyIHtcclxuXHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZWQ2MjtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgMCUsIGVsbGlwc2UgZmFydGhlc3Qtc2lkZSwgcmdiYSgyNiwgOTksIDE1MywgLjEpIDAsIHJnYmEoMjYsIDk5LCAxNTMsIC4wKSAyMDBweCk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoNTAlIDAlLCBlbGxpcHNlIGZhcnRoZXN0LXNpZGUsIHJnYmEoMjYsIDk5LCAxNTMsIC4xKSAwLCByZ2JhKDI2LCA5OSwgMTUzLCAuMCkgMjAwcHgpO1x0XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudCg1MCUgMCUsIGVsbGlwc2UgZmFydGhlc3Qtc2lkZSwgcmdiYSgyNiwgOTksIDE1MywgLjEpIDAsIHJnYmEoMjYsIDk5LCAxNTMsIC4wKSAyMDBweCk7XHRcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxuXHRtaW4taGVpZ2h0OiAzNzVweDtcclxufVxyXG5cclxuXHQuaW5jZW50aXZlV3JhcHBlcjpiZWZvcmUsIC5pbmNlbnRpdmVXcmFwcGVyOmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTtcdGxlZnQ6IDUwJTt9XHJcblx0LmluY2VudGl2ZVdyYXBwZXI6YmVmb3JlIHsgbWFyZ2luLWxlZnQ6IC03MHB4OyB0b3A6IC0xcHg7IHotaW5kZXg6IDUwOyBib3JkZXItbGVmdDogNzBweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiA3MHB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItdG9wOiA0MHB4IHNvbGlkICNmZmY7IH1cclxuXHQuaW5jZW50aXZlV3JhcHBlcjphZnRlciB7IG1hcmdpbi1sZWZ0OiAtNzFweDt0b3A6IC0xcHg7IHotaW5kZXg6IDQ5OyBib3JkZXItbGVmdDogNzFweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiA3MXB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItdG9wOiA0MXB4IHNvbGlkICNmOWVkNjI7IH1cclxuXHQuaW5jZW50aXZlQ29udGVudCB7IHBhZGRpbmctcmlnaHQ6IDI0MHB4OyBmbG9hdDogbGVmdDsgY2xlYXI6IGJvdGg7IH1cclxuXHQuaW5jZW50aXZlSW1hZ2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMjVweDsgcmlnaHQ6IDI1cHg7IH1cclxuXHQuaW5jZW50aXZlUm9ja2V0QnRuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBib3R0b206IDA7IH1cclxuICAgIC5pbmNlbnRpdmVXcmFwcGVyIGgyIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XHJcbiAgICAuc3RhcnNJY29uLCAuYnVsbGV0LCAuYXZhdGFySWNvbiwgLnJvY2tldEljb24sIC5zdGFySWNvbiwgLnRpcEljb24sIC5hd2FyZEljb24geyBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9pbmNlbnRpdmVTcHJpdGVTaGVldC5wbmdcIikgbm8tcmVwZWF0O21hcmdpbi1sZWZ0OiA1cHg7IH1cclxuXHJcbi5zdGFyc0ljb24sIC5yb2NrZXRJY29uLCAuYXZhdGFySWNvbiwgLmF3YXJkSWNvbiB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnN0YXJzSWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgd2lkdGg6IDE4cHg7IGhlaWdodDogMjBweDt9XHJcbi5hdmF0YXJJY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0cHggMDsgd2lkdGg6IDE1cHg7IGhlaWdodDogMjBweDsgfVxyXG4ucm9ja2V0SWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC03OXB4IDA7IHdpZHRoOiAxM3B4OyBoZWlnaHQ6IDIwcHg7fVxyXG4uYXdhcmRJY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMnB4IDA7IHdpZHRoOiAxM3B4OyBoZWlnaHQ6IDE4cHg7fVxyXG5cclxuLnRpcENhcHRpb25XcmFwcGVyIHsgb3ZlcmZsb3c6IGF1dG87IG1hcmdpbi10b3A6IDIwcHg7IH1cclxuXHQudGlwQ2FwdGlvbiB7IGNvbG9yOiAjMWM2NzlmOyBmbG9hdDogbGVmdDsgbWFyZ2luLWxlZnQ6IDVweDsgd2lkdGg6IDUxNXB4OyB9XHJcblx0LnRpcENhcHRpb24gc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG5cdC50aXBJY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNnB4IDA7IHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI2cHg7IG1hcmdpbi10b3A6IDZweDsgfVx0XHJcblxyXG4uY2hlY2tCdWxsZXRzIHtsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwO31cclxuXHQuY2hlY2tCdWxsZXRzIGxpIHsgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvYnVsbGV0LnBuZ1wiKSBuby1yZXBlYXQgdG9wIGxlZnQ7IHBhZGRpbmctbGVmdDogMjBweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuXHJcbi5zdGFyQ2hhcnQge2NvbG9yOiAjMWM2NzlmOyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IHdpZHRoOiA1MDBweDsgaGVpZ2h0OiAyMzFweDsgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvc3RhckNoYXJ0LnBuZ1wiKSBuby1yZXBlYXQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7fVxyXG5cdC5zdGFyQ2hhcnQgLnNtYWxsIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDExcHg7IH1cclxuXHQuc3RhckNoYXJ0IHRkIHsgcGFkZGluZzogMCAwIDAgMTBweDsgfVxyXG5cdC5zdGFyQ291bnQge2ZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHdoaXRlOyB0ZXh0LWFsaWduOiByaWdodDsgZm9udC1zdHlsZTogaXRhbGljOyBwYWRkaW5nLXJpZ2h0OiAzNXB4O30gXHJcblx0LnRhYmxlLXBsYWluIC5zdGFyQ291bnQgeyBwYWRkaW5nLXJpZ2h0OiAzNXB4O30gXHJcblx0LnN0YXJDaGFydEhlYWQgeyBjb2xvcjogIzFjNjc5ZjsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyB9XHJcblx0LnN0YXJDaGFydEFsaWduUmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDQwNXB4OyB9XHJcblx0LnN0YXJJY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMXB4IDA7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IH1cclxuXHQuc3RhckNoYXJ0SGVhZCBlbSB7IGNvbG9yOiAjMDAwOyBmb250LXdlaWdodDogYm9sZDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDNweCAxMHB4OyBiYWNrZ3JvdW5kOiAjRkNDMzYyOyBmb250LXNpemU6IDEycHg7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRkZGOyB9XHJcblx0LnN0YXJDaGFydC5oZWFkc3Byb3V0U3RhcnMgeyBoZWlnaHQ6IDE2NHB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02N3B4OyB9ICAgLyogaGVpZ2h0IHN0YXJ0ZWQgMTY0cHggKi9cclxuXHQuc3RhckNoYXJ0LnRlc3RsZXRTdGFycyB7IGhlaWdodDogMTMycHg7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk5cHg7IH1cclxuXHQuc3RhckNoYXJ0LndhelN0YXJzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTlweDsgaGVpZ2h0OiA5OXB4OyB9XHJcblx0LnN0YXJDaGFydC5zYXpTdGFycyB7IGhlaWdodDogMTk4cHg7IH1cclxuXHRcclxuLnJhbmtDaGFydCB7Y29sb3I6ICMxYzY3OWY7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDIzMXB4OyBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9yYW5rQ2hhcnQucG5nXCIpIDAgMzRweCBuby1yZXBlYXQ7IH1cclxuXHQucmFua0NoYXJ0IC5zdGFyQ291bnQge2ZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHdoaXRlOyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyBmb250LXN0eWxlOiBpdGFsaWM7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGhlaWdodDogMjlweDt9IFxyXG5cdC5yYW5rQ2hhcnQgdGhlYWQgdGggeyBjb2xvcjogIzFjNjc5ZiAhaW1wb3J0YW50OyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OyB9XHJcblx0LnJhbmtDaGFydCB0ZCB7IHBhZGRpbmctbGVmdDogNDBweDsgcGFkZGluZy10b3A6IDRweDsgfVxyXG5cclxuLyogQXZhdGFyIHNjcm9sbGluZyBiYW5uZXIgKi9cclxuLmF2YXRhclNsaWRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgdG9wOiAwOyByaWdodDogMDsgfVxyXG5cdC5hdmF0YXJCYW5uZXJDb250ZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB3aWR0aDogMjUwcHg7IGhlaWdodDogNDE1cHg7IH1cclxuXHQuYXZhdGFyQmFubmVyQ29udGVudCAuYXZhdGFyQmFubmVyIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyBib3R0b206IDA7IHJpZ2h0OiAwO31cclxuXHJcbi8qIEF2YXRhciBzY3JvbGxpbmcgYnV0dG9ucyAqL1xyXG4jYnV0dG9ucyB7IHBhZGRpbmctbGVmdDogOTBweDsgIG1hcmdpbjogMTBweCAwIDAgMDsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB3aWR0aDogMTIwcHg7IG92ZXJmbG93OiBhdXRvOyB9XHJcblx0I2J1dHRvbnMgbGkgeyBmbG9hdDogbGVmdDsgaGVpZ2h0OiAxN3B4OyB3aWR0aDogMTZweDsgbWFyZ2luLXJpZ2h0OiA1cHg7IGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2luY2VudGl2ZVNwcml0ZVNoZWV0LnBuZ1wiKSAtMTU1cHggMDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcblx0I2J1dHRvbnMgbGkuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9pbmNlbnRpdmVTcHJpdGVTaGVldC5wbmdcIikgLTE3MXB4IDA7IH0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fa2lkc0xvZ2luLmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5raWRzTG9naW5Sb2JvdCB7XHJcbiBcdGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2xvZ2luQmFubmVyUm9ib3QucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG4gICAgaGVpZ2h0OiAxNThweDtcclxuICAgIGxlZnQ6IDQ4MHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAtMTE0cHg7XHJcbiAgICB3aWR0aDogMjM3cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcbi5raWRzTG9naW4ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvbG9naW5CYW5uZXJCZy5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG4ua2lkc0xvZ2luQnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2xvZ2luQmFubmVyQnRuU3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiA4M3B4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDYwcHg7XHJcbiAgICB0ZXh0LWluZGVudDogLTEwMDBlbTtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cdC5raWRzTG9naW4gLmtpZHNMb2dpbkJ1dHRvbjpob3ZlciB7XHJcblx0ICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgzcHg7XHJcblx0fSIsIi8qXG5MQU5ESU5HIFBBR0UgTkFWIChDdXJyZW50bHkgdXNlZCBmb3IgVGVhY2hlciBDb3JuZXIpXG5Mb2NhdGlvbjogL3NoYXJlZC9tb2R1bGVzL19sYW5kaW5nUGFnZU5hdi5jc3NcbiovXG5cbi5sYW5kaW5nUGFnZU5hdiB7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG59XG4ubGFuZGluZ1BhZ2VOYXYgLm5hdkhlYWRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19sZWFkZXJib2FyZC5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmxlYWRlcmJvYXJkIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMCA4cHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG4ubGVhZGVyYm9hcmQgbGkge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG59XHJcblx0LmxlYWRlcmJvYXJkIGxpOmZpcnN0LWNoaWxkIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjN2Y3YzdiO1xyXG5cdH1cclxuXHQubGVhZGVyYm9hcmQgbGk6bGFzdC1jaGlsZCB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDZweDtcclxuXHR9XHJcbi5sZWFkZXJib2FyZCBzcGFuIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX2xldmVsLWJhci5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyogUkVBRElORyBMRVZFTCBQT1BPVVQgQ09OVEVOVCAqL1xyXG4vKiBmb3Igc2VsZWN0aW5nIGVwaXNvZGUgdXNpbmcgYXNzaWdubWVudCBwaWNrZXIgKi9cclxuLnBvcG91dENvbnRlbnQucG9wb3V0Q29udGVudC1yayB7XHJcbiAgICB0b3A6IDM4cHg7XHJcbiAgICB3aWR0aDogNzU2cHg7XHJcbn1cclxuLnBvcG91dENvbnRlbnQucG9wb3V0Q29udGVudC1yayAubGV2ZWxCYXJOZXcge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5wb3BvdXRDb250ZW50LnBvcG91dENvbnRlbnQtcmsgLmxldmVscyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKi9cclxuLyogTEVWRUwgQkFSICovXHJcblxyXG4jbGV2ZWxCYXJOZXcsXHJcbi5sZXZlbEJhck5ldyB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIG1hcmdpbjogMThweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG4ubGV2ZWxCYXJOZXcgLm1kbGV2ZWwsXHJcbiNsZXZlbEJhck5ldyAubWRsZXZlbCB7XHJcbiAgICB3aWR0aDogNzUwcHg7XHJcbn1cclxuXHJcbiNsZXZlbEJhck5ldy5sZXZlbEJhckxpbmtzIHtcclxuICAgIG1hcmdpbjogN3B4IDA7XHJcbn1cclxuI2xldmVsQmFyTmV3IHN0cm9uZyxcclxuLmxldmVsQmFyTmV3IHN0cm9uZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDAgMCA0cHggMnB4O1xyXG59XHJcbiNsZXZlbEJhck5ldyB1bCxcclxuLmxldmVsQmFyTmV3IHVsLFxyXG51bC5sZXZlbHMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuI2xldmVsQmFyTmV3OmFmdGVyLFxyXG4ubGV2ZWxCYXJOZXc6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuI2xldmVsQmFyTmV3IHVsIGxpLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkge1xyXG4gICAgd2lkdGg6IDMuNDQ4JTtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGksXHJcbi5sZXZlbEJhck5ldyB1bCBsaSxcclxuLmxldmVscyBsaSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCAxcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEzKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSxcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEge1xyXG4gICAgb3BhY2l0eTogLjM1O1xyXG4gICAgICAgIC1tb3otb3BhY2l0eTogLjM1O1xyXG4gICAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhXCIoT3BhY2l0eT0zNSk7XHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMzUpO1xyXG4gICAgICAgIC1raHRtbC1vcGFjaXR5OiAwLjM1O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyogbGV2ZWxzIG5vdCBpbiBhIGZ1bGwgbGV2ZWwgYmFyICovXHJcblxyXG4ubGV2ZWxzIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG4ubGV2ZWxzIGxpIHtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG59XHJcbi5sZXZlbHMgLmxldmVsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHRib3JkZXI6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcblx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHR0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICNkODE0MTQ7XHJcbn1cclxuLmxldmVscyAubGV2ZWwgYSB7XHJcbiAgICB3aWR0aDogMjRweDtcclxufVxyXG51bC5sZXZlbHMuc21sbGV2ZWwgbGkge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxudWwubGV2ZWxzLnNtbGxldmVsIGxpIC5sZXZlbCB7XHJcbiAgICB3aWR0aDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbn1cclxuLmxldmVscy1jZW50ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0Ym90dG9tOiAzcHg7XHJcblx0bWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5sZXZlbEJhck5ldyB1bCBsaSBhLmFjdGl2ZTpob3ZlcixcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEuYWN0aXZlT24sXHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhLmxldmVsSG92ZXI6aG92ZXIsXHJcbi5sZXZlbEJhck5ldyB1bCBsaSBhLmxldmVsSG92ZXI6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IC01cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgIC1tb3otb3BhY2l0eTogMTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhXCIoT3BhY2l0eT0xMDApO1xyXG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDEwMCk7XHJcbiAgICAgICAgLWtodG1sLW9wYWNpdHk6IDE7XHJcbn1cclxuLmxldmVsQmFyTmV3IHVsLmRpc2FibGVkIGxpIGEubGV2ZWxIb3Zlcjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICBvcGFjaXR5OiAuMzU7XHJcbiAgICAgICAgLW1vei1vcGFjaXR5OiAuMzU7XHJcbiAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFcIihPcGFjaXR5PTM1KTtcclxuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAzNSk7XHJcbiAgICAgICAgLWtodG1sLW9wYWNpdHk6IDAuMzU7XHJcbn1cclxuXHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhLmFjdGl2ZSxcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEuYWN0aXZlIHtcclxuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgIHJnYmEoMCwgMCwgMCwgMC40KSAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtbW96LW9wYWNpdHk6IDE7XHJcbiAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFcIihPcGFjaXR5PTEwMCk7XHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMTAwKTtcclxuICAgICAgICAta2h0bWwtb3BhY2l0eTogMTtcclxufVxyXG4ubGV2ZWxiYXItbnVtYmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTZweDtcclxuICAgIGxlZnQ6IDJweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi5sZXZlbGJhci1udW1iZXItc21sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtNHB4O1xyXG4gIGxlZnQ6IDFweDtcclxuICBmb250LXNpemU6IDlweDtcclxuICBsaW5lLWhlaWdodDogMTBweDtcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhI2xldmVsLWFhLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1hYSxcclxudWwubGV2ZWxzIGxpICNsZXZlbC1hYSxcclxudWwubGV2ZWxzIGxpIC5sZXZlbC1hYSxcclxuLmxldmVsLWFhIHtcclxuXHRiYWNrZ3JvdW5kOiAjZDgwMDI4O1xyXG59XHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhI2xldmVsLUEsXHJcbi5sZXZlbEJhck5ldyB1bCBsaSBhLmxldmVsLUEsXHJcbnVsLmxldmVscyBsaSAjbGV2ZWwtQSxcclxudWwubGV2ZWxzIGxpIC5sZXZlbC1BLFxyXG4ubGV2ZWwtQSB7XHJcblx0YmFja2dyb3VuZDogI2Q4MDA2YztcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1CLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1CLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUIsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtQixcclxuLmxldmVsLUIge1xyXG5cdGJhY2tncm91bmQ6ICNkODAwYTk7XHJcbn1cclxuI2xldmVsQmFyTmV3IHVsIGxpIGEjbGV2ZWwtQyxcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEubGV2ZWwtQyxcclxudWwubGV2ZWxzIGxpICNsZXZlbC1DLFxyXG51bC5sZXZlbHMgbGkgLmxldmVsLUMsXHJcbi5sZXZlbC1De1xyXG5cdGJhY2tncm91bmQ6ICNjNjAwZDg7XHJcbn1cclxuI2xldmVsQmFyTmV3IHVsIGxpIGEjbGV2ZWwtRCxcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEubGV2ZWwtRCxcclxudWwubGV2ZWxzIGxpICNsZXZlbC1ELFxyXG51bC5sZXZlbHMgbGkgLmxldmVsLUQsXHJcbi5sZXZlbC1EIHtcclxuXHRiYWNrZ3JvdW5kOiAjYTYwMGQ4O1xyXG59XHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhI2xldmVsLUUsXHJcbi5sZXZlbEJhck5ldyB1bCBsaSBhLmxldmVsLUUsXHJcbnVsLmxldmVscyBsaSAjbGV2ZWwtRSxcclxudWwubGV2ZWxzIGxpIC5sZXZlbC1FLFxyXG4ubGV2ZWwtRSB7XHJcblx0YmFja2dyb3VuZDogIzgyMDBkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1GLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1GLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUYsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtRiB7XHJcblx0YmFja2dyb3VuZDogIzYxMDBkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1HLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1HLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUcsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtRyB7XHJcblx0YmFja2dyb3VuZDogIzM2MDBkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1ILFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1ILFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUgsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtSCB7XHJcblx0YmFja2dyb3VuZDogIzAwMzZkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1JLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1JLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUksXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtSSB7XHJcblx0YmFja2dyb3VuZDogIzAwNWRkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1KLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1KLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUosXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtSiB7XHJcblx0YmFja2dyb3VuZDogIzAwODJkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1LLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1LLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUssXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtSyB7XHJcblx0YmFja2dyb3VuZDogIzAwYTlkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1MLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1MLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLUwsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtTCB7XHJcblx0YmFja2dyb3VuZDogIzAwY2FkODtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1NLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1NLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLU0sXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtTSB7XHJcblx0YmFja2dyb3VuZDogIzAwZDhjMztcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1OLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1OLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLU4sXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtTiB7XHJcblx0YmFja2dyb3VuZDogIzAwZDg4OTtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1PLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1PLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLU8sXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtTyB7XHJcblx0YmFja2dyb3VuZDogIzAwZDg0NTtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1QLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1QLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVAsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtUCB7XHJcblx0YmFja2dyb3VuZDogIzU2ZDgwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1RLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1RLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVEsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtUSB7XHJcblx0YmFja2dyb3VuZDogIzg1ZDgwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1SLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1SLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVIsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtUiB7XHJcblx0YmFja2dyb3VuZDogI2I4ZDgwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1TLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1TLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVMsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtUyB7XHJcblx0YmFja2dyb3VuZDogI2Q1ZDgwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1ULFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1ULFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVQsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtVCB7XHJcblx0YmFja2dyb3VuZDogI2Q4Y2QwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1VLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1VLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVUsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtVSB7XHJcblx0YmFja2dyb3VuZDogI2Q4YjQwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1WLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1WLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVYsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtViB7XHJcblx0YmFja2dyb3VuZDogI2Q4OTgwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1XLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1XLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVcsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtVyB7XHJcblx0YmFja2dyb3VuZDogI2Q4N2IwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1YLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1YLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVgsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtWCB7XHJcblx0YmFja2dyb3VuZDogI2Q4NTYwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1ZLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1ZLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVksXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtWSB7XHJcblx0YmFja2dyb3VuZDogI2Q4MzYwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1aLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1aLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVosXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtWiB7XHJcblx0YmFja2dyb3VuZDogI2Q4MGUwMDtcclxufVxyXG4jbGV2ZWxCYXJOZXcgdWwgbGkgYSNsZXZlbC1aMSxcclxuLmxldmVsQmFyTmV3IHVsIGxpIGEubGV2ZWwtWjEsXHJcbnVsLmxldmVscyBsaSAjbGV2ZWwtWjEsXHJcbnVsLmxldmVscyBsaSAubGV2ZWwtWjEge1xyXG5cdGJhY2tncm91bmQ6ICNjMDBlMDE7XHJcbn1cclxuI2xldmVsQmFyTmV3IHVsIGxpIGEjbGV2ZWwtWjIsXHJcbi5sZXZlbEJhck5ldyB1bCBsaSBhLmxldmVsLVoyLFxyXG51bC5sZXZlbHMgbGkgI2xldmVsLVoyLFxyXG51bC5sZXZlbHMgbGkgLmxldmVsLVoyIHtcclxuXHRiYWNrZ3JvdW5kOiAjYTIwYjAxO1xyXG59XHJcbiNsZXZlbEJhck5ldyB1bCBsaSBhI2xldmVsLVozLFxyXG4ubGV2ZWxCYXJOZXcgdWwgbGkgYS5sZXZlbC1aMyxcclxudWwubGV2ZWxzIGxpICNsZXZlbC1aMyxcclxudWwubGV2ZWxzIGxpIC5sZXZlbC1aMyB7XHJcblx0YmFja2dyb3VuZDogIzhiMDkwMTtcclxuICAgIGJvcmRlci1jb2xvcjogIzgwMjUwNztcclxufVxyXG4ubGV2ZWxCYXJOZXcgI2xldmVsLTEge1xyXG4gICAgYmFja2dyb3VuZDogIzI1OGRkMjtcclxufVxyXG4ubGV2ZWxCYXJOZXcgI2xldmVsLTIge1xyXG4gICAgYmFja2dyb3VuZDogIzE5NGQ5MTtcclxufVxyXG4ubGV2ZWxCYXJOZXcgI2xldmVsLTMge1xyXG4gICAgYmFja2dyb3VuZDogIzEzMmE2ZTtcclxufVxyXG5cclxuXHJcbi8qIEJFTkNITUFSSyBGTEFHUyAqL1xyXG4uYmVuY2htYXJrIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltYWdlcy9iZW5jaG1hcmstdGFpbC5wbmcpIDEwMCUgMCBuby1yZXBlYXQgI2ViNzVhNztcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBwYWRkaW5nOiAwIDE0cHggMCA1cHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4uYmVuY2htYXJrLmxldmVsYWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDgxNDE0OyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxBIHsgYmFja2dyb3VuZC1jb2xvcjogI2YwNGQ4MzsgfVxyXG4uYmVuY2htYXJrLmxldmVsQiB7IGJhY2tncm91bmQtY29sb3I6ICNjNzI5YTc7IH1cclxuLmJlbmNobWFyay5sZXZlbEMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOGIxYjY2OyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxEIHsgYmFja2dyb3VuZC1jb2xvcjogIzY2MDA2NjsgfVxyXG4uYmVuY2htYXJrLmxldmVsRSB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwNjY7IH1cclxuLmJlbmNobWFyay5sZXZlbEYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNWFmOyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxHIHsgYmFja2dyb3VuZC1jb2xvcjogIzFlMWVlNTsgfVxyXG4uYmVuY2htYXJrLmxldmVsSCB7IGJhY2tncm91bmQtY29sb3I6ICM1MzUzZWU7IH1cclxuLmJlbmNobWFyay5sZXZlbEkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY4OWUzOyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxKIHsgYmFja2dyb3VuZC1jb2xvcjogIzJhYzBlNTsgfVxyXG4uYmVuY2htYXJrLmxldmVsSyB7IGJhY2tncm91bmQtY29sb3I6ICMxYmRiZGI7IH1cclxuLmJlbmNobWFyay5sZXZlbEwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFmMWM2OyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxNIHsgYmFja2dyb3VuZC1jb2xvcjogIzFlZmFhMjsgfVxyXG4uYmVuY2htYXJrLmxldmVsTiB7IGJhY2tncm91bmQtY29sb3I6ICMwMGNjNjY7IH1cclxuLmJlbmNobWFyay5sZXZlbE8geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ5MzRjOyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxQIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwOTkzMzsgfVxyXG4uYmVuY2htYXJrLmxldmVsUSB7IGJhY2tncm91bmQtY29sb3I6ICMwNTY2MjU7IH1cclxuLmJlbmNobWFyay5sZXZlbFIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhMzI5OyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxTIHsgYmFja2dyb3VuZC1jb2xvcjogIzQyZDAxMjsgfVxyXG4uYmVuY2htYXJrLmxldmVsVCB7IGJhY2tncm91bmQtY29sb3I6ICNhNmNhMTU7IH1cclxuLmJlbmNobWFyay5sZXZlbFUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNTAwOyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxWIHsgYmFja2dyb3VuZC1jb2xvcjogI2U3YmMxMjsgfVxyXG4uYmVuY2htYXJrLmxldmVsVyB7IGJhY2tncm91bmQtY29sb3I6ICNmZmNjMDA7IH1cclxuLmJlbmNobWFyay5sZXZlbFggeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5OTAwOyB9XHJcbi5iZW5jaG1hcmsubGV2ZWxZIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjYzMzsgfVxyXG4uYmVuY2htYXJrLmxldmVsWiB7IGJhY2tncm91bmQtY29sb3I6ICNjYzMzMDA7IH1cclxuXHJcbi8qKiogU0NJRU5DRSAqKiovXHJcbi5sZXZlbEJhci1zY2llbmNle1xyXG4gICAgYmFja2dyb3VuZDojYWVlZGY3O1xyXG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xyXG4gICAgaGVpZ2h0OiAxMTNweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5sZXZlbEJhci1zY2llbmNlLWNvbnRhaW5lcntcclxuICBmbG9hdDogbGVmdDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMjljMjI5O1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgYmFja2dyb3VuZDogIzdlZTM3ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogOTJweDtcclxuICB9XHJcblxyXG5cclxuXHJcbi5saW5le1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNGNkMDRjO1xyXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA2MHB4O1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgbGVmdDogMXB4O1xyXG4gICAgfVxyXG5cclxuLmxldmVsQmFyLXNjaWVuY2UgLmhlYWRpbmdzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogIzI5YzIyOTtcclxufVxyXG4ubGV2ZWxCYXItc2NpZW5jZSAuaGVhZGluZ3MgbGkge1xyXG5tYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyNDJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogIzI5YzIyOTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBmb250LWZhbWlseTogY2hld3k7XHJcbn1cclxuLmxldmVsQmFyLXNjaWVuY2UgLmxldmVscyBsaSB7XHJcbiAgICB3aWR0aDogMjQycHg7XHJcbn1cclxuLmxldmVsQmFyLXNjaWVuY2UgLmxldmVscyBhIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICMwOTcwMDk7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gIGhlaWdodDogMjhweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogIzdlZTM3ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbn1cclxuLmxldmVsQmFyLXNjaWVuY2UgLmxldmVscyBhOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMzYWMyM2E7XHJcbiAgICBjb2xvcjogI0ZmZjtcclxufVxyXG4ubGV2ZWxCYXItc2NpZW5jZSAubGV2ZWxzIGEuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICM0YmNkNGI7XHJcbiAgICBjb2xvcjojZmZmO1xyXG59XHJcbnVsLnN1YmxldmVscyBsaSB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMjhweDt9XHJcblxyXG4ubGV2ZWxCYXItc2NpZW5jZSAuc3VibGV2ZWxzIGEuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICM0YmNkNGI7XHJcbiAgICBjb2xvcjojZmZmO1xyXG59XHJcblxyXG4gIC5sZXZlbEJhci1zY2llbmNlIC5zdWJsZXZlbHMgc3BhbntcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMjVweDtcclxuICBmbG9hdDogbGVmdDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgcGFkZGluZy10b3A6IC0xcHg7XHJcbiAgbWFyZ2luLXRvcDogMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNkODE0MTQ7XHJcbiAgYm9yZGVyOiAjODEwYTBhIHNvbGlkIDFweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICMzNjA1MDYgIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogNHB4O31cclxuXHJcblxyXG4ubGV2ZWxCYXItc2NpZW5jZSAuc3VibGV2ZWxzIGEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzA5NzAwOTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgaGVpZ2h0OiAyOHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAjN2VlMzdlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMDt9XHJcblxyXG4gIC5sZXZlbEJhci1zY2llbmNlIC5zdWJsZXZlbHMgbGkge1xyXG4gIHdpZHRoOiAyNDJweDt9XHJcblxyXG4gIC5sZXZlbEJhci1zY2llbmNlIC5zdWJsZXZlbHMgYTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzNhYzIzYTtcclxuICBjb2xvcjogI0ZmZjt9XHJcblxyXG4gIHVsLnN1YmxldmVscyB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDt9XHJcblxyXG51bC5zdWJsZXZlbHMge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazt9XHJcblxyXG4ubGV2ZWxMaW5rIHtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xyXG4gIG1hcmdpbi10b3A6IDQ4cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIG1hcmdpbjogMThweCAwO1xyXG4gIHBhZGRpbmc6IDVweCAxMnB4O1xyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fbGV2ZWwtYmFyLXBvcG91dC5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyogbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCAqL1xyXG5cclxuLmxldmVsQmFyUG9wb3V0LWNvbnRhaW5lciB7XHJcbiAgICBmb250LWZhbWlseTogQXJpYWwsVmVyZGFuYTtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHdpZHRoOiAyMTBweDtcclxufVxyXG4ubGV2ZWxCYXJQb3BvdXQtY29udGFpbmVyIC5oZWFkZXIge1xyXG5cdGJhY2tncm91bmQ6ICMwYjNiODM7XHJcblx0Y29sb3I6ICNGRkY7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0cGFkZGluZzogMnB4IDAgMnB4IDVweDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuLmxldmVsQmFyUG9wb3V0LWlubmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMGIzYjgzO1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAjY2NjO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmxldmVsQmFyUG9wb3V0LWFycm93IHtcclxuXHRib3JkZXI6IHNvbGlkIDlweCB0cmFuc3BhcmVudDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogLTlweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHQubGV2ZWxCYXJQb3BvdXQtYXJyb3ctdG9wIHtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDlweCAjMGIzYjgzO1xyXG5cdCAgICB0b3A6IC0xOHB4O1xyXG5cdH1cclxuXHQubGV2ZWxCYXJQb3BvdXQtYXJyb3ctdG9wbGVmdCB7XHJcblx0ICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDlweCAjMGIzYjgzO1xyXG5cdCAgICB0b3A6IC0xOHB4O1xyXG5cdH1cclxuXHQubGV2ZWxCYXJQb3BvdXQtYXJyb3ctdG9wcmlnaHQge1xyXG5cdCAgICBib3JkZXItYm90dG9tOiBzb2xpZCA5cHggIzBiM2I4MztcclxuXHQgICAgdG9wOiAtMThweDtcclxuXHR9XHJcblx0LmxldmVsQmFyUG9wb3V0LWFycm93LWJvdHRvbSB7ICBcclxuXHQgICAgYm9yZGVyLXRvcDogc29saWQgOXB4ICMwYjNiODM7XHJcblx0ICAgIGJvdHRvbTogLTE4cHg7XHJcblx0fVxyXG5cdC5sZXZlbEJhclBvcG91dC1hcnJvdy1ib3R0b21sZWZ0IHtcclxuXHQgICAgYm9yZGVyLXRvcDogc29saWQgOXB4ICMwYjNiODM7XHJcblx0ICAgIGJvdHRvbTogLTE4cHg7XHJcblx0fVxyXG5cdC5sZXZlbEJhclBvcG91dC1hcnJvdy1ib3R0b21yaWdodCB7XHJcblx0ICAgIGJvcmRlci10b3A6IHNvbGlkIDlweCAjMGIzYjgzO1xyXG5cdCAgICBib3R0b206IC0xOHB4O1xyXG5cdH1cclxuXHJcblxyXG5cclxuLmxldmVsQmFyUG9wb3V0LWlubmVyIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5sZXZlbEJhclBvcG91dC1pbm5lciB0YWJsZSB0ZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlMGUwZTA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDFweDtcclxufVxyXG4ubGV2ZWxCYXJQb3BvdXQtaW5uZXIgdGFibGUgdGQuY29sMSB7XHJcbiAgICBwYWRkaW5nOiAycHggMCAycHggM3B4O1xyXG59XHJcbi5sZXZlbEJhclBvcG91dC1pbm5lciB0YWJsZSB0ZC5jb2wyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZzogMnB4IDNweCAycHggMDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDYzcHg7XHJcbn1cclxuLmxldmVsQmFyUG9wb3V0LWlubmVyIHRhYmxlI3RyYWRlQm9va1BvcG91dCB0ZC5jb2wyIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxufVxyXG4ubGV2ZWxCYXJQb3BvdXQtaW5uZXIgdGFibGUgdGQuemVicmEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZTtcclxufVxyXG5cclxuIiwiLyogU3BlY2lhbCBzdHlsaW5nIGZvciB0aGUgUG9saXNoLCBVa3JhaW5pYW4sIGFuZCBWaWV0bmFtZXNlIChyZXNwZWN0aXZlbHkpIGluZGl2aWR1YWwgbGV2ZWwgYm94ZXMgKi9cclxuI2Jvb2tyb29tQ29uZmlnRGV0YWlsc18zMiBsaSB7XHJcbiAgICB3aWR0aDogMy43JTtcclxufVxyXG4jYm9va3Jvb21Db25maWdEZXRhaWxzXzMzIGxpIHtcclxuICAgIHdpZHRoOiAzLjclO1xyXG59XHJcbiNib29rcm9vbUNvbmZpZ0RldGFpbHNfMzQgbGkge1xyXG4gICAgd2lkdGg6IDUuNSU7XHJcbn1cclxuXHJcbi8qKiBMaXN0cyBmb3IgcmVhZGluZyBsZXZlbCBiYXIgKiovXHJcbi5saXN0LXJhelJlYWRpbmdMZXZlbCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi5saXN0LXJhelJlYWRpbmdMZXZlbCBsaSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmZjtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAyN3B4O1xyXG4gICAgbWluLXdpZHRoOiAyNnB4O1xyXG4gICAgd2lkdGg6IDMuNDQ4JTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuLmxpc3QtcmF6UmVhZGluZ0xldmVsIGxpLnJhelJlYWRpbmdMZXZlbC1tZCB7XHJcbiAgICAgbWluLWhlaWdodDogMTVweDtcclxuICAgICBtaW4td2lkdGg6IDIzcHg7XHJcbiB9XHJcblxyXG4vKiogZm9yIHNwZWNpZmljIHJlYWRpbmcgbGV2ZWwgKiovXHJcbi5yYXpSZWFkaW5nTGV2ZWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcblx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHR0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBtaW4td2lkdGg6IDI1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDMwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICNkODE0MTQ7XHJcbn1cclxuICAgIC5yYXpSZWFkaW5nTGV2ZWwtbWQgLnJhelJlYWRpbmdMZXZlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDI3cHg7XHJcbiAgICB9XHJcblxyXG4ucmF6UmVhZGluZ0xldmVsTnVtYmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTZweDtcclxuICAgIGxlZnQ6IDJweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWxOdW1iZXItc21sIHtcclxuICB0b3A6IC00cHg7XHJcbiAgbGVmdDogMXB4O1xyXG4gIGZvbnQtc2l6ZTogOXB4O1xyXG59XHJcblxyXG4ucmF6UmVhZGluZ0xldmVsLWFhIHtcclxuXHRiYWNrZ3JvdW5kOiAjZDgwMDI4O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtQSB7XHJcblx0YmFja2dyb3VuZDogI2Q4MDA2YztcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLUIge1xyXG5cdGJhY2tncm91bmQ6ICNkODAwYTk7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1DIHtcclxuXHRiYWNrZ3JvdW5kOiAjYzYwMGQ4O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtRCB7XHJcblx0YmFja2dyb3VuZDogI2E2MDBkODtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLUUge1xyXG5cdGJhY2tncm91bmQ6ICM4MjAwZDg7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1GIHtcclxuXHRiYWNrZ3JvdW5kOiAjNjEwMGQ4O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtRyB7XHJcblx0YmFja2dyb3VuZDogIzM2MDBkODtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLUgge1xyXG5cdGJhY2tncm91bmQ6ICMwMDM2ZDg7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1JIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDA1ZGQ4O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtSiB7XHJcblx0YmFja2dyb3VuZDogIzAwODJkODtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLUsge1xyXG5cdGJhY2tncm91bmQ6ICMwMGE5ZDg7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1MIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDBjYWQ4O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtTSB7XHJcblx0YmFja2dyb3VuZDogIzAwZDhjMztcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLU4ge1xyXG5cdGJhY2tncm91bmQ6ICMwMGQ4ODk7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1PIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDBkODQ1O1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtUCB7XHJcblx0YmFja2dyb3VuZDogIzU2ZDgwMDtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLVEge1xyXG5cdGJhY2tncm91bmQ6ICM4NWQ4MDA7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1SIHtcclxuXHRiYWNrZ3JvdW5kOiAjYjhkODAwO1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtUyB7XHJcblx0YmFja2dyb3VuZDogI2Q1ZDgwMDtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLVQge1xyXG5cdGJhY2tncm91bmQ6ICNkOGNkMDA7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1VIHtcclxuXHRiYWNrZ3JvdW5kOiAjZDhiNDAwO1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtViB7XHJcblx0YmFja2dyb3VuZDogI2Q4OTgwMDtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLVcge1xyXG5cdGJhY2tncm91bmQ6ICNkODdiMDA7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1YIHtcclxuXHRiYWNrZ3JvdW5kOiAjZDg1NjAwO1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtWSB7XHJcblx0YmFja2dyb3VuZDogI2Q4MzYwMDtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLVoge1xyXG5cdGJhY2tncm91bmQ6ICNkODBlMDA7XHJcbn1cclxuLnJhelJlYWRpbmdMZXZlbC1aMSB7XHJcblx0YmFja2dyb3VuZDogI2MwMGUwMTtcclxufVxyXG4ucmF6UmVhZGluZ0xldmVsLVoyIHtcclxuXHRiYWNrZ3JvdW5kOiAjYTIwYjAxO1xyXG59XHJcbi5yYXpSZWFkaW5nTGV2ZWwtWjMge1xyXG5cdGJhY2tncm91bmQ6ICM4YjA5MDE7XHJcbiAgICBib3JkZXItY29sb3I6ICM4MDI1MDc7XHJcbn1cclxuXHJcbi5sb3dPcGFjaXR5IC5yYXpSZWFkaW5nTGV2ZWwge1xyXG4gICAgb3BhY2l0eTogLjM1O1xyXG59XHJcbi5sb3dPcGFjaXR5IC5yYXpSZWFkaW5nTGV2ZWw6aG92ZXIsXHJcbi5sb3dPcGFjaXR5IC5yYXpSZWFkaW5nTGV2ZWwuYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19saWdodHdpbmRvdy5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuI2xpZ2h0d2luZG93X292ZXJsYXkge1xyXG5cdC8qIFJFUVVJUkVEICovXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwcHg7XHJcblx0ei1pbmRleDogMTEwMDtcclxuXHQvKiBSRVFVSVJFRCAqL1xyXG59XHJcblxyXG4jbGlnaHR3aW5kb3cge1xyXG5cdC8qIFJFUVVJUkVEICovXHJcblx0LyogT2YgTm90ZSAtIFRoZSBoZWlnaHQgYW5kIHdpZHRoIG9mIHRoaXMgZWxlbWVudCBhcmUgc2V0IHRvIDBweCAqL1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAxMTAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAwcHg7XHJcblx0LyogUkVRVUlSRUQgKi9cclxufVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfY29udGFpbmVyIHtcclxuXHRcdC8qIFJFUVVJUkVEICovXHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0LyogUkVRVUlSRUQgKi9cclxuXHRcdHBhZGRpbmc6IDAgMCAwIDA7XHJcblx0XHRtYXJnaW46IDAgMCAwIDA7XHJcblx0fVxyXG5cclxuXHQvKiBJRTYgbmVlZHMgdGhpcyBvciBpdCBtZXNzZXMgd2l0aCBvdXIgcG9zaXRpb25pbmcgKi9cclxuXHQqIGh0bWwgI2xpZ2h0d2luZG93X2NvbnRhaW5lciB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0I2xpZ2h0d2luZG93X2NvbnRlbnRzIHtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR6LWluZGV4OiAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Lypib3JkZXI6IDEwcHggc29saWQgI2ZmZmZmZjsqL1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH1cdFx0XHJcblxyXG4jbGlnaHR3aW5kb3dfbG9hZGluZyB7XHJcblx0LyogUkVRVUlSRUQgKi9cclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dG9wOiAwcHg7XHJcblx0bGVmdDogMHB4O1xyXG5cdHotaW5kZXg6IDk5OTk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdC8qIFJFUVVJUkVEICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG5cdCNsaWdodHdpbmRvd19sb2FkaW5nX3NoaW0geyBcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRsZWZ0OiAwcHg7IFxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7IFxyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0I2xpZ2h0d2luZG93X2xvYWRpbmcgc3BhbiB7XHJcbiAgICBcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG5cdFx0Y29sb3I6ICM0NDQ0NDQ7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfbG9hZGluZyBzcGFuIGEsXHJcblx0I2xpZ2h0d2luZG93X2xvYWRpbmcgc3BhbiBhOmxpbmssIFxyXG5cdCNsaWdodHdpbmRvd19sb2FkaW5nIHNwYW4gYTp2aXNpdGVkIHtcclxuXHRcdGNvbG9yOiAjMDlGO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcblx0I2xpZ2h0d2luZG93X2xvYWRpbmcgc3BhbiBhOmhvdmVyLFxyXG5cdCNsaWdodHdpbmRvd19sb2FkaW5nIHNwYW4gYTphY3RpdmUge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG5cclxuXHJcblx0I2xpZ2h0d2luZG93X2xvYWRpbmcgaW1nIHtcclxuICAgXHRcdGZsb2F0OiBsZWZ0O1xyXG4gICBcdFx0bWFyZ2luOiAwIDEwcHggMCAwO1xyXG5cdH1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0SSBsaWtlZCB0aGUgTmF2aWdhdGlvbiBzbyBtdWNoIGZyb20gaHR0cDovL3d3dy5odWRkbGV0b2dldGhlci5jb20vcHJvamVjdHMvbGlnaHRib3gyL1xyXG5cdEkgbWVhbiBsZXQncyBmYWNlIGl0LCBpdCB3b3JrcyByZWFsbHkgd2VsbCBhbmQgaXMgdmVyeSBlYXN5IHRvIGZpZ3VyZSBvdXQuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiNsaWdodHdpbmRvd19uYXZpZ2F0aW9uIHtcclxuXHQvKiBSRVFVSVJFRCAqL1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDBweDtcclxuXHRsZWZ0OiAwcHg7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHQvKiBSRVFVSVJFRCAqL1xyXG59XHJcblx0LyogV2UgbmVlZCB0byBzaGltIHRoZSBuYXZpZ2F0aW9uIGZvciBJRSwgdGhvdWdoIGl0cyBtb3JlIG9mIGEgc3ViLWZsb29yICovXHJcblx0I2xpZ2h0d2luZG93X25hdmlnYXRpb25fc2hpbSB7IFxyXG5cdFx0LyogUkVRVUlSRUQgKi9cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRsZWZ0OiAwcHg7IFxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7IFxyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0LyogUkVRVUlSRUQgKi9cclxuXHR9XHJcblxyXG5cdCNsaWdodHdpbmRvd19uYXZpZ2F0aW9uIGEsXHJcblx0I2xpZ2h0d2luZG93X25hdmlnYXRpb24gYTpsaW5rLFxyXG5cdCNsaWdodHdpbmRvd19uYXZpZ2F0aW9uIGE6dmlzaXRlZCxcclxuXHQjbGlnaHR3aW5kb3dfbmF2aWdhdGlvbiBhOmhvdmVyLFxyXG5cdCNsaWdodHdpbmRvd19uYXZpZ2F0aW9uIGE6YWN0aXZlIHsgXHJcblx0XHQvKiBSRVFVSVJFRCAqL1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdC8qIFJFUVVJUkVEICovXHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfcHJldmlvdXMsIFxyXG5cdCNsaWdodHdpbmRvd19uZXh0IHtcclxuXHRcdHdpZHRoOiA0OSU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoL3NoYXJlZC9pbWcvbGlnaHR3aW5kb3cvYmxhbmsuZ2lmKSBuby1yZXBlYXQ7IC8qIFRyaWNrIElFIGludG8gc2hvd2luZyBob3ZlciAqL1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cdFxyXG5cdCNsaWdodHdpbmRvd19wcmV2aW91cyB7IFxyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfbmV4dCB7IFxyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0cmlnaHQ6IDBweDtcclxuXHR9XHJcblxyXG5cdCNsaWdodHdpbmRvd19wcmV2aW91czpob3ZlciwgXHJcblx0I2xpZ2h0d2luZG93X3ByZXZpb3VzOmFjdGl2ZSB7IFxyXG5cdFx0YmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1nL2xpZ2h0d2luZG93L3ByZXZsYWJlbC5naWYpIGxlZnQgMTUlIG5vLXJlcGVhdDsgXHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfbmV4dDpob3ZlciwgXHJcblx0I2xpZ2h0d2luZG93X25leHQ6YWN0aXZlIHsgXHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWcvbGlnaHR3aW5kb3cvbmV4dGxhYmVsLmdpZikgcmlnaHQgMTUlIG5vLXJlcGVhdDsgXHJcblx0fVxyXG5cdFxyXG5cdCNsaWdodHdpbmRvd19wcmV2aW91c190aXRsZSxcclxuXHQjbGlnaHR3aW5kb3dfbmV4dF90aXRsZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHQgXHRcclxuI2xpZ2h0d2luZG93X2dhbGxlcmllcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDUwOyBcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luOiAwIDAgMCAxMHB4O1xyXG5cdGJvdHRvbTogMHB4O1xyXG5cdGxlZnQ6IDBweDtcclxufVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfZ2FsbGVyaWVzX3RhYl9jb250YWluZXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDBweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHRhI2xpZ2h0d2luZG93X2dhbGxlcmllc190YWIsXHRcdFxyXG5cdGE6bGluayNsaWdodHdpbmRvd19nYWxsZXJpZXNfdGFiLFxyXG5cdGE6dmlzaXRlZCNsaWdodHdpbmRvd19nYWxsZXJpZXNfdGFiIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDc3cHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRsaW5lLWhlaWdodDogMjJweDtcclxuXHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRjb2xvcjogI2ZmZmZiZTtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltZy9saWdodHdpbmRvdy9ibGFjay03MC5wbmcpIHJlcGVhdCAwIDAgdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cdFxyXG5cdCogaHRtbCBhI2xpZ2h0d2luZG93X2dhbGxlcmllc190YWIsXHRcdFxyXG5cdCogaHRtbCBhOmxpbmsjbGlnaHR3aW5kb3dfZ2FsbGVyaWVzX3RhYixcclxuXHQqIGh0bWwgYTp2aXNpdGVkI2xpZ2h0d2luZG93X2dhbGxlcmllc190YWIge1x0XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuXHRcdG9wYWNpdHk6IC43MDtcclxuXHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XHJcblx0fVxyXG5cclxuXHRhOmhvdmVyI2xpZ2h0d2luZG93X2dhbGxlcmllc190YWIsXHJcblx0YTphY3RpdmUjbGlnaHR3aW5kb3dfZ2FsbGVyaWVzX3RhYiB7XHJcblx0XHRjb2xvcjogI2ZmZmZiZTtcclxuXHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfZ2FsbGVyaWVzX3RhYl9zcGFuIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDYzcHg7XHJcblx0XHRwYWRkaW5nOiAwIDdweCAwIDdweDtcclxuXHR9XHJcblx0XHJcblx0I2xpZ2h0d2luZG93X2dhbGxlcmllc190YWIgLnVwXHR7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWcvbGlnaHR3aW5kb3cvYXJyb3ctdXAuZ2lmKSBuby1yZXBlYXQgNjBweCA1cHggdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfZ2FsbGVyaWVzX3RhYiAuZG93biB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWcvbGlnaHR3aW5kb3cvYXJyb3ctZG93bi5naWYpIG5vLXJlcGVhdCA2MHB4IDZweCB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdCNsaWdodHdpbmRvd19nYWxsZXJpZXNfbGlzdCB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWcvbGlnaHR3aW5kb3cvYmxhY2stNzAucG5nKSByZXBlYXQgMCAwIHRyYW5zcGFyZW50O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGhlaWdodDogMHB4O1xyXG5cdH1cclxuXHJcblx0KiBodG1sICNsaWdodHdpbmRvd19nYWxsZXJpZXNfbGlzdCB7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuXHRcdG9wYWNpdHk6IC43MDtcclxuXHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XHJcblx0fVx0XHJcblxyXG5cdC5saWdodHdpbmRvd19nYWxsZXJpZXNfbGlzdCB7XHJcblx0XHR3aWR0aDogMjAwcHg7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0fVxyXG5cclxuXHQubGlnaHR3aW5kb3dfZ2FsbGVyaWVzX2xpc3QgaDEge1x0XHJcblx0XHRjb2xvcjogIzA5RjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0cGFkZGluZzogMTBweCAwIDVweCAwO1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdH1cclxuXHJcblx0LmxpZ2h0d2luZG93X2dhbGxlcmllc19saXN0IGxpIHtcclxuXHRcdG1hcmdpbjogNXB4IDAgNXB4IDA7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQubGlnaHR3aW5kb3dfZ2FsbGVyaWVzX2xpc3QgYSwgXHJcblx0LmxpZ2h0d2luZG93X2dhbGxlcmllc19saXN0IGE6bGluaywgXHJcblx0LmxpZ2h0d2luZG93X2dhbGxlcmllc19saXN0IGE6dmlzaXRlZCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcblx0XHRmb250LXNpemU6IDExcHg7XHJcblx0fVxyXG5cclxuXHQubGlnaHR3aW5kb3dfZ2FsbGVyaWVzX2xpc3QgYTpob3ZlciwgXHJcblx0LmxpZ2h0d2luZG93X2dhbGxlcmllc19saXN0IGE6YWN0aXZlIHtcclxuXHRcdGJhY2tncm91bmQ6ICMwMDAwMDA7XHJcblx0XHRjb2xvcjogI2ZmZmZiZTtcclxuXHRcdGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZmZiZTtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDdweDtcclxuXHR9XHJcblx0XHRcclxuI2xpZ2h0d2luZG93X2RhdGEge1xyXG5cdC8qIFJFUVVJUkVEICovXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdC8qIFJFUVVJUkVEICovXHJcbn1cclxuXHJcblx0I2xpZ2h0d2luZG93X2RhdGFfc2xpZGUge1xyXG5cdFx0LyogUkVRVUlSRUQgKi9cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC8qIFJFUVVJUkVEICovXHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfZGF0YV9zbGlkZV9pbm5lciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0cGFkZGluZzogMCAxMHB4IDEwcHggMTBweDtcclxuXHR9XHJcblxyXG5cdCNsaWdodHdpbmRvd19kYXRhX2NhcHRpb24ge1xyXG5cdFx0cGFkZGluZzogMTBweCAwIDAgMDtcclxuXHRcdGNvbG9yOiAjNjY2NjY2O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cclxuXHQjbGlnaHR3aW5kb3dfZGF0YV9kZXRhaWxzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHggMCAxMHB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdH1cclxuXHRcclxuXHQjbGlnaHR3aW5kb3dfZGF0YV9hdXRob3JfY29udGFpbmVyIHtcclxuXHRcdHdpZHRoOiA0MCU7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdGNvbG9yOiAjNjY2NjY2O1xyXG5cdCBcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblx0XHJcblx0I2xpZ2h0d2luZG93X2RhdGFfZ2FsbGVyeV9jb250YWluZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdFx0d2lkdGg6IDQwJTtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRjb2xvcjogIzY2NjY2NjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHRcclxuI2xpZ2h0d2luZG93X3RpdGxlX2JhciB7XHJcblx0aGVpZ2h0OiAyNXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHRcdFxyXG59XHJcblxyXG5cdCNsaWdodHdpbmRvd190aXRsZV9iYXJfdGl0bGUge1xyXG5cdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMjVweDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblxyXG5cdGEjbGlnaHR3aW5kb3dfdGl0bGVfYmFyX2Nsb3NlX2xpbmssXHRcclxuXHRhOmxpbmsjbGlnaHR3aW5kb3dfdGl0bGVfYmFyX2Nsb3NlX2xpbmssXHJcblx0YTp2aXNpdGVkI2xpZ2h0d2luZG93X3RpdGxlX2Jhcl9jbG9zZV9saW5rIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHRleHQtaW5kZW50OiAtMTAwMDAwcHg7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRjb2xvcjogI2ZmZmZiZTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltZy9saWdodHdpbmRvdy9jbG9zZS1idXR0b24yLnBuZykgcmlnaHQgdG9wIG5vLXJlcGVhdDtcclxuXHRcdGhlaWdodDogMzBweDtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdH1cclxuXHRcclxuXHRhOmhvdmVyI2xpZ2h0d2luZG93X3RpdGxlX2Jhcl9jbG9zZV9saW5rLFxyXG5cdGE6YWN0aXZlI2xpZ2h0d2luZG93X3RpdGxlX2Jhcl9jbG9zZV9saW5rIHtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTMwcHg7XHJcblx0fVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFRoZW1lIHN0eWxpbmcgc3R1ZmZcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1x0XHJcblxyXG4jbGlnaHR3aW5kb3cgcCB7XHJcblx0Y29sb3I6ICMwMDAwMDA7XHJcblx0cGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuXHJcbiNsYXpDb250YWluZXIgeyBcclxuXHRiYWNrZ3JvdW5kOiAjRkZGOyBcclxuXHRib3JkZXI6IDEwcHggc29saWQgI0ZGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiBcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIFxyXG59XHJcbiIsIi8qXHJcblNUVURFTlQgTElTVFxyXG5cclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvbGlzdFN0dWRlbnRzLmNzc1xyXG5EaXNwbGF5IHN0dWRlbnRzIGluIGEgbGlzdCB3aXRoIG11bHRpcGxlIGNvbHVtbnNcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4ubGlzdFN0dWRlbnRzIHtcclxuICAgIC8qY29sdW1uLWNvdW50OiA0OyovXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4gICAgLmxpc3RTdHVkZW50cyAubGlzdEl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAxOHB4IDZweCAwO1xyXG4gICAgfVxyXG4gICAgICAgIC5saXN0U3R1ZGVudHMgLmlzLWNvbXBsZXRlIHtcclxuICAgICAgICAgICAgY29sb3I6ICM1YTllMGM7XHJcbiAgICAgICAgfVxyXG5cclxuLyogLS0tLS0tLS0tLS0tXHJcblNQRUNJRklDIFVTQUdFU1xyXG4tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIGxpc3Qgb2Ygc3R1ZGVudHMgYXNzaWduZWQgdG8gYSBib29rICovXHJcbi5hc3NpZ25tZW50IC5saXN0U3R1ZGVudHMge1xyXG4gICAgY29sdW1uLWNvdW50OiAxO1xyXG59XHJcbiAgICAuYXNzaWdubWVudCAubGlzdFN0dWRlbnRzIC5saXN0SXRlbSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG4gICAgLmFzc2lnbm1lbnQgLmxpc3RTdHVkZW50cy5jb2wyIHtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICB9XHJcbiAgICAuYXNzaWdubWVudCAubGlzdFN0dWRlbnRzLmNvbDMge1xyXG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcclxuICAgIH1cclxuICAgIC5hc3NpZ25tZW50IC5saXN0U3R1ZGVudHMuY29sNCB7XHJcbiAgICAgICAgY29sdW1uLWNvdW50OiA0O1xyXG4gICAgfVxyXG4iLCIvKlxyXG5Mb2FkaW5nIFNwaW5uZXJcclxuXHJcbkxvY2F0aW9uOiAvc2hhcmVkL21vZHVsZXMvX2xvYWRlci5jc3NcclxuQ1NTIDJEIFNwaW5uaW5nIEFuaW1hdGlvblxyXG5cclxuLmxvYWRpbmctc3Bpbm5lci1zbSAtIFNtYWxsIExvYWRpbmcgU3Bpbm5lclxyXG5cclxuTWFya3VwOlxyXG5tYXJrdXAvbG9hZGVyLmhic1xyXG5cclxuU3R5bGVndWlkZSAyLjBcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4ubG9hZGluZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBjcC1yb3VuZC1hbmltYXRle1xyXG4gICAgMCV7XHJcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgwKVxyXG4gICAgfVxyXG4gICAgMTAwJXtcclxuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZylcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4ubG9hZGluZ19zcGlubmVyLFxyXG4ubG9hZGluZ19zcGlubmVyOmJlZm9yZSxcclxuLmxvYWRpbmdfc3Bpbm5lcjphZnRlciB7XHJcbiAgICB3aWR0aDogNDhweDtcclxuICAgIGhlaWdodDogNDhweDtcclxuXHJcbn1cclxuXHJcbi5sb2FkaW5nX3NwaW5uZXIubG9hZGluZ19zcGlubmVyLXNtLFxyXG4ubG9hZGluZ19zcGlubmVyLmxvYWRpbmdfc3Bpbm5lci1zbTpiZWZvcmUsXHJcbi5sb2FkaW5nX3NwaW5uZXIubG9hZGluZ19zcGlubmVyLXNtOmFmdGVyIHtcclxuICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG59XHJcblxyXG4ubG9hZGluZ19zcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ubG9hZGluZ19zcGlubmVyOmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCA2cHggI2JhYmFiYTtcclxuICAgIGJvcmRlci1yaWdodDogc29saWQgNnB4ICNiYWJhYmE7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCA2cHggI2JhYmFiYTtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA2cHggI2JhYmFiYTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5sb2FkaW5nX3NwaW5uZXI6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY29udGVudDogXCIgXCI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgNnB4ICNmNTYxNTE7XHJcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDZweCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDZweCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA2cHggdHJhbnNwYXJlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYW5pbWF0aW9uOiBjcC1yb3VuZC1hbmltYXRlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19sb2dpbi5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyoqKiBsb2dpbiB3aW5kb3cgaW4gYnVuZGxlYmFyICoqKi9cclxuXHJcbi5sb2dpbiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDUwMTtcclxufVxyXG4ubG9naW4gI2xvZ2luRm9ybURpdiB7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXI6IHNvbGlkIDNweCAjMzc5RjBDO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcblx0cGFkZGluZzogMTJweCAxNXB4IDE1cHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMzJweDtcclxuXHRyaWdodDogMHB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG59XHJcbi5sb2dpbiAjbG9naW5Gb3JtIHRhYmxlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuLmxvZ2luICNsb2dpbkZvcm0gdGFibGUgdGQge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAzcHggMCAwIDVweDtcclxuXHRib3JkZXI6IDA7XHJcblx0Zm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6ICMyMjIgIWltcG9ydGFudDtcclxufVxyXG4ubG9naW4gI2xvZ2luRm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG4ubG9naW4gI2xvZ2luRm9ybSBpbnB1dC5pbnB1dGJveCB7XHJcblx0YmFja2dyb3VuZDogI0ZGRjtcclxuXHRib3JkZXI6ICNhZmQ3ODUgMXB4IHNvbGlkO1xyXG5cdHdpZHRoOiAxMDNweDtcclxuXHRwYWRkaW5nOiAycHggNXB4O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLmxvZ2luICNsb2dpbkZvcm0gLmxvZ2luTm90TWVtYmVyIGEgeyBcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyOiAxcHggc29saWQgIzM4NzlCQSA7IHBhZGRpbmc6IDVweCAxMHB4OyBtYXJnaW46IDIwcHggMCAxMHB4IDA7IGZvbnQtc2l6ZTogMTFweDsgei1pbmRleDogMTsgd2lkdGg6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kOiAjNGE4ZGQxO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzRhOGRkMSAzMiUsICMzODc5YmEgNzUlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMzIlLCM0YThkZDEpLCBjb2xvci1zdG9wKDc1JSwjMzg3OWJhKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjNGE4ZGQxIDMyJSwjMzg3OWJhIDc1JSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgIzRhOGRkMSAzMiUsIzM4NzliYSA3NSUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNGE4ZGQxIDMyJSwjMzg3OWJhIDc1JSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzRhOGRkMSAzMiUsIzM4NzliYSA3NSUpO1xyXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0YThkZDEnLCBlbmRDb2xvcnN0cj0nIzM4NzliYScsR3JhZGllbnRUeXBlPTAgKTtcclxuICAgIGNvbG9yOiAjRkZGOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgIzJENjE5NTsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmxvZ2luICNsb2dpbkZvcm0gLmxvZ2luTm90TWVtYmVyIGE6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6ICM0YThkZDE7XHJcbn1cclxuI2xvZ2luT3ZlcmxheSB7XHJcbiAgICBib3JkZXI6IDAgbm9uZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKVwiO1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcclxuICAgIC1tb3otb3BhY2l0eTogMC44O1xyXG4gICAgLWtodG1sLW9wYWNpdHk6IDAuODtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDsgXHJcbiAgICB6LWluZGV4OiA1MDA7XHJcbn1cclxuICAgIFxyXG5hLm5vdFJlZ2lzdGVyZWQge1xyXG4gICAgYmFja2dyb3VuZDogIzdhYmNmZjtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3YWJjZmYgMCUsICM2MGFiZjggNDQlLCAjNDA5NmVlIDEwMCUpIHJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI0ODhlYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgIzI0ODhlYztcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuYS5ub3RSZWdpc3RlcmVkOmhvdmVyIHsgYmFja2dyb3VuZDogIzQwOTZlZTsgfSIsIi8qXHJcbk1BSU4gQlVUVE9OU1xyXG5Vc2VkIHRvIGRpc3BsYXkgY2F0ZWdvcnkgYnV0dG9ucyBvbiBhIHBhZ2VcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX21haW5idXR0b25zLmNzc1xyXG5cclxuVE9ETzogVXBkYXRlIHN1Ym5hdiBpbmNsdWRlcyBzbyB0aGF0IHRoZXkgbm8gbG9uZ2VyIHVzZSBsZWdhY3kgc3R5bGVzXHJcbiovXHJcblxyXG4uc2Vjb25kYXJ5TmF2IHt9XHJcbi5zZWNvbmRhcnlOYXZfaXRlbSB7fVxyXG5cclxuLm1haW5CdXR0b25ze31cclxuLm1haW5CdXR0b25zX2l0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMzIlO1xyXG59XHJcbiAgICAubWFpbkJ1dHRvbnNfaXRlbSBhIHtcclxuICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM3RUFFREE7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCA1cHggMDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG4gICAgICAgIC5tYWluQnV0dG9uc19pdGVtIGE6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIH1cclxuXHJcbi8qIEFMVEVSTkFURSBWRVJTSU9OICovXHJcblxyXG4ubWFpbkJ1dHRvbnMgLm5hdkhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1haW5CdXR0b25zIC5uYXZJdGVtIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDMyJTtcclxufVxyXG5cclxuLm1haW5CdXR0b25zIC5uYXZJdGVtX2xpbmsge1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICM3RUFFREE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbiAgICAubWFpbkJ1dHRvbnMgLm5hdkl0ZW1fbGluazpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuLm1haW5CdXR0b25zIC5zdWJsZXZlbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuc2hhcmVkL2Nzcy9tb2R1bGVzL19tZW1iZXItaG9tZXBhZ2UtbGVnYWN5LmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4jbWVtYmVySG9tZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgd2lkdGg6IDk0MHB4OyBmbG9hdDogbGVmdDsgcGFkZGluZzogMjBweCAwIDMwcHggMDsgfVxyXG4ucmlnaHRDb2x1bW5Ib21lIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMjUwcHg7IH1cclxuLmxlZnRDb2x1bW5Ib21lIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA2NzBweDsgfVxyXG5cclxuaDIuaG9tZSB7IGJhY2tncm91bmQ6ICM0QTMwMzE7IGhlaWdodDogNDBweDsgcGFkZGluZzogMCAwIDAgMTBweDsgY29sb3I6ICNGRkY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDM4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IG1hcmdpbjogMDsgfVxyXG5oMi5ob21lIC5zbWFsbCB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICNGRkY7IH1cclxuaDIuaG9tZVBsYWluIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMGUwZTA7IHBhZGRpbmc6IDAgMCA5cHg7IG1hcmdpbi10b3A6IDVweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgZm9udC1zaXplOiAxOHB4OyB9XHJcblxyXG4vKioqIEhPTUVQQUdFIEJBTk5FUiAqKiovXHJcbiNzbGlkZXIge1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0d2lkdGg6IDY3MHB4O1xyXG5cdGhlaWdodDogMjc1cHg7XHJcblx0bWFyZ2luOiAwIDAgMjBweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG5cdGJhY2tncm91bmQ6ICNjNWM1YzU7XHJcbn1cclxuI3NsaWRlciAjY29udGVudCB7XHJcblx0d2lkdGg6IDQ4NXB4O1xyXG5cdGhlaWdodDogMjc1cHg7XHJcbn1cclxuI3NsaWRlciAjY29udGVudCAuYmFubmVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogMTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0d2lkdGg6IDQ4NXB4O1xyXG5cdGhlaWdodDogMjc1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbiNzbGlkZXIgI2NvbnRlbnQgaW1nIHtcclxuXHR3aWR0aDogNDg1cHg7XHJcblx0aGVpZ2h0OiAyMjFweDtcclxuXHRib3JkZXItcmFkaXVzOiAwIDEwcHggMCAwO1xyXG59XHJcbiNzbGlkZXIgI2NvbnRlbnQgYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiAjMzAzMDMwO1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRsaW5lLWhlaWdodDogMTlweDtcclxuXHR0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmMGYwZjA7XHJcbn1cclxuI3NsaWRlciAudGV4dCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDE7XHJcblx0Ym90dG9tOiAwcHg7XHJcblx0bGVmdDogMHB4O1xyXG5cdHdpZHRoOiA0NDBweDtcclxuXHRoZWlnaHQ6IDQ3cHg7XHJcblx0YmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL2hvbWVCYW5uZXItdGV4dC1iZy5wbmcpIG5vLXJlcGVhdDtcclxuXHRwYWRkaW5nOiA2cHggMzBweCAwIDE1cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkY7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAwIDEwcHggMDtcclxufVxyXG4jc2xpZGVyIC50ZXh0IHN0cm9uZyB7IGNvbG9yOiAjMDAwOyB9XHJcbiNzbGlkZXIgI3RhYnMge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNGRkY7XHJcblx0d2lkdGg6IDE4NHB4O1xyXG5cdGhlaWdodDogMjc1cHg7XHJcblx0YmFja2dyb3VuZDogI0YzRTRBMDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xyXG59XHJcbiNzbGlkZXIgI3RhYnMgdWwge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuI3NsaWRlciAjdGFicyB1bCBsaSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuI3NsaWRlciAjdGFicyB1bCBsaSBhIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTY4cHg7XHJcblx0aGVpZ2h0OiA1NHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZGO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiA4cHggOHB4IDZweCA4cHg7XHJcblx0Y29sb3I6ICMzMzM7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDI7XHJcblx0dGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkFGMkQxO1xyXG59XHJcbiNzbGlkZXIgI3RhYnMgdWwgbGkgYSAuYXJyb3cge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuI3NsaWRlciAjdGFicyB1bCBsaSBhLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiAjRkFGMkQxO1xyXG59XHJcbiNzbGlkZXIgI3RhYnMgdWwgbGkgYS5zZWxlY3RlZCAuYXJyb3cge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltYWdlcy9ob21lQmFubmVyLWFycm93LXJpZ2h0LnBuZykgYm90dG9tIGNlbnRlciBuby1yZXBlYXQ7XHJcblx0d2lkdGg6IDlweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0cmlnaHQ6IC04cHg7XHJcblx0dG9wOiAyNXB4O1xyXG59XHJcbiNzbGlkZXIgI3RhYnMgdWwgbGkgYSNidXR0b24tNCB7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMCAwIDAgMTBweDt9XHJcbiNzbGlkZXIgI3RhYnMgdWwgbGkgYSNidXR0b24tMSB7IGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDA7IH1cclxuI3NsaWRlciAjdGFicyB1bCBsaSBhIHN0cm9uZyB7XHJcblx0Y29sb3I6ICMwMDA7XHJcbn1cclxuI3NsaWRlciAjdGFicyB1bCBsaSBhIC52aWRlbyB7XHJcblx0Y29sb3I6ICM2NjY7XHJcblx0YmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL3ZpZGVvLWljb24ucG5nKSB0b3AgcmlnaHQgbm8tcmVwZWF0O1xyXG5cdHBhZGRpbmc6IDAgMTVweCAwIDA7XHJcblx0Zm9udC1zaXplOiA5cHg7XHJcblx0bGluZS1oZWlnaHQ6IDE5cHg7XHJcbn1cclxuI3NsaWRlciAjdGFicyB1bCBsaSBhIGltZyB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI0ZGRjtcclxuXHRtYXJnaW46IDAgOHB4IDhweCAwO1xyXG5cdHdpZHRoOiA1MHB4O1xyXG5cdGhlaWdodDogNTBweDtcclxuXHRiYWNrZ3JvdW5kOiAjRThFOEU4O1xyXG59XHJcblxyXG4vKioqKioqKk5FV1MgQU5EIFJFU09VUkNFUyBvbiBIT01FICoqKioqL1xyXG4jbmV3c1Jlc291cmNlcyB7IGJhY2tncm91bmQ6ICNGQUYyRDE7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgcGFkZGluZy1ib3R0b206IDEwcHg7IGhlaWdodDogMjY4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cclxuI25ld3NSZXNvdXJjZXMtY29udGFpbmVyIHsgaGVpZ2h0OiAyMjhweDsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6IDE7IHBhZGRpbmc6IDAgMTBweDsgfVxyXG4jbmV3c1Jlc291cmNlcy1zbGlkZSB7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OiAxOyB0b3A6MDt9XHJcbiNuZXdzUmVzb3VyY2VzLXNsaWRlIC5uZXdzSXRlbSB7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbn1cclxuI25ld3NSZXNvdXJjZXMtc2xpZGUgLm5ld3NJdGVtIGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG1hcmdpbi10b3A6IDAuNnJlbTtcclxufVxyXG4jbmV3c1Jlc291cmNlcyAubmV3c0l0ZW0geyBvdmVyZmxvdzogYXV0bzsgcGFkZGluZzogMTBweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgI0ZGRjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGM0U0QTA7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2ZkZmRmZjsgZm9udC1zaXplOiAuOXJlbTt9XHJcbiNuZXdzUmVzb3VyY2VzIC5uZXdzSXRlbSBoMiB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDE3cHg7IHBhZGRpbmc6IDAgMCA1cHg7IG1hcmdpbjogMDsgfVxyXG4jbmV3c1Jlc291cmNlcyAubmV3c0l0ZW0gcCB7IG1hcmdpbjogMCAwIDVweDsgfVxyXG4jbmV3c1Jlc291cmNlcyAubmV3c0l0ZW0uZmlyc3QgeyBib3JkZXItdG9wOiAwOyB9XHJcbiNuZXdzUmVzb3VyY2VzIC5uZXdzSXRlbS5sYXN0IHsgYm9yZGVyLWJvdHRvbTogMDsgfVxyXG5cclxuI25ld3NSZXNvdXJjZXMgI25ld3NTY3JvbGxVcCB7IG91dGxpbmU6IDAgIWltcG9ydGFudDsgaGVpZ2h0OiAxMHB4OyB3aWR0aDogMjUwcHg7IGJhY2tncm91bmQ6ICNGM0U0QTA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjsgdG9wOiAzN3B4OyBsZWZ0OiAwO31cclxuI25ld3NSZXNvdXJjZXMgI25ld3NTY3JvbGxVcC5hY3RpdmUtc2Nyb2xsIHsgZGlzcGxheTogYmxvY2s7IH1cclxuI25ld3NSZXNvdXJjZXMgI25ld3NTY3JvbGxVcC5pbmFjdGl2ZS1zY3JvbGwgeyBkaXNwbGF5OiBub25lOyB9XHJcbiNuZXdzUmVzb3VyY2VzICNuZXdzU2Nyb2xsVXAgLm5ld3NTY3JvbGwgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDM2cHg7IGhlaWdodDogMTdweDsgYmFja2dyb3VuZDogI0ZGRjsgYm9yZGVyOiAxcHggc29saWQgI0I0OTgxNjsgYm9yZGVyLWJvdHRvbTogMDsgYm9yZGVyLXJhZGl1czogMjBweCAyMHB4IDAgMDsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDBweDsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLTE5cHg7IHotaW5kZXg6IDM7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG4ubmV3c1Njcm9sbCAuYXJyb3dVcCB7IG1hcmdpbjogMDsgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjQjQ5ODE2OyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IGJvdHRvbTogNnB4OyBsZWZ0OiAxM3B4OyB9XHJcblxyXG4jbmV3c1Jlc291cmNlcyAjbmV3c1Njcm9sbERvd24geyBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwcHg7IHdpZHRoOiAyNTBweDsgYmFja2dyb3VuZDogI0YzRTRBMDsgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyOyBib3R0b206IDA7IGxlZnQ6IDA7fVxyXG4jbmV3c1Jlc291cmNlcyAjbmV3c1Njcm9sbERvd24uYWN0aXZlLXNjcm9sbCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiNuZXdzUmVzb3VyY2VzIGEjbmV3c1Njcm9sbERvd24uaW5hY3RpdmUtc2Nyb2xsIHsgXHJcblx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT01MClcIjsvKiBJRSA4ICovXHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsvKiBJRSA1LTcgKi9cclxuICAtbW96LW9wYWNpdHk6IDAuNTsvKiBOZXRzY2FwZSAqL1xyXG4gIC1raHRtbC1vcGFjaXR5OiAwLjU7LyogU2FmYXJpIDEueCAqL1xyXG4gIG9wYWNpdHk6IDAuNTsvKiBHb29kIGJyb3dzZXJzICovXHJcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XHJcbiNuZXdzUmVzb3VyY2VzICNuZXdzU2Nyb2xsRG93biAubmV3c1Njcm9sbCAgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDM2cHg7IGhlaWdodDogMTdweDsgYmFja2dyb3VuZDogI0ZGRjsgYm9yZGVyOiAxcHggc29saWQgI0I0OTgxNjsgYm9yZGVyLXRvcDogMDsgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMjBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDBweDsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLTE5cHg7IHotaW5kZXg6IDM7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG4jbmV3c1Jlc291cmNlcyAjbmV3c1Njcm9sbERvd24gLmFycm93RG93biB7IGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNCNDk4MTY7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgdG9wOiA2cHg7IGxlZnQ6IDEzcHg7IH1cclxuI25ld3NSZXNvdXJjZXMgI25ld3NTY3JvbGxEb3duLmluYWN0aXZlLXNjcm9sbDpob3ZlciBzcGFuIHsgY3Vyc29yOiBkZWZhdWx0OyAgfVxyXG4jbmV3c1Jlc291cmNlcyAubmV3c1Njcm9sbDpob3ZlciB7IGJvcmRlci1jb2xvcjogIzRBMzAzMSAhaW1wb3J0YW50OyB9XHJcbiNuZXdzUmVzb3VyY2VzIC5uZXdzU2Nyb2xsOmhvdmVyIC5hcnJvd1VwIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzRBMzAzMSAhaW1wb3J0YW50OyB9XHJcbiNuZXdzUmVzb3VyY2VzIC5uZXdzU2Nyb2xsOmhvdmVyIC5hcnJvd0Rvd24geyBib3JkZXItdG9wLWNvbG9yOiAjNEEzMDMxICFpbXBvcnRhbnQ7IH1cclxuI25ld3NSZXNvdXJjZXMgYSNuZXdzU2Nyb2xsRG93bi5pbmFjdGl2ZS1zY3JvbGwgLm5ld3NTY3JvbGw6aG92ZXIgeyBib3JkZXItY29sb3I6ICNCNDk4MTYgIWltcG9ydGFudDsgfVxyXG4jbmV3c1Jlc291cmNlcyBhI25ld3NTY3JvbGxEb3duLmluYWN0aXZlLXNjcm9sbCAubmV3c1Njcm9sbDpob3ZlciAuYXJyb3cgeyBib3JkZXItdG9wLWNvbG9yOiAjQjQ5ODE2ICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8qKioqIENsYXNzcm9vbSBBTEVSVFMgKioqKiovXHJcbi5jbGFzc3Jvb21BbGVydHMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6MTsgaGVpZ2h0OiAyOTdweDt9XHJcbi5jbGFzc3Jvb21BbGVydHMgLnRhYkxpbmtzIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyOyB0b3A6IDQwcHg7IGxlZnQ6IDA7IHdpZHRoOiAxODVweDsgaGVpZ2h0OiAyNTZweDsgYmFja2dyb3VuZDogI0ZGRjsgZm9udC1zaXplOiAxMXB4OyBib3JkZXItcmFkaXVzOiAwIDAgMCAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjRjNFNEEwOyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci10b3A6IDAgfVxyXG4uY2xhc3Nyb29tQWxlcnRzIC50YWJMaW5rcyB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgfVxyXG4uY2xhc3Nyb29tQWxlcnRzIC50YWJMaW5rcyB1bCBsaSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxyXG4uY2xhc3Nyb29tQWxlcnRzIC50YWJMaW5rcyB1bCBsaSBhIHsgY29sb3I6ICM3RjdCNkI7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDZweCAzMHB4IDZweCAxMHB4OyBmb250LXdlaWdodDogbm9ybWFsOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLmNsYXNzcm9vbUFsZXJ0cyAudGFiTGlua3MgdWwgbGkgYTpob3ZlciB7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiAjRjNFNEEwOyB9XHJcbi5jbGFzc3Jvb21BbGVydHMgLnRhYkxpbmtzIHVsIGxpIGEuYWN0aXZlIHsgYmFja2dyb3VuZDogI0ZBRjJEMTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB3aWR0aDogMTQ3cHg7IGNvbG9yOiAjMDAwOyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4uY2xhc3Nyb29tQWxlcnRzIC50YWJMaW5rcyB1bCBsaSBhIC50b3RhbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDE1cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyBsZWZ0OiAxNjBweDsgdG9wOiA1MCU7IG1hcmdpbjogLThweCAwIDAgMDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgYmFja2dyb3VuZDogIzRBMzAzMTsgY29sb3I6ICNGRkY7IHRleHQtc2hhZG93OiBub25lOyBsaW5lLWhlaWdodDogMTVweDsgYm9yZGVyLXJhZGl1czogM3B4OyB9XHJcbi5jbGFzc3Jvb21BbGVydHMgLnRhYkNvbnRlbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IHRvcDogNDBweDsgbGVmdDogMTg2cHg7IHdpZHRoOiA0NTNweDsgaGVpZ2h0OiAyNDBweDsgcGFkZGluZzogNXB4IDE1cHggMTBweDsgYmFja2dyb3VuZDogI0ZGRjsgZm9udC1zaXplOiAxMXB4OyBib3JkZXI6IDFweCBzb2xpZCAjRjNFNEEwOyBib3JkZXItbGVmdDogMDsgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMDsgYmFja2dyb3VuZDogI0ZBRjJEMTsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkRGREZGOyBjb2xvcjogIzAwMDsgb3ZlcmZsb3c6IGF1dG87IH1cclxuLmNsYXNzcm9vbUFsZXJ0cyAudGFiQ29udGVudCB1bCB7IG1hcmdpbjogNXB4IDAgMDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZTogbm9uZTsgZm9udC1zaXplOiAxMnB4OyB9XHJcbi5jbGFzc3Jvb21BbGVydHMgLnRhYkNvbnRlbnQgdWwgbGkgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDE0NXB4OyBwYWRkaW5nOiA1cHggMDsgfVxyXG5cclxuLyoqKiBDbGFzc3Jvb20gUmVwb3J0cyBvbiBIb21lICoqKi9cclxuLmNsYXNzcm9vbVJlcG9ydHMgdWwucmVwb3J0c05hdiB7IG1hcmdpbjogMTBweCAwIDAgMDsgfVxyXG4uY2xhc3Nyb29tUmVwb3J0cyB1bC5yZXBvcnRzTmF2IGxpIHsgbWFyZ2luOiAwIDAgN3B4IDEwcHg7IH1cclxuLmNsYXNzcm9vbVJlcG9ydHMgdWwucmVwb3J0c05hdiBsaSBhIHsgd2lkdGg6IDExMnB4OyBtYXJnaW46IDA7IH1cclxuLmNsYXNzcm9vbVJlcG9ydHMgdWwucmVwb3J0c05hdiBsaSBhIHN0cm9uZyB7IHdpZHRoOiA5NnB4OyB9XHJcblxyXG51bC5yZXBvcnRzTmF2IHsgbWFyZ2luOiAxNXB4IDAgMzBweDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZTogbm9uZTsgY2xlYXI6IGxlZnQ7IH1cclxudWwucmVwb3J0c05hdiBsaSB7IHBhZGRpbmc6IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiAwIDAgMCAwOyB9XHJcbnVsLnJlcG9ydHNOYXYgbGkgYSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgZGlzcGxheTogYmxvY2s7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTMwcHg7IGhlaWdodDogMTAwcHg7IG1hcmdpbjogMCAxMHB4IDAgMDsgYm9yZGVyOiAxcHggc29saWQgI2RiYzQ1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogIzkyN0QxRjsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkRGOUU4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmMmQxOyAgfVxyXG4jbWVtYmVySG9tZSB1bC5yZXBvcnRzTmF2IGxpIGEgeyBjb2xvcjogIzAwMDsgfVxyXG51bC5yZXBvcnRzTmF2IGxpIGE6aG92ZXIsIHVsLnJlcG9ydHNOYXYgbGkgYS5hY3RpdmUgeyBib3JkZXItY29sb3I6ICM0QTMwMzE7IGNvbG9yOiAjNEEzMDMxOyB9XHJcbnVsLnJlcG9ydHNOYXYgbGkgYS5hY3RpdmUgeyBib3gtc2hhZG93OiAwIDVweCA1cHggcmdiYSgwLDAsMCwuMyk7IGNvbG9yOiAjMDAwOyB9XHJcbnVsLnJlcG9ydHNOYXYgbGkgYSBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDM1cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDExMHB4OyBmb250LXNpemU6IDE2cHg7IHBhZGRpbmc6IDAgMTBweDsgbGluZS1oZWlnaHQ6IDE1cHg7IH1cclxudWwucmVwb3J0c05hdiBsaSBhIC5hcnJvd0Rvd24geyBkaXNwbGF5OiBub25lOyBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItdG9wOiAyMHB4IHNvbGlkICM0QTMwMzE7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDNweDsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLTMwcHg7IH1cclxudWwucmVwb3J0c05hdiBsaSBhLmFjdGl2ZSAuYXJyb3dEb3duIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbnVsLnJlcG9ydHNOYXYgYSNhY3Rpdml0eVJlcG9ydCwgdWwucmVwb3J0c05hdiBhLmFjdGl2aXR5UmVwb3J0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9zaGFyZWQvaW1hZ2VzL2FjdGl2aXR5LXJlcG9ydC5wbmcpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cclxudWwucmVwb3J0c05hdiBhI2Fzc2lnbm1lbnRSZXBvcnQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvcHJvZ3Jlc3MtcmVwb3J0LnBuZyk7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxyXG51bC5yZXBvcnRzTmF2IGEjYXNzZXNzbWVudHNSZXBvcnQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXNzZXNzbWVudHMtcmVwb3J0LnBuZyk7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxyXG4uY2xhc3Nyb29tUmVwb3J0cyB1bC5yZXBvcnRzTmF2IGxpICBhI2Fzc2Vzc21lbnRzUmVwb3J0IHN0cm9uZyB7IHdpZHRoOiAxMTZweDsgcGFkZGluZzogMDsgfVxyXG51bC5yZXBvcnRzTmF2IGEjc2tpbGxzUmVwb3J0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9zaGFyZWQvaW1hZ2VzL3NraWxscy1yZXBvcnQucG5nKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XHJcblxyXG4ucmVwb3J0c05hdl9saW5rIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBkaXNwbGF5OiBibG9jazsgIGhlaWdodDogMTAwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNkYmM0NWU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICMwMDA7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgI0ZERjlFODsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjJkMTsgIH1cclxuLnJlcG9ydHNOYXZfbGluay1hY3Rpdml0eVJlcG9ydCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9hY3Rpdml0eS1yZXBvcnQucG5nKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XHJcbi5yZXBvcnRzTmF2X2xpbmstYXNzaWdubWVudFJlcG9ydCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9wcm9ncmVzcy1yZXBvcnQucG5nKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XHJcbi5yZXBvcnRzTmF2X2xpbmstYXNzZXNzbWVudHNSZXBvcnQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3NoYXJlZC9pbWFnZXMvYXNzZXNzbWVudHMtcmVwb3J0LnBuZyk7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxyXG4ucmVwb3J0c05hdl9saW5rLXNraWxsc1JlcG9ydCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvc2hhcmVkL2ltYWdlcy9za2lsbHMtcmVwb3J0LnBuZyk7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxyXG4ucmVwb3J0c05hdl90aXRsZSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzVweDsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMTAwJTsgZm9udC1zaXplOiAxNnB4OyBwYWRkaW5nOiAwIDEwcHg7IGxpbmUtaGVpZ2h0OiAxNXB4OyAgYm94LXNpemluZzogYm9yZGVyLWJveDt9XHJcblxyXG51bC5yZXBvcnRzTmF2IGEuc3R1ZGVudHMgeyBoZWlnaHQ6IDY1cHg7IHdpZHRoOiAxMDJweDsgYmFja2dyb3VuZC1zaXplOiA2MHB4IDQ1cHg7IG1hcmdpbi1yaWdodDogNXB4OyB9XHJcbnVsLnJlcG9ydHNOYXYgYS5zdHVkZW50cyBzdHJvbmcgeyBmb250LXNpemU6IDE0cHg7IHdpZHRoOiA4MnB4OyB0b3A6IDE1cHg7ICB9XHJcbnVsLnJlcG9ydHNOYXYgbGkgYS5zdHVkZW50cyAuYXJyb3dEb3duIHsgdG9wOiA2NXB4OyB9IFxyXG5cclxuLyoqKiBRVUlDSyBTVEFUUyoqKi9cclxuLmNsYXNzcm9vbVN0YXRzIHsgY2xlYXI6IGJvdGg7IH1cclxuLmNsYXNzcm9vbVN0YXRzICNxdWlja1N0YXRzIHsgYm9yZGVyLWNvbG9yOiAjZGJjNDVlOyBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4OyBtYXJnaW46IDA7IH1cclxuLmNsYXNzcm9vbVN0YXRzICNxdWlja1N0YXRzIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxyXG4uY2xhc3Nyb29tU3RhdHMgI3F1aWNrU3RhdHMgdGFibGUgdGJvZHkgdGggZGl2IHsgd2lkdGg6IDkzMXB4OyB9XHJcblxyXG5cclxuLyoqKkNMQVNTUk9PTSBST1NURVIqKiovXHJcbi5jbGFzc3Jvb21TZXR0aW5nc0JveCB7IGJhY2tncm91bmQ6ICNmYWYyZDE7IGZvbnQtc2l6ZTogMTFweDsgbWFyZ2luOiAyMHB4IDAgfVxyXG4uY2xhc3Nyb29tU2V0dGluZ3NCb3ggc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDVweCAxMHB4OyBmb250LXNpemU6IDEycHg7IH1cclxuXHJcblxyXG51bC5nZXR0aW5nU3RhcnRlZFN0ZXBzIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxMHB4OyBsaXN0LXN0eWxlOiBub25lOyBvdmVyZmxvdzogYXV0bzsgYmFja2dyb3VuZDogI0ZBRjJEMTsgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgfVxyXG51bC5nZXR0aW5nU3RhcnRlZFN0ZXBzIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbGVmdDsgd2lkdGg6IDMzJTsgaGVpZ2h0OiAxODBweDsgfVxyXG51bC5nZXR0aW5nU3RhcnRlZFN0ZXBzIGxpLnN0ZXAxIHsgYmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL2hvbWUtYWRkLnBuZykgbGVmdCB0b3Agbm8tcmVwZWF0OyB9XHJcbnVsLmdldHRpbmdTdGFydGVkU3RlcHMgbGkuc3RlcDIgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvaG9tZS1yZWFkLnBuZykgbGVmdCB0b3Agbm8tcmVwZWF0OyB9XHJcbnVsLmdldHRpbmdTdGFydGVkU3RlcHMgbGkuc3RlcDMgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvaG9tZS1tb25pdG9yLnBuZykgbGVmdCB0b3Agbm8tcmVwZWF0OyB9XHJcbnVsLmdldHRpbmdTdGFydGVkU3RlcHMgbGkgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDZweCA0MHB4IDAgNTJweDsgY29sb3I6ICMwMDA7IGxpbmUtaGVpZ2h0OiAxNHB4OyB9XHJcbnVsLmdldHRpbmdTdGFydGVkU3RlcHMgbGkuc3RlcDEgYSB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGhlaWdodDogMTgwcHg7fVxyXG4uZ2V0U3RhcnRlZCB7IGNvbG9yOiAjMDAwOyBmb250LXNpemU6IDE2cHg7IGJhY2tncm91bmQ6ICNGRDc1MUE7IGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4OyBwYWRkaW5nOiAxMHB4OyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbi5nZXRTdGFydGVkIHN0cm9uZyB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cclxuLmdldFN0YXJ0ZWQgYSB7IGZsb2F0OiByaWdodDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC00cHg7IH1cclxuXHJcbiNuZXdCb29rcyB7IGJhY2tncm91bmQ6ICNGM0U0QTA7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA1OTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XHJcbiNuZXdCb29rcyAuc2xpZGVEZWNrIHsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IG1hcmdpbjogMCA0MHB4OyBtaW4taGVpZ2h0OiA1NTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO31cclxuI25ld0Jvb2tzIC5zbGlkZXIgeyBiYWNrZ3JvdW5kOiAjRkFGMkQxOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkY0REQ7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNGQkY0REQ7IHBhZGRpbmc6IDE1cHggMTdweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDU1NHB4OyBoZWlnaHQ6IDUzNXB4OyB6LWluZGV4OiAxO1xyXG5iYWNrZ3JvdW5kOiAjZmFmMmQxOyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZhZjJkMSA4MyUsICNmM2U0YTAgMTAwJSk7IC8qIEZGMy42KyAqL1xyXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDgzJSwjZmFmMmQxKSwgY29sb3Itc3RvcCgxMDAlLCNmM2U0YTApKTsgLyogQ2hyb21lLFNhZmFyaTQrICovXHJcbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmYWYyZDEgODMlLCNmM2U0YTAgMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXHJcbmJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmFmMmQxIDgzJSwjZjNlNGEwIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmFmMmQxIDgzJSwjZjNlNGEwIDEwMCUpOyAvKiBJRTEwKyAqL1xyXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZhZjJkMSA4MyUsI2YzZTRhMCAxMDAlKTsgLyogVzNDICovXHJcbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmFmMmQxJywgZW5kQ29sb3JzdHI9JyNmM2U0YTAnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXHJcblxyXG59XHJcbiNuZXdCb29rcyAjc2xpZGVyLTAxIHsgbGVmdDogMDsgfVxyXG4jbmV3Qm9va3MgI3NsaWRlci0wMiB7IGxlZnQ6IDU5MHB4O31cclxuI25ld0Jvb2tzICNzbGlkZXItMDMgeyBsZWZ0OiAxMTgwcHg7fVxyXG4jbmV3Qm9va3MgI3NsaWRlci0wNCB7IGxlZnQ6IDE3NzBweDt9XHJcbiNuZXdCb29rcyAjc2xpZGVyLTA1IHsgbGVmdDogMjM2MHB4O31cclxuI25ld0Jvb2tzICNzbGlkZXItMDUgeyBsZWZ0OiAyMzYwcHg7fVxyXG4jbmV3Qm9va3MgLnNsaWRlciAuYm9va1BvcG91dCB7IGNvbG9yOiAjMzMzMzMzOyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogMTFweDsgbWFyZ2luLWJvdHRvbTogMTVweDsgcGFkZGluZzogMCAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtYWxpZ246IGNlbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNGREY5RTg7IHdpZHRoOiAxNjRweDsgei1pbmRleDogMTt9XHJcbiNuZXdCb29rcyAuc2xpZGVyIC5ib29rUG9wb3V0LmxhbmRzY2FwZUJvb2sgeyBtYXJnaW4tdG9wOiA2OXB4O31cclxuI25ld0Jvb2tzIC5zbGlkZXIgLnRodW1ibmFpbCB7IGJvcmRlcjogMXB4IHNvbGlkICNBMEEzQTU7IGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICM5N0FBQkI7IG1hcmdpbjogMCAwIDVweDt9XHJcbiNuZXdCb29rcyAuc2xpZGVyIC5sYW5kc2NhcGVCb29rIC50aHVtYm5haWwgeyBoZWlnaHQ6IDEwN3B4OyB3aWR0aDogMTY0cHg7IH1cclxuI25ld0Jvb2tzIC5zbGlkZXIgLmJvb2tQb3BvdXQgc3Ryb25nIHsgY29sb3I6ICMwMDA7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxNnB4O31cclxuI25ld0Jvb2tzIC5zbGlkZXIgLmRpdmlkZXIgeyBiYWNrZ3JvdW5kOiAjRkFGM0QzOyBib3JkZXItdG9wOiAxcHggc29saWQgI0YzRTRBMDsgY2xlYXI6IGJvdGg7IGhlaWdodDogMXB4OyBtYXJnaW46IDIwcHggMDsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZzogMDsgd2lkdGg6IDEwMCU7fVxyXG4jbmV3Qm9va3MgdWwjcmVjb21tZW5kYXRpb25zQnV0dG9ucyB7IGJvdHRvbTogMTVweDsgbGVmdDogNTAlOyBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTsgbWFyZ2luOiAwIDAgMCAtMjBweDsgcGFkZGluZzogMDsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IHotaW5kZXg6IDEwO31cclxuI25ld0Jvb2tzIHVsI3JlY29tbWVuZGF0aW9uc0J1dHRvbnMgbGkgeyBiYWNrZ3JvdW5kOiAjNEEzMDMxOyBib3JkZXI6IDFweCBzb2xpZCAjNEEzMDMxOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBsZWZ0OyBoZWlnaHQ6IDhweDsgbWFyZ2luOiAwIDhweCAwIDA7IHRleHQtaW5kZW50OiAtMTAwMGVtOyB3aWR0aDogOHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7IH1cclxuI25ld0Jvb2tzIHVsI3JlY29tbWVuZGF0aW9uc0J1dHRvbnMgbGkuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiAjRkZGOyB9XHJcbiNuZXdCb29rcyAuc2xpZGVOYXYgeyBiYWNrZ3JvdW5kOiAjRkZGOyBib3JkZXI6IDFweCBzb2xpZCAjQjQ5ODE2OyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiA0M3B4OyB3aWR0aDogMjFweDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiNuZXdCb29rcyAjYXJyb3dQcmV2aW91cyB7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMjBweDsgIGxlZnQ6IDE4cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyNjBweDsgei1pbmRleDogMTA7fVxyXG4jbmV3Qm9va3MgI2Fycm93TmV4dCB7IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxOHB4OyB0b3A6IDI2MHB4OyB6LWluZGV4OiAxMDt9XHJcbiNuZXdCb29rcyAuc2xpZGVOYXYgLmFycm93ICB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNHB4OyBtYXJnaW46IDA7IGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50OyB9XHJcbiNuZXdCb29rcyAuYXJyb3dSaWdodCB7IGJvcmRlci1sZWZ0OiA3cHggc29saWQgI0I0OTgxNjsgcmlnaHQ6IDhweDsgfVxyXG4jbmV3Qm9va3MgLmFycm93TGVmdCB7IGJvcmRlci1yaWdodDogN3B4IHNvbGlkICNCNDk4MTY7IGxlZnQ6IDhweDsgfSBcclxuI25ld0Jvb2tzIC5zbGlkZU5hdjpob3ZlciB7IGJvcmRlci1jb2xvcjogIzRBMzAzMTsgfVxyXG4jbmV3Qm9va3MgLnNsaWRlTmF2OmhvdmVyIC5hcnJvd1JpZ2h0IHsgYm9yZGVyLWxlZnQtY29sb3I6ICM0QTMwMzE7IH1cclxuI25ld0Jvb2tzIC5zbGlkZU5hdjpob3ZlciAuYXJyb3dMZWZ0IHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNEEzMDMxOyB9XHJcblxyXG4jbmV3Qm9va3MgLmJvb2stYXNzaWduIHtcclxuXHR0b3A6IDE2MHB4O1xyXG5cdGxlZnQ6IDU1cHg7XHJcbn1cclxuI25ld0Jvb2tzIC5ib29rLWFzc2lnbi1ob3Zlcjpob3ZlciAuYm9vay1hc3NpZ24ge1xyXG5cdHRvcDogMTU1cHg7XHJcbn0iLCIvKiBSYXogUGx1cyBNZW1iZXIgSG9tZSBQYWdlIFJlZGVzaWduIE1vZHVsZSAqLyIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuc2hhcmVkL2Nzcy9tb2R1bGVzL19tZXNzYWdlLWJveC5jc3NcclxuVE9ETzogY29kZSByZXZpZXdcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm1lc3NhZ2UtYm94LFxyXG4uZGlhbG9nIHtcclxuICAgIG1heC1oZWlnaHQ6IDkwJTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDc1cHg7XHJcbn1cclxuLm1lc3NhZ2UtYm94LFxyXG4ubWVzc2FnZS1ib3gucG9wb3V0Q29udGVudCxcclxuLmRpYWxvZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDAsMCwwLjEzKTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDk3NXB4O1xyXG4gICAgcGFkZGluZzogMThweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHotaW5kZXg6IDUwMDA7IC8qIHNhbWUgYXMgbW9kYWwgYW5kIG92ZXJsYXkgKi9cclxufVxyXG4ubWVzc2FnZS1ib3gge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcbi5tZXNzYWdlLWJveDpsYXN0LWNoaWxkLFxyXG4uZGlhbG9nOmxhc3QtY2hpbGQge1xyXG4gICAgei1pbmRleDogNTAwMztcclxufVxyXG4ubWVzc2FnZS1ib3gtc20sXHJcbi5kaWFsb2ctc20ge1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59XHJcbi5tZXNzYWdlLWJveC1tZCxcclxuLmRpYWxvZy1tZCB7XHJcbiAgICB3aWR0aDogNjAwcHg7XHJcbn1cclxuLm1lc3NhZ2UtYm94LWxnLFxyXG4uZGlhbG9nLWxnIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZXNzYWdlLWJveC1mb290ZXIsXHJcbi5kaWFsb2ctZm9vdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5kaWFsb2ctdGl0bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMThweDtcclxuICAgIGxlZnQ6IC0xOHB4O1xyXG4gICAgbWFyZ2luOiAwIDAgLTEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwxMDEsMiwuOCk7XHJcbiAgIC8qIGJvcmRlci1yYWRpdXM6IDdweCA3cHggMCAwOyovXHJcbiAgICBwYWRkaW5nOiA1cHggMThweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDM2cHgpO1xyXG59IiwiLypcclxuTUVTU0FHRSBSRVBPUlRFUlxyXG5Cb3ggdGhhdCBhcHBlYXJzIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmVlbiB0byBkaXNwbGF5IGVycm9ycyBhbmQgY29uZmlybWF0aW9uIG1lc3NhZ2VzLlxyXG5Mb2NhdGlvbjogL3NoYXJlZC9jc3MvbW9kdWxlcy9fbWVzc2FnZVJlcG9ydGVyLmNzc1xyXG4qL1xyXG5cclxuLm1lc3NhZ2VSZXBvcnRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHotaW5kZXg6IDU1NTU7XHJcbn1cclxuLm1lc3NhZ2VSZXBvcnRlcl9tZXNzYWdlcyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTgxODE4O1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMjYpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG4ubWVzc2FnZVJlcG9ydGVyX21lc3NhZ2Uge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGNvbG9yOiAjZjlmOWY5O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA2cHggMjFweCA2cHggMTJweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi13aWR0aDogMzA0cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbiAgICAubWVzc2FnZVJlcG9ydGVyX21lc3NhZ2U6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XHJcbiAgICB9XHJcbiAgICAubWVzc2FnZVJlcG9ydGVyX21lc3NhZ2U6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxuXHJcbi8qIG5lZWQgdG8gZmlyc3QgZGV0ZXJtaW5lIHdoaWNoIG1lc3NhZ2VzIHNob3VsZCBiZSBzdWNjZXNzZXMsIHdoaWNoIHNob3VsZCBiZSBlcnJvciwgd2hpY2ggc2hvdWxkIGJlIGFsZXJ0cywgYW5kIHdoaWNoIHNob3VsZCBiZSBuZXV0cmFsXHJcbiAgICAubWVzc2FnZVJlcG9ydGVyX21lc3NhZ2Utc3VjY2Vzczo6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogIzgxYjg2OTtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTA4NFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiovXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuc2hhcmVkL2Nzcy9tb2R1bGVzL19taW5pYm9vay5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuI2ZsYXNoZGl2MUlubmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XHJcbn1cclxuI21pbmlCb29rIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xyXG4gICAgYmFja2dyb3VuZDogI0VFRUVFRTtcclxuICAgIHdpZHRoOiAzMzJweDtcclxuICAgIGhlaWdodDogMjc5cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4jbWluaUJvb2subGFuZHNjYXBlIHtcclxuICAgIGhlaWdodDogMTc5cHg7XHJcbn1cclxuI21pbmlCb29rICNtaW5pQm9va1NsaWRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG4jbWluaUJvb2sgI21pbmlCb29rU2xpZGVyOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6ICcgJztcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5taW5pQm9va0J1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEyOHB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDI3cHg7IFxyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I5YjRlYztcclxuICAgIGJhY2tncm91bmQ6ICNGOEY3RkMgdXJsKC9zaGFyZWQvaW1hZ2VzL2JnLWJ1dHRvbm5ldy5wbmcpIDAgMCByZXBlYXQteDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG59XHJcbiNtaW5pQm9vay5sYW5kc2NhcGUgLm1pbmlCb29rQnV0dG9uIHtcclxuICAgIHRvcDogNzlweDtcclxufVxyXG4jbGVmdC5taW5pQm9va0J1dHRvbiB7XHJcbiAgICBsZWZ0OiA0cHg7XHJcbn1cclxuI3JpZ2h0Lm1pbmlCb29rQnV0dG9uIHtcclxuICAgIHJpZ2h0OiA0cHg7XHJcbn1cclxuLm1pbmlCb29rQnV0dG9uLmluYWN0aXZlLXNjcm9sbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5taW5pQm9va0J1dHRvbiAuYXJyb3dMZWZ0IHtcclxuICAgIG1hcmdpbjogMTJweCAycHggMCAwOyBcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEwcHg7IFxyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTBweDsgXHJcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDEwcHg7XHJcbn1cclxuLm1pbmlCb29rQnV0dG9uIC5hcnJvd1JpZ2h0IHtcclxuICAgIG1hcmdpbjogMTJweCAwIDAgMnB4O1xyXG4gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEwcHg7IFxyXG4gICAgIGJvcmRlci10b3Atd2lkdGg6IDEwcHg7IFxyXG4gICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxMHB4O1xyXG59XHJcbi5taW5pQm9va0J1dHRvbjpob3ZlciAuYXJyb3dSaWdodCB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzI3MjA3NTtcclxufVxyXG4ubWluaUJvb2tCdXR0b246aG92ZXIgLmFycm93TGVmdCB7XHJcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyNzIwNzU7XHJcbn1cclxuLm1pbmlCb29rQnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMmYxZmI7XHJcbiAgICBib3JkZXItY29sb3I6ICMyNzIwNzU7XHJcbn1cclxuI21pbmlCb29rIGltZy5ib29rQ292ZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4ICNkZGQ7XHJcbn1cclxuI21pbmlCb29rIGltZy5ib29rQ292ZXJwb3J0cmFpdCB7XHJcbiAgICB3aWR0aDogMTY5cHg7XHJcbiAgICBoZWlnaHQ6IDI2MnB4O1xyXG4gICAgbWFyZ2luLXRvcDogN3B4O1xyXG59XHJcbiNtaW5pQm9vayBpbWcuYm9va0NvdmVybGFuZHNjYXBlIHtcclxuICAgIHdpZHRoOiAyNTVweDtcclxuICAgIGhlaWdodDogMTY1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbn0iLCIvKlxyXG5NT0RBTCBXSU5ET1dcclxuXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19tb2RhbC5jc3NcclxuRGlzcGxheXMgY29udGVudCB3aXRoaW4gYSBtb2RhbCB3aW5kb3cuIE5vdCB0byBiZSB1c2VkIGZvciBpZnJhbWVkIGNvbnRlbnQuXHJcblxyXG5UT0RPOiBjb2RlIHJldmlld1xyXG4qL1xyXG5cclxuLm1vZGFsV2luZG93IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMCwwLDAuMTMpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgaGVpZ2h0OiA5NSU7XHJcbiAgICB3aWR0aDogOTQ0cHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6IDUwMDA7IC8qIHNhbWUgYXMgbWVzc2FnZSBib3ggYW5kIG92ZXJsYXkgKi9cclxufVxyXG4ubW9kYWxXaW5kb3c6bGFzdC1jaGlsZCB7XHJcbiAgICB6LWluZGV4OiA1MDAzO1xyXG59XHJcblxyXG4ubW9kYWxXaW5kb3dfaGVhZGVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjZTBlMGUwO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiA2MHB4OyAvKiBuZWVkcyBhIHN0YXRpYyBoZWlnaHQgc28gdGhhdCBtb2RhbFdpbmRvd19ib2R5IGhlaWdodCBjYWxjdWxhdGlvbiBpcyBjb3JyZWN0ICovXHJcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDE4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsV2luZG93X2JvZHkge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogY2FsYyg5NXZoIC0gMTM0cHgpO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHBhZGRpbmc6IDE4cHg7XHJcblxyXG4gICAgLyogU0hBRE9XUyBGT1IgU0NST0xMQUJMRSBDT05URU5UICovXHJcbiAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgIC8qIFNoYWRvdyBjb3ZlcnMgKi9cclxuICAgICAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSxcclxuICAgICAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSAwIDEwMCUsXHJcblxyXG4gICAgICAgIC8qIFNoYWRvd3MgKi9cclxuICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMCkpLFxyXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC4xKSwgcmdiYSgwLDAsMCwwKSkgMCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEycHgsIDEwMCUgMTJweCwgMTAwJSAxMnB4LCAxMDAlIDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XHJcbn1cclxuICAgIC5tb2RhbFdpbmRvdy1ub0hlYWRlciAubW9kYWxXaW5kb3dfYm9keSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDk1dmggLSA3NHB4KTtcclxuICAgIH1cclxuICAgIC5tb2RhbFdpbmRvdy1ub0Zvb3RlciAubW9kYWxXaW5kb3dfYm9keSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDk1dmggLSA2MHB4KTtcclxuICAgIH1cclxuICAgIC5tb2RhbFdpbmRvdy1ub0hlYWRlckZvb3RlciAubW9kYWxXaW5kb3dfYm9keSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDk1dmgpO1xyXG4gICAgfVxyXG5cclxuLm1vZGFsV2luZG93X2Zvb3RlciB7XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggI2UwZTBlMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDc0cHg7IC8qIG5lZWRzIGEgc3RhdGljIGhlaWdodCBzbyB0aGF0IG1vZGFsV2luZG93X2JvZHkgaGVpZ2h0IGNhbGN1bGF0aW9uIGlzIGNvcnJlY3QgKi9cclxuICAgIHBhZGRpbmc6IDE4cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4iLCIubmF2QnV0dG9ucyB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTsgXHJcblx0bWFyZ2luOiAyMHB4IDA7IFxyXG5cdG92ZXJmbG93OiBhdXRvOyBcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSB7IFxyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgXHJcblx0bWFyZ2luOiAwOyBcclxuXHRwYWRkaW5nOiAwOyBcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMzIlO1xyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSAuaGVhZGluZyB7IFxyXG5cdGRpc3BsYXk6IG5vbmU7IFxyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSBhIHsgXHJcblx0Zm9udC1zaXplOiAxM3B4OyBcclxuXHRsaW5lLWhlaWdodDogMjFweDsgXHJcblx0Y29sb3I6ICNGRkY7IFxyXG5cdGRpc3BsYXk6IGJsb2NrOyBcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcblx0YmFja2dyb3VuZDogIzdFQUVEQTsgXHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDsgXHJcblx0aGVpZ2h0OiA0MHB4OyBcclxuXHRwYWRkaW5nOiAxMHB4IDVweDsgXHJcblx0dGV4dC1zaGFkb3c6IG5vbmU7IFxyXG5cdG1hcmdpbjogMCA1cHggNXB4IDA7IFxyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IFxyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSBhLmxvbmdUZXh0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcblx0XHJcbi5uYXZCdXR0b25zIC5uYXZJdGVtIC5uZXcge1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRsZWZ0OiAtOHB4O1xyXG5cdHRvcDogNnB4O1xyXG5cdHdpZHRoOiAzMHB4O1xyXG59XHRcclxuXHRcclxuLm5hdkJ1dHRvbnMgLm5hdkl0ZW0gbGkgbGkgbGkgeyBcclxuXHRkaXNwbGF5OiBub25lOyBcclxufVxyXG5cclxuLm5hdkJ1dHRvbnMgLm5hdkl0ZW0gLm5vcGFnZSB7IFxyXG5cdGRpc3BsYXk6IG5vbmU7IFxyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmF2SXRlbSAuZXh0ZXJuYWxMaW5rcyB7IFxyXG5cdGRpc3BsYXk6IG5vbmU7IFxyXG59XHJcblxyXG4ubmF2QnV0dG9ucyAubmV3IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19uYXYtaG9yaXpvbnRhbC5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm5hdkhvcmkge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblx0Lm5hdkhvcmkgLm5hdkl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblx0XHQubmF2SG9yaSAubmF2SXRlbSA+IGEge1xyXG5cdFx0XHRjb2xvcjogIzQ0NDtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDVweCA4cHggNnB4IDhweDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0fVxyXG5cdFx0XHQvKiAubmF2SG9yaSA+IC5uYXZJdGVtOmhvdmVyID4gYSwgKi9cclxuXHRcdFx0Lm5hdkhvcmkgPiAubmF2SXRlbS5hY3RpdmUgPiBhLFxyXG5cdFx0XHQubmF2SG9yaSA+IC5uYXZJdGVtID4gYS5hY3RpdmUgLyogZm9yIHNpbXBsZVBvcG91dCAqLyB7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICMzNzlGMEM7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdH1cclxuXHRcdC5uYXZIb3JpIC5uYXZJdGVtID4gYS5idG4ge1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdFx0Lm5hdkhvcmkgLm5hdkl0ZW0gPiBhLmJ0bi1zbSB7XHJcblx0XHRcdHBhZGRpbmc6IDNweCAxMHB4IDRweCAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0Lm5hdkhvcmkgLm5hdkl0ZW0gLmFycm93RG93biB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogIzM3OUYwQyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiA1cHg7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgMnB4O1xyXG5cdFx0fVxyXG5cdFx0XHQubmF2SG9yaSAubmF2SXRlbTpob3ZlciBhIC5hcnJvd0Rvd24ge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0XHJcbi8qIHN1YmxldmVsICovXHRcdFxyXG4ubmF2SG9yaUNoaWxkIHtcclxuXHRiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNmZmY7XHJcblx0Ym9yZGVyOiA1cHggc29saWQgIzM3OUYwQztcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCA0cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblx0bGVmdDogLTk5OWVtO1xyXG5cdG1hcmdpbjogLTNweCAwIDAgMDtcclxuXHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR3aWR0aDogMTI1cHg7XHJcbiAgICB6LWluZGV4OiAyMDA7XHJcbn1cclxuXHQubmF2SG9yaSAubmF2SXRlbTpob3ZlciAubmF2SG9yaUNoaWxkIHtcclxuXHRcdGxlZnQ6IGF1dG87XHJcblx0fVxyXG5cdC5uYXZIb3JpQ2hpbGQgLm5hdkl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cdFx0Lm5hdkhvcmlDaGlsZCAubmF2SXRlbSBhIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0Y29sb3I6ICM0NDQ7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0cGFkZGluZzogM3B4IDA7XHJcblx0XHR9XHJcblx0XHQubmF2SG9yaUNoaWxkIC5uYXZJdGVtOmhvdmVyIGEge1xyXG5cdFx0XHRjb2xvcjogIzM3OUYwQztcclxuXHRcdH1cclxuXHRcdFxyXG4vKiByaWdodCBhbGlnbmVkIG5hdiAqL1x0XHRcclxuLm5hdkhvcmktYWxpZ25SaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdG1hcmdpbjogMCAwIDAgMDtcclxufVxyXG4ubmF2SG9yaS1hbGlnblJpZ2h0IC5uYXZIb3JpQ2hpbGQge1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweCAwIDRweCA0cHg7XHJcbn1cdFxyXG5cdC8qIC5uYXZIb3JpLWFsaWduUmlnaHQgLm5hdkl0ZW06aG92ZXIgLm5hdkhvcmlDaGlsZCwgKi9cclxuXHQubmF2SG9yaS1hbGlnblJpZ2h0IC5uYXZJdGVtLmFjdGl2ZSAubmF2SG9yaUNoaWxkIHtcclxuXHRcdGxlZnQ6IGF1dG87XHJcblx0XHRyaWdodDogMDtcclxuXHR9XHQiLCIvKlxyXG5IT1JJWk9OVEFMIFNFQ09OREFSWSBOQVZJR0FUSU9OXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19uYXYtbWFpbi1zZWNvbmRhcnkuY3NzXHJcbiovXHJcblxyXG4ubWFpbk5hdlNlY29uZGFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDYycHg7XHJcbn1cclxuLm1haW5OYXZTZWNvbmRhcnkgLm5hdkl0ZW0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgNnB4IHRyYW5zcGFyZW50O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICM1NjUyNGU7XHJcbiAgICBwYWRkaW5nOiA2cHggMjBweCAwIDIwcHg7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLm1haW5OYXZTZWNvbmRhcnkgLm5hdkl0ZW06aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDVDQjk7XHJcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLm1haW5OYXZTZWNvbmRhcnkgLm5hdkl0ZW0uYWN0aXZlIHtcclxuICAgIGNvbG9yOiAjMDA1Q0I5O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkO1xyXG59XHJcbi5tYWluTmF2U2Vjb25kYXJ5IC5idG4ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxufSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fbmF2LXBvcG91dENvbnRlbnQuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKiovICAgICAgICAgXHJcbi8qIG5hdiB3aXRoaW4gcG9wb3V0ICovXHJcblxyXG4ucG9wb3V0Q29udGVudCAubmF2LXBvcG91dENvbnRlbnRDb250YWluZXIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG4ucG9wb3V0Q29udGVudC1zbVRhYnMgLm5hdi1wb3BvdXRDb250ZW50Q29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbi5uYXYtcG9wb3V0Q29udGVudCB7XHJcbiAgICBsaXN0LXN0eWxlOiBvdXRzaWRlIG5vbmUgbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLm5hdi1wb3BvdXRDb250ZW50IC5uYXZJdGVtIHtcclxuICAgIG1hcmdpbjogMCAwIDJweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLm5hdi1wb3BvdXRDb250ZW50IC5uYXZJdGVtIGEge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjZTBlMGUwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweCA4cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4gICAgLm5hdi1wb3BvdXRDb250ZW50IC5uYXZJdGVtIGE6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNkMWQxZDE7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICB9XHJcbiAgICAubmF2LXBvcG91dENvbnRlbnQgLm5hdkl0ZW0gYS5hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI2ZmZjtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW46IDAgLTFweCAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDhweCA1cHggN3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAyOyAvKiBhYm92ZSBtYWluIGNvbnRlbnQgY29sdW1uICovXHJcbiAgICB9XHJcblxyXG4ubmF2LXBvcG91dENvbnRlbnQgLm5hdkl0ZW0tbGlua3NPdXQgYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTI1ZDUzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB3aWR0aDogOTUlO1xyXG59XHJcbiAgICAubmF2LXBvcG91dENvbnRlbnQgLm5hdkl0ZW0tbGlua3NPdXQgYTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2NhMzEyNTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbi8qIG1haW4gY29udGVudCBjb2x1bW4gaW4gdGFiYmVkIHBvcG91dCAqL1xyXG4ucG9wb3V0VGFiQ29udGVudCB7XHJcbiAgICBmbG9hdDogbGVmdDsgXHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XHJcbiAgICBwYWRkaW5nOiAwIDE4cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuLnBvcG91dENvbnRlbnQtc21UYWJzIC5wb3BvdXRUYWJDb250ZW50IHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLnBvcG91dENvbnRlbnQuYm9va1Jvb21BbGwgLm5hdi1wb3BvdXRDb250ZW50Q29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxNyU7XHJcbn1cclxuLmJvb2tSb29tQWxsIC5wb3BvdXRUYWJDb250ZW50IHtcclxuICAgIHdpZHRoOiA4MyU7XHJcbn1cclxuXHJcbi8qKiogQU5HVUxBUiBWRVJTSU9OIE9GIFRBQlMgSU4gUE9QT1ZFUiAqKiovXHJcbi5wb3BvdmVyLWNvbnRlbnQgLm5hdlRhYnMge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAzMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG4ucG9wb3Zlci1jb250ZW50IC5uYXZUYWJzIC5uYXZJdGVtIHtcclxuICAgIG1hcmdpbjogMCAwIDJweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4ucG9wb3Zlci1jb250ZW50IC5uYXZUYWJzID4gLm5hdkl0ZW0gPiBhIHtcclxuICAgIGJhY2tncm91bmQ6ICNlMGUwZTA7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweCA4cHg7XHJcbiAgICBtYXJnaW46IDAgLTFweCAwIDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcbi5wb3BvdmVyLWNvbnRlbnQgLm5hdlRhYnMgPiAubmF2SXRlbS5pcy1hY3RpdmUgPiBhIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuLnBvcG92ZXItY29udGVudCAubmF2VGFicyA+IC5uYXZJdGVtID4gYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZDFkMWQxO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2UwZTBlMDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcbi5wb3BvdmVyLWNvbnRlbnQgLm5hdlRhYnMgPiAubmF2SXRlbS5pcy1hY3RpdmUgPiBhOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5wb3BvdmVyLWNvbnRlbnQgLm5hdi10YWIge1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxuICAgIHBhZGRpbmc6IDAgMThweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fbmF2LXN0ZXBzLmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm5hdlN0ZXBzIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDE0cHggMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLm5hdlN0ZXBzOmFmdGVyIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubmF2U3RlcHMgLm5hdkl0ZW0ge1xyXG5cdGJvcmRlci1yaWdodDogc29saWQgMXB4ICNmZmY7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAzMyU7XHJcbn1cclxuXHQubmF2U3RlcHMgLm5hdkl0ZW0gPiBhIHtcclxuXHRcdGJhY2tncm91bmQ6ICNlY2VjZWMgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcclxuICAgIFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICNjY2NjY2M7XHJcblx0XHRjb2xvcjogIzQ0NDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogNXB4IDhweCA2cHggOHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxuXHRcdC5uYXZTdGVwcyA+IC5uYXZJdGVtOmhvdmVyID4gYSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNlMGUwZTAgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcclxuXHRcdH1cclxuXHRcdC5uYXZTdGVwcyA+IC5uYXZJdGVtLmFjdGl2ZSA+IGEge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIGxpbmVhci1ncmFkaWVudCgjZGRmMDk4LCAjYzhkOTk1KSByZXBlYXQgc2Nyb2xsIDAgMDtcclxuICAgIFx0XHRib3JkZXItdG9wOiA0cHggc29saWQgIzRhOGExZjtcclxuICAgIFx0XHRjb2xvcjogIzMzMztcclxuICAgIFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHRcdC5uYXZTdGVwcyAubmF2SXRlbTpsYXN0LWNoaWxkIHtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdFx0XHR3aWR0aDogMzQlO1xyXG5cdFx0fVxyXG5cclxuLyogbnVtYmVyIG9mIHN0ZXBzLCBkZWZhdWx0cyB0byAzICovXHJcbi5uYXZTdGVwcy00IC5uYXZJdGVtLFxyXG4ubmF2U3RlcHMtNCAubmF2SXRlbTpsYXN0LWNoaWxkIHtcclxuXHR3aWR0aDogMjUlO1xyXG59XHJcbi5uYXZTdGVwcy01IC5uYXZJdGVtLFxyXG4ubmF2U3RlcHMtNSAubmF2SXRlbTpsYXN0LWNoaWxkIHtcclxuXHR3aWR0aDogMjAlO1xyXG59XHRcdCIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fbmF2LXRhYmJlZC5jc3NcclxuVE9ETzogcmVmYWN0b3IgLSBjb25zb2xpZGF0ZSBkZWZhdWx0LCBqcXVlcnkgdWksIGFuZCBhbmd1bGFyIHZlcnNpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoganF1ZXJ5IHVpIG92ZXJyaWRlcyAqL1xyXG5cclxuLnVpLXRhYnMge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG1hcmdpbmc6IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG4udWktdGFicyAudWktdGFicy1uYXYgbGksXHJcbi51aS10YWJzIC51aS10YWJzLW5hdiAudWktc3RhdGUtZGVmYXVsdCxcclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRmbG9hdDogbm9uZTtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcbi51aS10YWJzIC51aS10YWJzLW5hdiAudWktdGFicy1hY3RpdmUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcbi51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZsb2F0OiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi51aS10YWJzIC51aS10YWJzLXBhbmVsIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4ubmF2VGFicyxcclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IC8qIGpxdWVyeSB1aSAqLyB7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgNXB4ICMwYjNiODM7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblx0Lm5hdlRhYnMgLm5hdkl0ZW0sXHJcblx0LnVpLXRhYnMgLm5hdkl0ZW0gLyoganF1ZXJ5IHVpICovLFxyXG5cdC5uYXZUYWJzQ2hpbGQgLm5hdkl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIDNweCAwIDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHRcdC5uYXZUYWJzIC5uYXZJdGVtID4gYSxcclxuXHRcdC51aS10YWJzIC5uYXZUYWJzIC5uYXZJdGVtID4gYSAvKiBqcXVlcnkgdWkgKi8sXHJcblx0XHQubmF2VGFic0NoaWxkIC5uYXZJdGVtID4gYSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNkZGRkZGQ7XHJcblx0XHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCNlNGU0ZTQsICNkOWQ5ZDkpOyAvKiBTYWZhcmkgKi9cclxuXHRcdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoI2U0ZTRlNCwgI2Q5ZDlkOSk7IC8qIEZpcmVmb3ggKi9cclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNlNGU0ZTQsICNkOWQ5ZDkpO1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA3cHggN3B4IDAgMDtcclxuXHRcdFx0Y29sb3I6ICM2NjY7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDVweCAxMXB4O1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR9XHJcblx0XHRcdC5uYXZUYWJzIC5uYXZJdGVtOmhvdmVyID4gYSxcclxuXHRcdFx0LnVpLXRhYnMgLm5hdlRhYnMgLm5hdkl0ZW06aG92ZXIgPiBhIC8qIGpxdWVyeSB1aSAqLyxcclxuXHRcdFx0Lm5hdlRhYnNDaGlsZCAubmF2SXRlbTpob3ZlciA+IGEge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNjZGNkY2Q7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoI2NkY2RjZCwgI2FjYWNhYyk7IC8qIFNhZmFyaSAqL1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCNjZGNkY2QsICNhY2FjYWMpOyAvKiBGaXJlZm94ICovXHJcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNjZGNkY2QsICNhY2FjYWMpO1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2FjYWNhYztcclxuXHRcdFx0XHRjb2xvcjogIzMzMztcclxuXHRcdFx0fVxyXG5cdFx0Lm5hdlRhYnMgPiAubmF2SXRlbS5pcy1hY3RpdmUgPiBhLFxyXG5cdFx0Lm5hdlRhYnMgPiAubmF2SXRlbSA+IGEuYWN0aXZlLCAvKiBmb3IgdGhlIHRhYnMgY3VycmVudGx5IG9uIGxheiBzaXRlcyAqL1xyXG5cdFx0Lm5hdlRhYnMgPiAubmF2SXRlbS5pcy1hY3RpdmU6aG92ZXIgPiBhLFxyXG5cdFx0Lm5hdlRhYnMgPiAubmF2SXRlbSA+IGEuaXMtYWN0aXZlIC8qIGZvciBzaW1wbGVQb3BvdXQgKi8sXHJcblx0XHQudWktdGFicyAubmF2VGFicyA+IC5uYXZJdGVtLnVpLXRhYnMtYWN0aXZlID4gYSAvKiBqcXVlcnkgdWkgKi8ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjMGE0ZDkwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjMDg2MWEwLCAjMGIzYjgzKTsgLyogU2FmYXJpICovXHJcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCMwODYxYTAsICMwYjNiODMpOyAvKiBGaXJlZm94ICovXHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMDg2MWEwLCAjMGIzYjgzKTtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjMGIzYjgzO1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdH1cclxuXHJcbi8qIHJpZ2h0LWFsaWduZWQgdGFicyAqL1xyXG4ubmF2VGFicy1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiovXHJcbi8qIFNVQkxFVkVMICovXHJcblxyXG4ubmF2VGFic0NoaWxkLFxyXG4udWktdGFicyAubmF2VGFic0NoaWxkIC8qIGpxdWVyeSB1aSAqLyxcclxuLnRhYnNDaGlsZCA+IC5uYXZUYWJzIC8qIGFuZ3VsYXIgKi8ge1xyXG5cdGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI2MzZGFmZDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHQubmF2VGFic0NoaWxkIC5uYXZJdGVtLFxyXG5cdC51aS10YWJzIC51aS10YWJzLW5hdi5uYXZUYWJzQ2hpbGQgLm5hdkl0ZW0gLyoganF1ZXJ5IHVpICovLFxyXG4gICAgLnRhYnNDaGlsZCA+IC5uYXZUYWJzIC5uYXZJdGVtIC8qIGFuZ3VsYXIgKi8ge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cdH1cclxuXHRcdC5uYXZUYWJzQ2hpbGQgLm5hdkl0ZW0gPiBhLFxyXG5cdFx0LnVpLXRhYnMgLm5hdlRhYnNDaGlsZCAubmF2SXRlbSA+IGEgLyoganF1ZXJ5IHVpICovLFxyXG4gICAgICAgIC50YWJzQ2hpbGQgPiAubmF2VGFicyAubmF2SXRlbSA+IGEgLyogYW5ndWxhciAqLyB7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdFx0Y29sb3I6ICMyMjI7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAxMnB4O1xyXG5cdFx0fVxyXG5cdFx0Lm5hdlRhYnNDaGlsZCAubmF2SXRlbTpob3ZlciA+IGEsXHJcblx0XHQudWktdGFicyAubmF2VGFic0NoaWxkIC5uYXZJdGVtOmhvdmVyID4gYSAvKiBqcXVlcnkgdWkgKi8sXHJcbiAgICAgICAgLnRhYnNDaGlsZCA+IC5uYXZUYWJzIC5uYXZJdGVtOmhvdmVyID4gYSAvKiBhbmd1bGFyICovIHtcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XHJcblx0XHR9XHJcblx0XHQubmF2VGFic0NoaWxkIC5uYXZJdGVtLmlzLWFjdGl2ZSA+IGEsXHJcblx0XHQubmF2VGFic0NoaWxkIC5uYXZJdGVtLnVpLXRhYnMtYWN0aXZlID4gYSAvKiBqcXVlcnkgdWkgKi8sXHJcbiAgICAgICAgLnRhYnNDaGlsZCA+IC5uYXZUYWJzIC5uYXZJdGVtLmlzLWFjdGl2ZSBhIC8qIGFuZ3VsYXIgKi8ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogIzIyMjtcclxuXHRcdH1cclxuXHRcdC5uYXZUYWJzQ2hpbGQ6YWZ0ZXIsXHJcbiAgICAgICAgLnRhYnNDaGlsZCA+IC5uYXZUYWJzOmFmdGVyIC8qIGFuZ3VsYXIgKi8ge1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG4vKiBuYXZpZ2F0aW9uIHRhYnMgb25seSAobm90IGpxdWVyeSB1aSB0YWJzKSAqL1xyXG4ubmF2VGFicyAubmF2SXRlbS1wYXJlbnQuaXMtYWN0aXZlIHtcclxuXHRoZWlnaHQ6IDcxcHg7XHJcbn1cclxuLm5hdlRhYnMgLm5hdlRhYnNDaGlsZCB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgNXB4ICMwYjNiODM7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cdC5uYXZUYWJzIC5uYXZJdGVtLmlzLWFjdGl2ZSAubmF2VGFic0NoaWxkIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuIiwiLypcclxuVkVSVElDQUwgTkFWXHJcblxyXG5Mb2NhdGlvbjogL3NoYXJlZC9tb2R1bGVzL19uYXYtdmVydGljYWwuY3NzXHJcbk1hcmt1cDogX3N1Ym5hdi5waHBcclxuVGhlIGRlZmF1bHQgbmF2VmVydGljYWwgaXMgYSBwbGFpbiB2ZXJ0aWNhbCBuYXYuXHJcbkl0IGlzIGV4dGVuZGVkIGJlbG93IGZvciB1c2UgaW4gc2lkZWJhciwgbWFpbiBuYXYsIGxhbmRpbmcgcGFnZXMsIGFuZCBzaXRlbWFwLlxyXG5cclxuISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISFcclxuQkUgVkVSWSBDQVVUSU9VUyBBQk9VVCBNT0RJRllJTkcgREVGQVVMVCBOQVZWRVJUSUNBTCBTVFlMRVNcclxuISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISFcclxuXHJcblRPRE86IGZpbmlzaCByZWZhY3RvcmluZyBuYXZpZ2F0aW9uIHRvIGVuYWJsZSByZW1vdmluZyB0aGlzIGZpbGVcclxuKi9cclxuXHJcbi5uYXZWZXJ0aWNhbEhlYWRpbmcge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjFyZW07XHJcblx0bWFyZ2luOiAxcmVtIDAgLjZyZW0gMDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qQWRkZWQgZm9yIFwiTkVXXCIgdGFnKi9cclxufVxyXG4gICAgLm5hdlZlcnRpY2FsSGVhZGluZy5ub0xpbmssXHJcblx0Lm5hdlZlcnRpY2FsSGVhZGluZy5ub0xpbms6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICMyMjI7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cdH1cclxuXHQubmF2VmVydGljYWxIZWFkaW5nIC5uZXcge1xyXG5cdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0fVxyXG5cdC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbEhlYWRpbmcgLm5ldyB7XHJcblx0XHR3aWR0aDogMzRweDtcclxuXHRcdGxlZnQ6IC0zNnB4O1xyXG5cdH1cclxuXHJcbi5uYXZWZXJ0aWNhbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IC45NXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHQubmF2VmVydGljYWwgbGkge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcblx0Lm5hdlZlcnRpY2FsIC5uYXZJdGVtIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdFx0Lm5hdlZlcnRpY2FsIC5uYXZJdGVtIGEsXHJcblx0XHQubmF2VmVydGljYWwgLm5hdkl0ZW0tbm9MaW5rIGE6aG92ZXIsXHJcbiAgICAgICAgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIC5ub0xpbms6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogIzIyMjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAuMnJlbSAwO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciBwb3NpdGlvbmluZyB0aGUgJ25ldycgZmxhZyAqL1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR9XHJcbiAgICAgICAgICAgIC5uYXZWZXJ0aWNhbCAubmF2SXRlbS1ub0xpbmsgYSxcclxuICAgICAgICAgICAgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIC5ub0xpbmsge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHRcdFx0Lm5hdlZlcnRpY2FsIC5uYXZJdGVtIGE6aG92ZXIsXHJcblx0XHRcdC5uYXZWZXJ0aWNhbCAubmF2SXRlbSA+IGE6aG92ZXIsXHJcblx0XHRcdC5uYXZWZXJ0aWNhbCAubmF2SXRlbS5hY3RpdmUgPiBhLFxyXG5cdFx0XHQubmF2VmVydGljYWwgLm5hdkl0ZW0uYWN0aXZlID4gYTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0Lm1haW5OYXYgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIGEuYWN0aXZlLFxyXG5cdFx0XHQubWFpbk5hdiAubmF2VmVydGljYWwgLm5hdkl0ZW0gYS5hY3RpdmU6aG92ZXIsXHJcblx0XHRcdC5tYWluTmF2IC5uYXZWZXJ0aWNhbCAubmF2SXRlbS5hY3RpdmUgYSxcclxuXHRcdFx0Lm1haW5OYXYgLm5hdlZlcnRpY2FsIC5uYXZJdGVtLmFjdGl2ZSBhOmhvdmVyIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdC5uYXZWZXJ0aWNhbCAubmF2SXRlbSAuYXJyb3dSaWdodCB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0bWFyZ2luLXRvcDogM3B4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC03cHg7XHJcblx0XHR9XHJcblx0XHQubmF2VmVydGljYWwgLm5hdkl0ZW0gLmFycm93RG93biB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMnB4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0zcHg7XHJcblx0XHR9XHJcblx0XHQubmF2VmVydGljYWwgLm5hdkl0ZW0gLm5ldyxcclxuXHRcdC5tYWluTmF2IC5uZXcge1xyXG5cdFx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRcdGxlZnQ6IC0zMHB4O1xyXG5cdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdH1cclxuXHRcdC5uYXZWZXJ0aWNhbCAubmF2SXRlbSAuc20ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdH1cclxuXHJcbiAgICAvKiAtLS0tLS0tLSAqL1xyXG4gICAgLyogc3VibGV2ZWwgKi9cclxuXHJcbiAgICAubmF2VmVydGljYWxTdWJIZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2VmVydGljYWwgLnN1YmxldmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgICAgIC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0gPiBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0uYWN0aXZlID4gYSxcclxuICAgICAgICAgICAgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAubmF2SXRlbSBhLmFjdGl2ZSxcclxuICAgICAgICAgICAgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAubmF2SXRlbSBhLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0gLmFycm93U20ge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIG5hdlZlcnRpY2FsIHVzZWQgaW4gTWFpbiBOYXZpZ2F0aW9uICovXHJcblxyXG4ubWFpbk5hdiAubmF2Q2hpbGQgLm5hdlZlcnRpY2FsSGVhZGluZyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNjY2M7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW46IDE4cHggMCA2cHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMC4ycmVtIDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi5tYWluTmF2IC5uYXZDaGlsZCBhLm5hdlZlcnRpY2FsSGVhZGluZzpob3ZlciB7XHJcbiAgICBjb2xvcjogIzExMTtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjYjBjMmQzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4ubWFpbk5hdiAubmF2VmVydGljYWxTdWJoZWFkaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4ubWFpbk5hdiAubmF2Q2hpbGQgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIGEge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLm1haW5OYXYgLm5hdkNoaWxkIC5uYXZWZXJ0aWNhbCAubmF2SXRlbSAuc20ge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuICAgIC5tYWluTmF2IC5uYXZDaGlsZCAubmF2VmVydGljYWwgLm5hdkl0ZW06aG92ZXIgLnNtIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4ubWFpbk5hdiAuU3ViSGVhZGluZyxcclxuLm1haW5OYXYgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vKiBuYXZWZXJ0aWNhbCB1c2VkIGluIHNpZGViYXIgKi9cclxuXHJcbi5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAubmF2SXRlbSB7XHJcbiAgICBtYXJnaW46IDAgMCAxcHggMDtcclxufVxyXG4gICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIGEsXHJcbiAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLm5hdkl0ZW0tbm9MaW5rIGE6aG92ZXIsXHJcbiAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLm5hdkl0ZW0gLm5vTGluazpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2NmZTFmMTtcclxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM4MmFlZDg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDhweDtcclxuICAgIH1cclxuICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhOmhvdmVyLFxyXG4gICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5uYXZJdGVtLmFjdGl2ZSA+IGEsXHJcbiAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLm5hdkl0ZW0uYWN0aXZlID4gYTpob3ZlcixcclxuICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhLmFjdGl2ZSxcclxuICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzllYzJlNjtcclxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMxZTUxODA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIC5zbSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiAtLS0tLS0tLSAqL1xyXG4gICAgLyogc3VibGV2ZWwgKi9cclxuXHJcbiAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWFmMmY5O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNiNWQyZWM7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA0cHggMDtcclxuICAgIH1cclxuICAgICAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIC5uYXZJdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIC5uYXZJdGVtIGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IC4ycmVtIC40cmVtIC4ycmVtIC42cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIC5uYXZJdGVtIGE6aG92ZXIsXHJcbiAgICAgICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAubmF2SXRlbS5hY3RpdmUgPiBhLFxyXG4gICAgICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0uYWN0aXZlID4gYTpob3ZlcixcclxuICAgICAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIC5uYXZJdGVtIGEuYWN0aXZlLFxyXG4gICAgICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0gYS5hY3RpdmU6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWwgLnN1YmxldmVsIC5uYXZJdGVtLmFjdGl2ZSBhLFxyXG4gICAgICAgIC5uYXYtc2Vjb25kYXJ5IC5uYXZWZXJ0aWNhbCAuc3VibGV2ZWwgLm5hdkl0ZW0gYS5hY3RpdmUsXHJcbiAgICAgICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAubmF2SXRlbSBhLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAubmF2LXNlY29uZGFyeSAubmF2VmVydGljYWxTdWJIZWFkaW5nIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI0YzRjhGQztcclxuICAgIH1cclxuXHJcbiAgICAvKiAtLS0tLS0tLS0tLS0tICovXHJcbiAgICAvKiBzdWItc3ViIGxldmVsICovXHJcblxyXG4gICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAuc3VibGV2ZWwge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLm5hdi1zZWNvbmRhcnkgLm5hdlZlcnRpY2FsIC5zdWJsZXZlbCAuc3VibGV2ZWwgYSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4ubmF2LXNlY29uZGFyeSAuaWNvbi1wbGFuZXRDIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi5uYXYtc2Vjb25kYXJ5IC5TdWJIZWFkaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiAjMUU1MTgwO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogMnB4IDAgMnB4IDEwcHg7XHJcblx0Y29sb3I6ICNGRkY7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogbmF2VmVydGljYWwgb24gbGFuZGluZyBwYWdlcyAqL1xyXG4vKiBUT0RPOiBjb25zaWRlciByZWZhY3RvcmluZy4gVGhpcyBuYXYgaXMgbm90IGFjdHVhbGx5IHZlcnRpY2FsICovXHJcblxyXG4ubWFpbkJ1dHRvbnMge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdHBhZGRpbmctdG9wOiAzMHB4O1xyXG59XHJcbi5tYWluQnV0dG9ucyAubmF2VmVydGljYWxIZWFkaW5nIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi5tYWluQnV0dG9ucyAubmF2VmVydGljYWwgLm5hdkl0ZW0ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogMzIlO1xyXG59XHJcbiAgICAubWFpbkJ1dHRvbnMgIC5uYXZWZXJ0aWNhbCAgLm5hdkl0ZW0gYSB7XHJcbiAgICAgICAgY29sb3I6ICNGRkY7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjN0VBRURBO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuICAgICAgICAubWFpbkJ1dHRvbnMgIC5uYXZWZXJ0aWNhbCAgLm5hdkl0ZW0gYS5sb25nVGV4dCAge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1haW5CdXR0b25zICAubmF2VmVydGljYWwgIC5uYXZJdGVtIGE6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIH1cclxuLm1haW5CdXR0b25zIC5uYXZWZXJ0aWNhbCA+IGxpIGxpIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi5tYWluQnV0dG9ucyAgLmljb24tcGxhbmV0QyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4ubWFpbkJ1dHRvbnMgLlN1YkhlYWRpbmcge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Zm9udC1zaXplOiAxMTAlO1xyXG59XHJcblxyXG4ubWFpbkJ1dHRvbnMgLm5hdlZlcnQtQ29sdW1uIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRiYWNrZ3JvdW5kOiAjRjBGNUZCO1xyXG5cdHdpZHRoOiAzMCU7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkICNDRkUxRjE7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiAgICAubWFpbkJ1dHRvbnMgLm5hdlZlcnQtQ29sdW1uOm50aC1vZi10eXBlKDIpIHtcclxuICAgICAgICBtYXJnaW46IDAgODBweCAwIDYwcHg7XHJcbiAgICB9XHJcbiAgICAubWFpbkJ1dHRvbnMgLm5hdlZlcnQtQ29sdW1uIC5uYXZJdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuLm1haW5CdXR0b25zIC5uYXZWZXJ0aWNhbCBhIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5zaGFyZWQvY3NzL21vZHVsZXMvX25vbm1lbWJlci1ob21lcGFnZS5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKi9cclxuLyogaGVybyBiYW5uZXIgKi9cclxuXHJcbi5ub25NZW1iZXJIZXJvIHtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9ob21lYmFubmVyLWJnLmpwZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCAjRkZEQjg3O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRib3JkZXItcmFkaXVzOiAxNXB4O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nOiAyNXB4O1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbi5ub25NZW1iZXJIZXJvIC5oZXJvTGVmdCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdHdpZHRoOiA1MyU7XHJcbn1cclxuLm5vbk1lbWJlckhlcm8gLmhlcm9SaWdodCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWF4LXdpZHRoOiA0NyU7XHJcbn1cclxuLm5vbk1lbWJlckhlcm8gaDEge1xyXG5cdGZvbnQtc2l6ZTogMzRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5ub25NZW1iZXJIZXJvIC5ub25NZW1iZXJCdG4ge1xyXG5cdG1hcmdpbjogM3B4IDA7XHJcbn1cclxuLm5vbk1lbWJlckhlcm8gLmhlcm9SaWdodCB7XHJcblx0Y29sb3I6ICMyMjI7XHJcbn1cclxuXHQubm9uTWVtYmVySGVybyAuaGVyb1JpZ2h0IGltZyB7XHJcblx0XHRib3JkZXI6IDVweCBzb2xpZCAjZmZmO1xyXG5cdCAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdCAgICBkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG4vKioqKioqKioqKiovXHJcbi8qIGJ1dHRvbnMgKi9cclxuXHJcbi5ub25NZW1iZXJCdG4ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgcGFkZGluZzogMTVweCAwIDAgNDdweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHdpZHRoOiAxNjdweDtcclxufVxyXG5cdC5ub25NZW1iZXJCdG46aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTFweDtcclxuXHR9XHJcblx0XHJcbi5ub25NZW1iZXJCdG4uZnJlZVNhbXBsZXMge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvYnV0dG9uLXRhYi1mcmVlc2FtcGxlcy0xNjYucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG59XHJcbi5ub25NZW1iZXJCdG4udHJpYWwge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvYnV0dG9uLXRhYi10cmlhbC0xNjYucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG59XHJcbi5ub25NZW1iZXJCdG4ub3JkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvYnV0dG9uLXRhYi1vcmRlci0xNjYucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHRleHQtc2hhZG93OiBub25lO1xyXG59XHRcclxuXHRcclxuLyogbGFyZ2UgYnV0dG9ucyAqL1x0XHJcbi5ub25NZW1iZXJCdG4tbGcge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRoZWlnaHQ6IDY1cHg7XHJcblx0cGFkZGluZzogMjBweCAwIDAgNzVweDtcclxuXHR3aWR0aDogMjYxcHg7XHJcbn1cclxuXHQubm9uTWVtYmVyQnRuLWxnOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY2cHg7XHJcblx0fVxyXG5cclxuLm5vbk1lbWJlckJ0bi1sZy5mcmVlU2FtcGxlcyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9idXR0b24tYmFubmVyLWZyZWVzYW1wbGVzLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcclxufVxyXG4ubm9uTWVtYmVyQnRuLWxnLnRyaWFsIHtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2J1dHRvbi1iYW5uZXItdHJpYWwucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xyXG59XHJcbi5ub25NZW1iZXJCdG4tbGcub3JkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvYnV0dG9uLWJhbm5lci1vcmRlci5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqL1xyXG4vKiBDT05URU5UIFNMSURFUiAqL1xyXG5cclxuLyogcmFpbmJvdyBiYXIgbWVudSAqL1xyXG5cclxuLm5vbk1lbWJlclRhYnMge1xyXG4gICAgLypiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9iZy1ub25NZW1iZXItdGFicy5qcGdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyovXHJcbiAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcclxuICAgIGhlaWdodDogMzlweDtcclxuICAgIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lO1xyXG4gICAgbWFyZ2luOiAwIDAgMnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG4ubm9uTWVtYmVyVGFicyBsaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA4cHggMCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDI1JTtcclxufVxyXG5cdC5ub25NZW1iZXJUYWJzIGxpOmhvdmVyIHtcclxuXHQgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHRcclxuLyogZ3JlZW4gKi9cdFxyXG4ubm9uTWVtYmVyVGFicyAjdGFiMS1saW5rIHtcclxuICAgIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjMzU3YzJlO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICM0NjlEM0U7XHJcbn1cclxuXHQubm9uTWVtYmVyVGFicyAjdGFiMS1saW5rOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMzNzgyMmY7XHJcblx0ICAgIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjMjA0ZTFkO1xyXG5cdH1cclxuXHJcbi8qIHBpbmsgKi9cdFxyXG4ubm9uTWVtYmVyVGFicyAjdGFiMi1saW5rIHtcclxuICAgIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjOGIwNTNhO1xyXG4gICAgYmFja2dyb3VuZDogI0MyMTQ1MztcclxufVxyXG5cdC5ub25NZW1iZXJUYWJzICN0YWIyLWxpbms6aG92ZXIge1xyXG5cdCAgICBiYWNrZ3JvdW5kOiM5YjA2NDA7XHJcblx0ICAgIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjN2IwNDM0O1xyXG5cdH1cclxuXHRcclxuLyogeWVsbG93ICovXHRcclxuLm5vbk1lbWJlclRhYnMgI3RhYjMtbGluayB7XHJcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgI2I1N2QyYTtcclxuICAgIGJhY2tncm91bmQ6ICNFOEE2MUM7XHJcbn1cclxuXHQubm9uTWVtYmVyVGFicyAjdGFiMy1saW5rOmhvdmVyIHtcclxuXHQgICAgYmFja2dyb3VuZDogI2I1N2QyYTtcclxuXHQgICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICM5NjY4MjM7XHJcblx0fVxyXG5cdFxyXG4vKiBibHVlICovXHRcclxuLm5vbk1lbWJlclRhYnMgI3RhYjQtbGluayB7XHJcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzA5MTUzNztcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogIzA2NDI4QjtcclxufVxyXG5cdC5ub25NZW1iZXJUYWJzICN0YWI0LWxpbms6aG92ZXIge1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAjMTMyZjc5O1xyXG5cdCAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzA5MTUzNztcclxuXHR9XHJcblxyXG4ubm9uTWVtYmVyVGFicyAuYXJyb3cge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cdC5ub25NZW1iZXJUYWJzIC5zZWxlY3RlZCAuYXJyb3cge1xyXG5cdCAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9hcnJvdy1zYW1wbGUtdGFicy5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgYm90dG9tIHRyYW5zcGFyZW50O1xyXG5cdCAgICBib3R0b206IC0ycHg7XHJcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICBoZWlnaHQ6IDEwcHg7XHJcblx0ICAgIGxlZnQ6IDU4JTtcclxuXHQgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ICAgIHdpZHRoOiAxNXB4O1xyXG5cdH1cclxuXHJcbi8qIHNsaWRlIGNvbnRlbnQgKi9cclxuLnNsaWRlV3JhcC5zbGlkZVdyYXAtbm9uTWVtYmVyIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuLnNsaWRlV3JhcC1ub25NZW1iZXIgLnNsaWRlRGVjayB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc2hhcmVkL2ltYWdlcy9iZy1ob21lLXRhYmJlci1zaGFkb3cuanBnXCIpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGJvdHRvbSB0cmFuc3BhcmVudDtcclxuICAgIGhlaWdodDogMzU0cHg7XHJcbn1cclxuLnNsaWRlV3JhcC1ub25NZW1iZXIgLnNsaWRlRGVjayAuc2xpZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2JnLWhvbWUtdGFiYmVyLmpwZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgYm90dG9tICNjM2MzYzM7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGNvbG9yOiAjMzAzMDMwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgaGVpZ2h0OiAzNTRweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5zbGlkZVdyYXAtbm9uTWVtYmVyIC5zbGlkZXJMZWZ0IHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblx0d2lkdGg6IDM1JTtcclxufVxyXG5cdC5zbGlkZVdyYXAtbm9uTWVtYmVyIC5zbGlkZXJMZWZ0IGltZyB7XHJcblx0XHRib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xyXG5cdCAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdCAgICBib3gtc2hhZG93OiAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblx0ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG4uc2xpZGVXcmFwLW5vbk1lbWJlciAuc2xpZGVyUmlnaHQge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0d2lkdGg6IDY1JTtcclxufVx0XHJcblx0LnNsaWRlV3JhcC1ub25NZW1iZXIgLnNsaWRlclJpZ2h0IGgyIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG4uc2xpZGVXcmFwLW5vbk1lbWJlciAuYm94LWJnIHtcclxuXHRiYWNrZ3JvdW5kOiAjNTU4ZWNhO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblx0LnNsaWRlV3JhcC1ub25NZW1iZXIgLmJveC1iZyBhIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcbi8qIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciBzbGlkZXMgKi9cclxuLyogbXVzdCBiZSBpbiBweCwgbm90ICUsIGJlY2F1c2Ugb2YgaWUvcHJvdG90eXBlIGJ1Zy4gcmV2aXNpdCBsYXRlciAqL1xyXG4vKi5zbGlkZVdyYXAtbm9uTWVtYmVyIC5zbGlkZXIyIHtcclxuXHRsZWZ0OiA5NDRweDtcclxufVxyXG4uc2xpZGVXcmFwLW5vbk1lbWJlciAuc2xpZGVyMyB7XHJcblx0bGVmdDogMTg4OHB4O1xyXG59XHJcbi5zbGlkZVdyYXAtbm9uTWVtYmVyIC5zbGlkZXI0IHtcclxuXHRsZWZ0OiAyODMycHg7XHJcbn0qL1xyXG5cdFxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qIFRFU1RJTU9OSUVTIEFORCBMT0dPUyAqL1xyXG5cclxuLm5vbk1lbWJlclRlc3RpbW9ueSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmY2M5O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZhZWM4YjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLm5vbk1lbWJlclRlc3RpbW9ueSAuYXdhcmRMb2dvcyB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRwYWRkaW5nOiAyMHB4IDMwcHggMCAwO1xyXG5cdHdpZHRoOiA1NSU7XHJcbn1cclxuXHQuYXdhcmRMb2dvcyBhIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0d2lkdGg6IDI1JTtcclxuXHR9XHJcblx0LmF3YXJkTG9nb3MgaW1nIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuLm5vbk1lbWJlclRlc3RpbW9ueSAudGVzdGltb25pYWxzIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogNDUlO1xyXG59XHJcblx0Lm5vbk1lbWJlclRlc3RpbW9ueSBwIHtcclxuXHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdH1cclxuXHJcbi8qKioqKiogVEVNUE9SQVJZIEZPUiBSSyBBQk9VVCBVUyBURVNUSU1PTlkgKioqKioqKiovXHJcbi50ZXN0aW1vbmlhbEFyZWFBYm91dFVzIHsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvcXVvdGUtb3Blbi5wbmcpIDAgMCBuby1yZXBlYXQ7IGhlaWdodDogMzAwcHg7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICM2NjY7IH1cclxuLnRlc3RpbW9uaWFsQXJlYUFib3V0VXMgLnRlc3RpbW9uaWFsUm90YXRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB9XHJcbi50ZXN0aW1vbmlhbEFyZWFBYm91dFVzIC50ZXN0aW1vbmlhbFJvdGF0ZXIgLnF1b3RlIHsgYmFja2dyb3VuZDogdXJsKC9zaGFyZWQvaW1hZ2VzL3F1b3RlLWNsb3NlLnBuZykgMTAwJSAxMDAlIG5vLXJlcGVhdDsgcGFkZGluZzogMjBweDsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMzMzM7IH1cclxuXHQucXVvdGVQZXJzb24ge21hcmdpbjogMCAwIDE1cHg7IGxpbmUtaGVpZ2h0OiAxM3B4OyB9XHJcblxyXG4uYXdhcmRXTG9nbyB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxNDBweDsgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkZGOyBjb2xvcjogIzAwMDsgaGVpZ2h0OiAxNTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbGVmdDsgcGFkZGluZzogMTVweDsgYmFja2dyb3VuZDogI2VhZWFlYTsgbWFyZ2luOiAwIDEwcHggMTBweCAwOyBib3JkZXItcmFkaXVzOiA1cHg7IGxpbmUtaGVpZ2h0OiAxNnB4OyB9XHJcbi5hd2FyZFdMb2dvIGltZyB7IG1hcmdpbjogMCAwIDE1cHg7IH1cclxuXHJcbi50ZXN0aW1vbnkgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvcXVvdGUtb3Blbi5wbmcpIDAgMCBuby1yZXBlYXQ7IGNvbG9yOiAjNjY2OyBmb250LXNpemU6IDExcHg7IG1hcmdpbi1ib3R0b206IDMwcHg7IGxpbmUtaGVpZ2h0OiAxM3B4OyB9XHJcbi50ZXN0aW1vbnkgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltYWdlcy9xdW90ZS1jbG9zZS5wbmcpIDEwMCUgMTAwJSBuby1yZXBlYXQ7IHBhZGRpbmc6IDVweCAyMHB4IDAgMjVweDsgY29sb3I6ICMzMzMzMzM7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDIycHg7IH1cclxuLnRlc3RpbW9ueSAudXNlciB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxMHB4IDI1cHggMDsgfSIsIi8qXHJcbk9OIEJPQVJESU5HIE1FU1NBR0VTXHJcblxyXG5Mb2NhdGlvbjogL3NoYXJlZC9tb2R1bGVzL29uQm9hcmRpbmcuY3NzXHJcblxyXG5UT0RPOiBjb25zb2xpZGF0ZSBub3Jlc3VsdHMgYW5kIG5vY29udGVudFxyXG4qL1xyXG5cclxuLm5vUmVzdWx0cywgLm5vQ29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIHBhZGRpbmc6IDMwcHggMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ubm9SZXN1bHRzIHtcclxuICAgIG1hcmdpbjogMCBhdXRvIDQwMHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59IiwiLypcclxuT1ZFUkxBWVxyXG5cclxuTG9jYXRpb246IC9zaGFyZWQvbW9kdWxlcy9fb3ZlcmxheS5jc3NcclxuT3ZlcmxheSBmb3IgcG9wb3ZlcnMgYW5kIG1vZGFsIHdpbmRvd3NcclxuXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4uYm9keS1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4zKTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTAwMDsgLyogc2FtZSBhcyBtZXNzYWdlIGJveCBhbmQgbW9kYWwgKi9cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4gICAgLmJvZHktb3ZlcmxheTpudGgtbGFzdC1jaGlsZCgyKSB7XHJcbiAgICAgICAgei1pbmRleDogNTAwMztcclxuICAgIH1cclxuICAgIC5ib2R5LW92ZXJsYXktd2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH0iLCIvKlxyXG5MRUdBQ1kgUEFHSU5HXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19wYWdpbmctbGVnYWN5LmNzc1xyXG4qL1xyXG5cclxuLnBhZ2luYXRpb24ge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdGNvbG9yOiAjOTk5O1xyXG59XHJcbi5wYWdpbmF0aW9uIHVsIHtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4ucGFnaW5hdGlvbiBsaSB7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHQucGFnaW5hdGlvbiBsaS5wcmV2IHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDExcHg7XHJcblx0fVxyXG5cdC5wYWdpbmF0aW9uIGxpLm5leHQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMXB4O1xyXG5cdH1cclxuXHQucGFnaW5hdGlvbiBsaS5wcmV2Lm5vTGluayB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdH1cclxuXHQucGFnaW5hdGlvbiBsaS5uZXh0Lm5vTGluayB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0fVxyXG5cdC5wYWdpbmF0aW9uIGxpLmFjdGl2ZSB7XHJcblx0XHRwYWRkaW5nOiAzcHggNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzAwMDtcclxuXHR9XHJcblx0LnBhZ2luYXRpb24gbGkgYSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAzcHggNHB4O1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcblx0fVxyXG5cdC5wYWdpbmF0aW9uIGxpLnByZXYgYSwucGFnaW5hdGlvbiBsaS5uZXh0IGEge1xyXG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIge1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgb3JhbmdlO1xyXG5cdH0iLCIvKlxyXG5QQUdJTkdcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX3BhZ2luZy5jc3NcclxuKi9cclxuXHJcbi5wYWdpbmcge1xyXG4gICAgYm9yZGVyLXRvcDogZGFzaGVkIDFweCAjY2NjO1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdGNvbG9yOiAjOTk5O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbi10b3A6IDM2cHggMCAwIDA7XHJcblx0cGFkZGluZzogMThweCAwIDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ucGFnaW5nIGxpIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnBhZ2luZ19wcmV2IGEsXHJcbi5wYWdpbmdfZmlyc3QgYSB7XHJcbiAgICBwYWRkaW5nOiAwIDExcHggMCAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5wYWdpbmdfbmV4dCBhLFxyXG4ucGFnaW5nX2xhc3QgYSB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAxMXB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiAgICAucGFnaW5nX3ByZXYgYTpob3ZlcixcclxuICAgIC5wYWdpbmdfZmlyc3QgYTpob3ZlcixcclxuICAgIC5wYWdpbmdfbmV4dCBhOmhvdmVyLFxyXG4gICAgLnBhZ2luZ19sYXN0IGE6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICAucGFnaW5nIC5pcy1kaXNhYmxlZCBhLFxyXG4gICAgLnBhZ2luZyAuaXMtZGlzYWJsZWQgYTpob3ZlciB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbi5wYWdpbmdfbnVtYmVyIGEge1xyXG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAzcHggMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB3aWR0aDogMjVweDtcclxufVxyXG4gICAgLnBhZ2luZ19udW1iZXIgYTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgIH1cclxuICAgIC5wYWdpbmdfbnVtYmVyLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjOTk5O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfSIsIi8qXHJcblBvcG91dHNcclxuXHJcbk1hcmt1cDpcclxubWFya3VwL3BvcG91dC5oYnNcclxuXHJcblN0eWxlZ3VpZGUgNC4wXHJcbiovXHJcblxyXG4ucG9wb3V0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IGF1dG87XHJcbn1cclxuXHJcbi5wb3BvdXQuYWN0aXZlLFxyXG4uYWN0aXZlID4gLnBvcG91dCxcclxuLmFjdGl2ZSAuYXNzaWdubWVudFNlbGVjdG9yID4gLnBvcG91dCB7XHJcblx0ei1pbmRleDogMjA7XHJcbn1cclxuXHJcbi5wb3BvdXRDb250ZW50IHsgXHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXI6IHNvbGlkIDNweCAjMGIzYjgzO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDVweCAjNjY2O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0cGFkZGluZzogMCAxMXB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0dG9wOiAzMHB4O1xyXG5cdHdpZHRoOiAzMDBweDtcclxuXHR6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLnBvcG91dENvbnRlbnQgLnBvcG91dEFycm93IHsgXHJcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDEwcHggIzBiM2I4MztcclxuXHRib3R0b206IGF1dG87XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bGVmdDogMTVweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAtMTNweDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdHotaW5kZXg6IDk5OTtcclxufVxyXG5cclxuLnBvcG91dENvbnRlbnQgcCB7XHJcblx0bWFyZ2luOiAxMnB4IDA7XHJcbn1cclxuXHJcbi5wb3BvdXRDb250ZW50LWJnIC5ib3gtYmcge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLnBvcG91dC1hYm92ZSAucG9wb3V0Q29udGVudCB7XHJcblx0dG9wOiBhdXRvO1xyXG5cdGJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnBvcG91dC1hYm92ZSAucG9wb3V0Q29udGVudCAucG9wb3V0QXJyb3cge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgMTBweCAjMGIzYjgzO1xyXG5cdGJvdHRvbTogLTEzcHg7XHJcblx0dG9wOiBhdXRvO1xyXG59XHRcclxuXHJcbi5wb3BvdXQtYWxpZ25NaWRkbGUgLnBvcG91dENvbnRlbnQge1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRtYXJnaW4tbGVmdDogLTE1MHB4O1xyXG59XHJcblxyXG4ucG9wb3V0LWFsaWduTWlkZGxlIC5wb3BvdXRDb250ZW50IC5wb3BvdXRBcnJvdyB7XHJcblx0bGVmdDogNTAlO1xyXG5cdG1hcmdpbi1sZWZ0OiAtMTBweDtcclxufVxyXG5cclxuLnBvcG91dC1hbGlnblJpZ2h0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5wb3BvdXQtYWxpZ25SaWdodCAucG9wb3V0Q29udGVudCAucG9wb3V0QXJyb3cge1xyXG5cdGxlZnQ6IGF1dG87XHJcblx0cmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi5wb3BvdXQtcmlnaHQgLnBvcG91dENvbnRlbnQge1xyXG5cdHJpZ2h0OiBhdXRvO1xyXG5cdGxlZnQ6IC0zMTBweDsgLyoxMHB4IG1vcmUgdGhhbiB0aGUgd2lkdGggKi9cclxuXHR0b3A6IC0zMHB4O1xyXG59XHJcblxyXG4ucG9wb3V0LXJpZ2h0IC5wb3BvdXRDb250ZW50IC5wb3BvdXRBcnJvdyB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgMTBweCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1sZWZ0OiBzb2xpZCAxMHB4ICMwYjNiODM7XHJcblx0Ym9yZGVyLXJpZ2h0OiAwO1xyXG5cdHRvcDogMzBweDtcclxuXHRsZWZ0OiBhdXRvO1xyXG5cdHJpZ2h0OiAtMTNweDtcclxufVxyXG5cclxuLnBvcG91dC1sZyAucG9wb3V0Q29udGVudCB7XHJcblx0d2lkdGg6IDYwMHB4O1xyXG59XHJcblxyXG4ucG9wb3V0LWxnLnBvcG91dC1hbGlnbk1pZGRsZSAucG9wb3V0Q29udGVudCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xyXG59XHJcblxyXG4ucG9wb3V0LWxnLnBvcG91dC1hbGlnblJpZ2h0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucG9wb3V0LWxnLnBvcG91dC1yaWdodCAucG9wb3V0Q29udGVudCB7XHJcbiAgICBsZWZ0OiAtNjEwcHg7XHJcbn1cclxuXHJcbi5wb3BvdXQtbWQgLnBvcG91dENvbnRlbnQge1xyXG5cdHdpZHRoOiA0NTBweDtcclxufVxyXG4ucG9wb3V0LW1kLnBvcG91dC1yaWdodCAucG9wb3V0Q29udGVudCB7XHJcbiAgICBsZWZ0OiAtNDYwcHg7XHJcbn1cclxuXHJcbi5wb3BvdXQteGwgLnBvcG91dENvbnRlbnQsXHJcbi5wb3BvdXQteGwucG9wb3V0Q29udGVudCB7XHJcblx0d2lkdGg6IDkxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wb3BvdXQtc20gLnBvcG91dENvbnRlbnQge1xyXG5cdHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLnBvcG91dC10b29sVGlwIC5wb3BvdXRTd2l0Y2ggLmljb24ge1xyXG5cdGNvbG9yOiAjOTk5O1xyXG59XHJcblxyXG4ucG9wb3V0LXRvb2xUaXAgLnBvcG91dFN3aXRjaDpob3ZlciAuaWNvbixcclxuLnBvcG91dC10b29sVGlwIC5wb3BvdXRTd2l0Y2guYWN0aXZlIC5pY29uIHtcclxuXHRjb2xvcjogIzBiM2I4MztcclxufVxyXG5cclxuLnBvcG91dC10b29sVGlwLnBvcG91dC1hbGlnblJpZ2h0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogLTIwcHg7XHJcbn1cclxuXHJcbi5wb3BvdXQtdG9vbFRpcC5wb3BvdXQtYWxpZ25MZWZ0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5wb3BvdXQtdG9vbFRpcC5wb3BvdXQtYWxpZ25NaWRkbGUgLnBvcG91dENvbnRlbnQge1xyXG4gICAgbGVmdDogNTAlO1xyXG59XHJcblxyXG4ucG9wb3V0LXRvb2xUaXAgLnBvcG91dENvbnRlbnQge1xyXG5cdGxlZnQ6IC0xOHB4O1xyXG59XHJcblxyXG4udGFibGUtZGF0YSB0aCAucG9wb3V0LXRvb2xUaXAgLmljb24ge1xyXG5cdGNvbG9yOiAjMjg3MmI4O1xyXG59XHJcblxyXG4udGFibGUtZGF0YSB0aCAucG9wb3V0LXRvb2xUaXAgLmljb246aG92ZXIsXHJcbi50YWJsZS1kYXRhIHRoIC5wb3BvdXQtdG9vbFRpcCAuYWN0aXZlIC5pY29uIHtcclxuXHRjb2xvcjogIzBiM2I4MztcclxufVxyXG5cclxuLnRhYmxlLWRhdGEgdGggLnBvcG91dC10b29sVGlwIC5wb3BvdXRDb250ZW50IHtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4ucG9wb3V0LWFsZXJ0IC5wb3BvdXRTd2l0Y2ggLmljb24ge1xyXG5cdGNvbG9yOiAjYmIxYTAzO1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnBvcG91dC1hbGVydCAucG9wb3V0U3dpdGNoOmhvdmVyIC5pY29uLFxyXG4ucG9wb3V0LWFsZXJ0IC5wb3BvdXRTd2l0Y2guYWN0aXZlIC5pY29uIHtcclxuICAgIGNvbG9yOiAjZmUyMjAzO1xyXG59XHJcblxyXG4ucG9wb3V0LWFsZXJ0LnBvcG91dC1hbGlnblJpZ2h0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIHJpZ2h0OiAtMjBweDtcclxufVxyXG5cclxuLnBvcG91dC1hbGVydC5wb3BvdXQtYWxpZ25MZWZ0IC5wb3BvdXRDb250ZW50IHtcclxuICAgIGxlZnQ6IC0xOHB4O1xyXG59XHJcblxyXG4ucG9wb3V0LWJ0blN3aXRjaC1zbSAucG9wb3V0Q29udGVudCB7IHRvcDogMzhweDsgfVxyXG4ucG9wb3V0LWJ0blN3aXRjaCAucG9wb3V0Q29udGVudCB7IHRvcDogNDJweDsgfVxyXG4ucG9wb3V0LWJ0blN3aXRjaC1sZyAucG9wb3V0Q29udGVudCB7IHRvcDogNDZweDsgfVxyXG4ucG9wb3V0LWJ0blN3aXRjaC14bCAucG9wb3V0Q29udGVudCB7IHRvcDogNTBweDsgfVxyXG4ucG9wb3V0LWFib3ZlLnBvcG91dC1idG5Td2l0Y2gteGwgLnBvcG91dENvbnRlbnQgeyBib3R0b206IDUwcHg7IHRvcDogYXV0bzsgfVxyXG5cdFxyXG4ucG9wb3V0LXN0YXRpYyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5wb3BvdXQtc3RhdGljIC5wb3BvdXRDb250ZW50IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogMTJweDtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5cclxuLnBvcG91dC10YWJiZWQucG9wb3V0LXN0YXRpYyAucG9wb3V0Q29udGVudCB7XHJcblx0dG9wOiAwO1xyXG59XHJcblxyXG4ucG9wb3V0LXRhYmJlZCB7XHJcblx0bGVmdDogLTEwcHg7XHJcbn1cclxuXHJcbi5wb3BvdXQtdGFiYmVkIC5wb3BvdXRDb250ZW50IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0dG9wOiAzMXB4O1xyXG5cdHdpZHRoOiA3NDZweDtcclxufVxyXG5cclxuLnBvcG91dC10YWJiZWQgLnBvcG91dENvbnRlbnQtZmlyc3Qge1xyXG5cdGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDEwcHg7XHJcbn1cclxuXHJcbi5wb3BvdXRUYWJzIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnBvcG91dFRhYnNJdGVtIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDUxO1xyXG59XHJcblxyXG4ucG9wb3V0VGFic0l0ZW0gYSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogNnB4IDEwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5wb3BvdXRUYWJzSXRlbTpsYXN0LWNoaWxkIGEge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ucG9wb3V0VGFic0l0ZW0gYS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogIzBhNGQ5MDtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMwODYxYTAsICMwYjNiODMpO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoIzA4NjFhMCwgIzBiM2I4Myk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzA4NjFhMCwgIzBiM2I4Myk7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMGIzYjgzO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDdweCA3cHggMCAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA1cHggOXB4IDZweCA5cHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgLjMpO1xyXG59XHJcblxyXG4ucG9wb3V0VGFic0l0ZW0gLmFycm93IHtcclxuICAgIGJvcmRlcjogc29saWQgNXB4IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgNXB4ICMzMzM7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDZweCAwIDAgMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5wb3BvdXRUYWJzSXRlbSBhLmFjdGl2ZSAuYXJyb3cge1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgNXB4ICNmZmY7XHJcbn1cclxuXHRcdFx0IiwiLypcclxuUE9QT1ZFUiBEUk9QRE9XTlxyXG5Qb3BvdmVyIHRoYXQgbG9va3MgbGlrZSBhIDxzZWxlY3Q+IGRyb3Bkb3duXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19wb3BvdmVyLWRyb3Bkb3duLmNzc1xyXG5UT0RPOiBjb2RlIHJldmlld1xyXG4qL1xyXG5cclxuLnBvcG92ZXItZHJvcGRvd24gLnBvcG92ZXItY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiA2cHggMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wb3BvdmVyLWRyb3Bkb3duX2hlYWRpbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAwIDlweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5wb3BvdmVyLWRyb3Bkb3duX2l0ZW0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDFweCA5cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4gICAgLnBvcG92ZXItZHJvcGRvd25faXRlbTpub3QoLmlzLWRpc2FibGVkKTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgLnBvcG92ZXItZHJvcGRvd25faXRlbS5pcy1zZWxlY3RlZCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4vKiBhY3Rpb24gaWNvbnMgaW4gZ3JvdXBzIGZpbHRlciAqL1xyXG4ucG9wb3Zlci1kcm9wZG93bl9hY3Rpb25zIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDJweDtcclxuICAgIHJpZ2h0OiAzcHg7XHJcbn1cclxuICAgIC5wb3BvdmVyLWRyb3Bkb3duX2l0ZW06aG92ZXIgLnBvcG92ZXItZHJvcGRvd25fYWN0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb3BvdmVyLWRyb3Bkb3duX2FjdGlvbkljb24ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgICAgICAucG9wb3Zlci1kcm9wZG93bl9hY3Rpb25JY29uIC5pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwNTViYWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDFweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgLnBvcG92ZXItZHJvcGRvd25fYWN0aW9uSWNvbjpob3ZlciAuaWNvbjpub3QoLmlzLWRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbi8qIG1lbnUgd2l0aCBibGFjayBjaGVja21hcmtzICovXHJcbi8qIFRPRE86IHJlbW92ZSBvbmNlIGNvbmZpcm1lZCB1bnVzZWQgKi9cclxuXHJcbi5zZWxlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuLnNlbGVjdGlvbiA+IGxpIHtcclxuICAgIHBhZGRpbmc6IDNweCA2NXB4IDNweCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcbi5zZWxlY3Rpb24gPiBsaTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4wNSk7XHJcbn1cclxuLnNlbGVjdGlvbiA+IGxpLm5vLWhvdmVyOmhvdmVyIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4uc2VsZWN0aW9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3Rpb24gLmJ0bi5idG4tc20ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uc2VsZWN0aW9uIC5pY29uLW9re1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA2cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uc2VsZWN0aW9uIC5zZWxlY3RlZCAuaWNvbi1va3tcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnNlbGVjdGlvbiAuYWRkIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuLnNlbGVjdGlvbiAuYWRkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5zZWxlY3Rpb24gLnBlbmRpbmcge1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgY3Vyc29yOiBwcm9ncmVzcyAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5QT1BPVkVSIE1FTlVcclxuRm9yIHdoZW4gYSBwb3BvdmVyIGlzIHVzZWQgYXMgYSBtZW51XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnBvcG92ZXItbWVudSAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDRweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1pbi13aWR0aDogMTI1cHg7XHJcbn1cclxuXHJcbi5wb3BvdmVyLW1lbnVfaXRlbSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY29sb3I6ICMwMDg5RTU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAzcHggOXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbiAgICAucG9wb3Zlci1tZW51X2l0ZW06bm90KC5pcy1kaXNhYmxlZCk6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIC5wb3BvdmVyLW1lbnVfaXRlbSAuaWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICMwMDg5RTU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4vKiB3aGVuIGhpZ2hsaWdodGluZyBzZWxlY3RlZCBtZW51IGl0ZW1zICovXHJcbi5wb3BvdmVyLW1lbnVfaXRlbSAuaWNvbi1vayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiAgICAucG9wb3Zlci1tZW51X2l0ZW0uaXMtc2VsZWN0ZWQgLmljb24tb2t7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuLyogd2hlbiBhIG1lbnUgaXRlbSBoYXMgYW4gYWRkaXRpb25hbCBwb3BvdmVyLFxyXG5wb3NpdGlvbiBpdCByaWdodCBvbiB0b3Agb2YgdGhlIGZpcnN0IHBvcG92ZXJcclxuKGxpa2UgQ29weSBhbmQgTW92ZSBGb2xkZXIgYWN0aW9ucyBpbiBGaWxlIENhYmluZXQpICovXHJcbi5wb3BvdmVyLW1lbnUgLnBvcG92ZXIgLnBvcG92ZXIge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnBvcG92ZXItbWVudSAucG9wb3Zlci1jb250ZW50IC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTFweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiB5dWNreSBvdmVycmlkZSBmb3IgYXNzaWdubWVudHMgKi9cclxuLmFzc2lnbm1lbnQgLnBvcG92ZXItbWVudV9pdGVtICB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgLyogb3ZlcnJpZGUgLmJvb2sgYSAqL1xyXG59XHJcbi5hc3NpZ25tZW50LWN1c3RvbSAucG9wb3Zlci1tZW51X2l0ZW0gLmljb24ge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59IiwiLypcclxuQVNTSUdOTUVOVCBTRUxFQ1RPUiBQT1BPVkVSU1xyXG5BIHR5cGUgb2YgcG9wb3ZlciB1c2VkIGZvciBzZWxlY3RpbmcgYXNzaWdubWVudHNcclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX3BvcG92ZXItYXNzaWdubWVudFNlbGVjdG9yLmNzc1xyXG5QYXJlbnQ6IC9zaGFyZWQvY3NzL21vZHVsZXMvX3BvcG92ZXIuY3NzXHJcbiovXHJcblxyXG4uc2VsZWN0b3IgLnBvcG92ZXItdGFyZ2V0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDNweCAxOHB4IDNweCAzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xyXG4gICAgfVxyXG4gICAgLmFjdGl2ZSAuc2VsZWN0b3IgLnBvcG92ZXItdGFyZ2V0IHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMTtcclxuICAgIH1cclxuXHJcbi8qIGRyb3Bkb3duIGFycm93ICovXHJcbi5zZWxlY3RvciAucG9wb3Zlci10YXJnZXQ6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCByZ2JhKDAsMCwwLC4zKTtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0b3I6aG92ZXIgLnBvcG92ZXItdGFyZ2V0OmFmdGVyLFxyXG4gICAgLmFjdGl2ZSAuc2VsZWN0b3IgLnBvcG92ZXItdGFyZ2V0OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgwLDAsMCwuOCk7XHJcbiAgICB9XHJcblxyXG4vKiBUT0RPOiB3aGF0J3MgdGhpcz8gKi9cclxuLnNlbGVjdGlvbi1zYXpTZWxlY3RvciA+IGxpIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuICAgIC5zZWxlY3Rpb24tc2F6U2VsZWN0b3IgPiBsaTpudGgtY2hpbGQoNCksXHJcbiAgICAuc2VsZWN0aW9uLXNhelNlbGVjdG9yID4gbGk6bnRoLWNoaWxkKDcpe1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IGRhc2hlZCBncmV5IDFweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuVE9ETzogZ2V0IHJpZCBvZiB0aGVzZSAqL1xyXG5cclxuLyogcm9zdGVyIHNjaWVuY2UgYW5kIHdyaXRpbmcgYXNzaWdubWVudCBzZWxlY3RvcnMgKi9cclxuLnBvcG92ZXItY29udGVudC1wYWRMUjAgPiAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuLyogcm9zdGVyIGhlYWRzcHJvdXQgYXNzaWdubWVudCBzZWxlY3RvciAqL1xyXG4ucG9wb3Zlci1jb250ZW50LW1kID4gLnBvcG92ZXItY29udGVudHtcclxuICAgIHdpZHRoOiA2MDBweDtcclxufVxyXG4ucG9wb3Zlci1jb250ZW50LW1kU20gPiAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHdpZHRoOiA0NTBweDtcclxufSIsIi8qXHJcblBPUE9WRVJcclxuXHJcbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL19wb3BvdmVyLmNzc1xyXG5BIHBvcG92ZXIgY29udGFpbnMgYSB0cmlnZ2VyIGFuZCBjb250ZW50IHRoYXQgb3BlbnMgd2hlbiB0aGUgdHJpZ2dlciBpcyBjbGlja2VkXHJcblxyXG5UT0RPOiBjb2RlIHJldmlld1xyXG4qL1xyXG5cclxuLnBvcG92ZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLVxyXG5QT1BPVkVSIFRBUkdFVFxyXG4tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnBvcG92ZXIuYWN0aXZlIC5wb3BvdmVyLXRhcmdldCxcclxuLnBvcG92ZXItdGFyZ2V0OmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tXHJcblBPUE9WRVIgQ09OVEVOVFxyXG5cclxuVE9ETzogcmVtb3ZlIG1pbi13aWR0aCBmcm9tIC5wb3BvdmVyLWNvbnRlbnQuXHJcbklmIHNvbWUgY29udGVudCBuZWVkcyBhIG1pbi13aWR0aCwgYWRkIGl0IHRvIHRoZSBjb250ZW50IGl0c2VsZi5cclxuVGhpcyB3b3VsZCBhdm9pZCB0aGUgbmVlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBtaW4td2lkdGhcclxuLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucG9wb3Zlci1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAxcHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xyXG4gICAgY29sb3I6ICMyMjI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAxNTBweDsgLyogZGVmYXVsdCBzaG91bGQgcHJvYmFibHkgYmUgMCAqL1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB6LWluZGV4OiAxMDEwOyAvKiBiZWxvdyBtb2RhbCBhbmQgYWJvdmUgZmlsZSBjYWJpbmV0IHJpYmJvbiAqL1xyXG59XHJcbiAgICAvKiBUT0RPOiBjaGVjayBmb3Igbm9uLWFuZ3VsYXIgdXNhZ2VzIGFuZCBzd2l0Y2ggdGhlbSB0byBhbmd1bGFyLCB0aGVuIHRoZXNlIHNlbGVjdG9ycyBjYW4gYmUgc2ltcGxpZmllZCAqL1xyXG4gICAgLyogdXNlZCBmb3IgYW5ndWxhciBwb3BvdmVycyAqL1xyXG4gICAgcG9wb3Zlci1jb250ZW50IC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAucG9wb3Zlci5hY3RpdmUgcG9wb3Zlci1jb250ZW50IC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICBwb3BvdmVyLWNvbnRlbnQ6bm90KC5pcy1saW5rZWQpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuLyogLS0tLS0tLS0tLS0tXHJcblBPUE9WRVIgQVJST1dcclxuLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucG9wb3Zlci1hcnJvdyB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG4gICAgLnBvcG92ZXItYXJyb3cgLnBvcG92ZXItdGFyZ2V0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAgICAgLnBvcG92ZXItYXJyb3cgLmFjdGl2ZSAucG9wb3Zlci10YXJnZXQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFsaWduUiAucG9wb3Zlci1hcnJvdyAuYWN0aXZlIC5wb3BvdmVyLXRhcmdldDphZnRlciB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLThweDtcclxuICAgICAgICB9XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cclxuU0laRVNcclxuLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucG9wb3Zlci1zbSAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIG1pbi13aWR0aDogMDsgLyogdGhpcyBzaG91bGQgcHJvYmFibHkgYmUgdGhlIGRlZmF1bHQgdmFsdWUsIGluc3RlYWQgb2YgYmVsb25naW5nIHRvIHRoZSAtc20gbW9kaWZpZXIgKi9cclxufVxyXG4ucG9wb3Zlci1tZCAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHdpZHRoOiAyNTBweDtcclxufVxyXG4ucG9wb3Zlci1sZyAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHdpZHRoOiA1MDBweDtcclxufVxyXG5cclxuLnBvcG92ZXIteGwgLnBvcG92ZXItY29udGVudCB7XHJcbiAgICB3aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tXHJcbldBTEtNRSBQT1BPVkVSXHJcbi0tLS0tLS0tLS0tICovXHJcblxyXG4ucG9wb3Zlci1jb250ZW50LXR1dG9yaWFsIHtcclxuICAgIHdpZHRoOiAxNzVweDtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tXHJcbkJPT0sgUE9QT1ZFUlxyXG4tLS0tLS0tLS0gKi9cclxuXHJcbi5wb3BvdmVyLWNvbnRlbnQtYm9vayxcclxuLnBvcG92ZXItYWRkVG8gLnBvcG92ZXItY29udGVudCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjNjY2O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDdweCAjMzMzO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59XHJcbi5wb3BvdmVyLWNvbnRlbnQtYm9vayAuc2Vjb25kYXJ5TmF2LWNob29zZUZvbGRlcixcclxuLnBvcG92ZXItYWRkVG8gLnNlY29uZGFyeU5hdi1jaG9vc2VGb2xkZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4OyAvKiBvZmZzZXQgcGFkZGluZyBvZiBwb3BvdXQgKi9cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tXHJcbkFTU0lHTk1FTlQgUE9QT1ZFUlxyXG5saXN0IG9mIHN0dWRlbnRzIGFzc2lnbmVkIHRvIGFuIGFzc2lnbm1lbnRcclxuLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucG9wb3Zlci1saXN0U3R1ZGVudHMgLnBvcG92ZXItY29udGVudCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjMzMzO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDdweCAjMzMzO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cclxuRklMRSBDQUJJTkVUIFBPUE9WRVJTXHJcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogbW92ZSBmb2xkZXIgKi9cclxuLnBvcG92ZXItbW92ZUZvbGRlciAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIHdpZHRoOiAyNzVweDtcclxufVxyXG5cclxuLyogbmV3IGxlc3NvbiBwbGFuICovXHJcbi5wb3BvdmVyLW5ld0xlc3NvblBsYW5uZXIgLnBvcG92ZXItY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgd2lkdGg6IDE3NXB4O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLVxyXG5OT04tQU5HVUxBUiBVU0FHRVxyXG5UT0RPOiBjaGFuZ2UgdGhlIEhUTUwgdG8gdXNlIHRoZSBhbmd1bGFyIHBvcG92ZXIsIHRoZW4gdGhpcyBzdHVmZiBjYW4gYmUgcmVtb3ZlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogbGlzdCBvZiBhc3NpZ25tZW50cyBmb3IgYSBwYXJ0aWN1bGFyIHN0dWRlbnQgKG9uIFN0dWRlbnQgVmlldyBvZiBBc3NpZ25tZW50cyBwYWdlKSAqL1xyXG4udGQtYXNzaWdubWVudCAucG9wb3Zlci1jb250ZW50IHtcclxuICAgIGxlZnQ6IC05OTllbTtcclxuICAgIHRvcDogMDtcclxufVxyXG4udGQtYXNzaWdubWVudCAucG9wb3Zlci1jb250ZW50LmlzLXZpc2libGUge1xyXG4gICAgbGVmdDogY2FsYygxMDAlICsgMThweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDBzIC4ycztcclxufVxyXG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX3Byb2R1Y3RUYWJzLmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiB0YWJzICovXHJcbi5uYXZUYWJiZWQtcHJvZHVjdCB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcbi5uYXZUYWJiZWQtcHJvZHVjdCAuaXRlbS1nZW4uYWN0aXZlIGEsXHJcbi5uYXZUYWJiZWQtcHJvZHVjdCAuaXRlbS1nZW4uYWN0aXZlOmhvdmVyIGEge1xyXG5cdGJhY2tncm91bmQ6ICMwYzNkODQ7XHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzA4NjFhMCwgIzBjM2Q4NCk7IC8qIFNhZmFyaSAqL1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCMwODYxYTAsICMwYzNkODQpOyAvKiBGaXJlZm94ICovXHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwODYxYTAsICMwYzNkODQpO1xyXG5cdGJvcmRlci1jb2xvcjogIzBiM2I4MztcclxufVxyXG4ubmF2VGFiYmVkLXByb2R1Y3QgLml0ZW0tcmsuYWN0aXZlIGEsXHJcbi5uYXZUYWJiZWQtcHJvZHVjdCAuaXRlbS1yay5hY3RpdmU6aG92ZXIgYSB7XHJcblx0YmFja2dyb3VuZDogIzMxNDI5YztcclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjNGE1ZGJlLCAjMzE0MjljKTsgLyogU2FmYXJpICovXHJcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoIzRhNWRiZSwgIzMxNDI5Yyk7IC8qIEZpcmVmb3ggKi9cclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzRhNWRiZSwgIzMxNDI5Yyk7XHJcblx0Ym9yZGVyLWNvbG9yOiAjMzE0MDlhO1xyXG59XHJcbi5uYXZUYWJiZWQtcHJvZHVjdCAuaXRlbS1ocy5hY3RpdmUgYSxcclxuLm5hdlRhYmJlZC1wcm9kdWN0IC5pdGVtLWhzLmFjdGl2ZTpob3ZlciBhIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDI2MWE4O1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMxNTdmY2YsICMwMjYxYTgpOyAvKiBTYWZhcmkgKi9cclxuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgjMTU3ZmNmLCAjMDI2MWE4KTsgLyogRmlyZWZveCAqL1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMTU3ZmNmLCAjMDI2MWE4KTtcclxuXHRib3JkZXItY29sb3I6ICMwMTU2OTY7XHJcbn1cclxuLm5hdlRhYmJlZC1wcm9kdWN0IC5pdGVtLXJ0LmFjdGl2ZSBhLFxyXG4ubmF2VGFiYmVkLXByb2R1Y3QgLml0ZW0tcnQuYWN0aXZlOmhvdmVyIGEge1xyXG5cdGJhY2tncm91bmQ6ICMwMDc1NzA7XHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzA0OTU4ZSwgIzAwNzU3MCk7IC8qIFNhZmFyaSAqL1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCMwNDk1OGUsICMwMDc1NzApOyAvKiBGaXJlZm94ICovXHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwNDk1OGUsICMwMDc1NzApO1xyXG5cdGJvcmRlci1jb2xvcjogIzAwN2E3NDtcclxufVxyXG4ubmF2VGFiYmVkLXByb2R1Y3QgLml0ZW0td2F6LmFjdGl2ZSBhLFxyXG4ubmF2VGFiYmVkLXByb2R1Y3QgLml0ZW0td2F6LmFjdGl2ZTpob3ZlciBhIHtcclxuXHRiYWNrZ3JvdW5kOiAjZGE4OTAxO1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCNmYWE3MWMsICNkYTg5MDEpOyAvKiBTYWZhcmkgKi9cclxuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgjZmFhNzFjLCAjZGE4OTAxKTsgLyogRmlyZWZveCAqL1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmFhNzFjLCAjZGE4OTAxKTtcclxuXHRib3JkZXItY29sb3I6ICNjZjgyMDE7XHJcbn1cclxuXHJcbi8qIHRhYmxlICovXHJcbi50YWJsZS1wcm9kdWN0IHRoIHtcclxuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2ZmZjtcclxuXHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZmZmO1xyXG5cdGJvcmRlci10b3A6IHNvbGlkIDVweCAjZTdlN2U3O1xyXG5cdHBhZGRpbmc6IDEwcHggMTBweDtcclxufVxyXG5cdC50YWJsZS1wcm9kdWN0IHRoOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdH1cclxuXHRcclxuLnRhYmxlLXByb2R1Y3QgLnNvcnRlci1hc2MsXHJcbi50YWJsZS1wcm9kdWN0IC5zb3J0ZXItZGVzYyB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgNXB4ICNkN2Q2ZDY7XHJcbn1cclxuXHRcclxuLnRhYmxlLXByb2R1Y3QgLnRoLXN1YiB7XHJcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XHJcblx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRwYWRkaW5nLXRvcDogN3B4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA3cHg7XHJcbn1cclxuLnRhYmxlLXByb2R1Y3QgLnRoLWdlbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2MzZGFmZjtcclxuXHRib3JkZXItdG9wLWNvbG9yOiAjMGMzZDg0O1xyXG59XHJcbi50YWJsZS1wcm9kdWN0IC50aC1yayB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2NhZDBmMTtcclxuXHRib3JkZXItdG9wLWNvbG9yOiAjMzE0MjljO1xyXG59XHJcbi50YWJsZS1wcm9kdWN0IC50aC1ocyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2JjZTBmYjtcclxuXHRib3JkZXItdG9wLWNvbG9yOiAjMDI2MWE4O1xyXG59XHJcbi50YWJsZS1wcm9kdWN0IC50aC1ydCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2I3ZTJlMDtcclxuXHRib3JkZXItdG9wLWNvbG9yOiAjMDA3NTcwO1xyXG59XHJcbi50YWJsZS1wcm9kdWN0IC50aC13YXoge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmOGQ3YmI7XHJcblx0Ym9yZGVyLXRvcC1jb2xvcjogI2RhODkwMTtcclxufSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fcHJvZmlsZS5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiBUaGlzIGlzIGEgbGVnYWN5IHN0eWxlcyBiZWNhdXNlIHRoZSBmaWxlIGlzIGN1cnJlbnRseSBiZWluZyBzaGFyZWQgKioqKi9cclxuXHJcbiN5b3VyUmF6IC5wcm9maWxlVG9wIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA3MDhweDsgfVxyXG4jeW91clJheiAucHJvZmlsZUJvdHRvbSB7IGNsZWFyOiBib3RoOyBmbG9hdDogbGVmdDsgcGFkZGluZy10b3A6IDMwcHg7IHdpZHRoOiA3MDhweDsgfVxyXG4jeW91clJheiAubGVmdENvbHVtbiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNDk1cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxyXG4jeW91clJheiAucmlnaHRDb2x1bW4geyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAyMDVweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XHJcbi55b3VyRmlsZUNhYmluZXQgLmxlZnRDb2x1bW4geyB3aWR0aDogNDc4cHggIWltcG9ydGFudDsgfVxyXG4ueW91ckZpbGVDYWJpbmV0IC5yaWdodENvbHVtbiB7IHdpZHRoOiAyMDBweCAhaW1wb3J0YW50OyAgfVxyXG5cclxuI3lvdXJSYXogLnBob3RvIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNzdweDsgYmFja2dyb3VuZDogI2RkZDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAxN3B4IDA7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuI3lvdXJSYXogLnBob3RvIGltZyB7IGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7IGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAjYmJiOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB3aWR0aDogMTMzcHg7IGhlaWdodDogMTUwcHg7IH1cclxuI3lvdXJSYXogLmluZm8geyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMDRweDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTRweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxyXG4jeW91clJheiAuaW5mbyBzdHJvbmcgeyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxOXB4OyB9XHJcblxyXG4jeW91clJheiAucmlnaHRDb2x1bW4gLnJpZ2h0U2hvdXQgeyBiYWNrZ3JvdW5kOiAjY2FlZGEwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IGZvbnQtc2l6ZTogMTFweDsgbGluZS1oZWlnaHQ6IDE1cHg7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2YxZjRlYzsgY29sb3I6ICMwMDA7IHBhZGRpbmc6IDAgMCAxMHB4OyBtYXJnaW46IDAgMCAyMHB4OyB9XHJcbiN5b3VyUmF6IC5yaWdodENvbHVtbiAucmlnaHRTaG91dCBoMiB7IGJhY2tncm91bmQ6ICM4MmJhM2U7IGNvbG9yOiAjMDAwOyBwYWRkaW5nOiA4cHggMTBweDsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMTdweDsgbWFyZ2luOiAwIDAgMTBweDsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjYjBkZjc3OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZGRjsgfVxyXG4ueW91ckZpbGVDYWJpbmV0IC5yaWdodENvbHVtbiAucmlnaHRTaG91dCB7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgfVxyXG5cclxuLmV4cGlyZSB7IGJhY2tncm91bmQ6ICNmZGZhY2E7IGJvcmRlcjogMXB4IHNvbGlkICNGREVBQTg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJveC1zaGFkb3c6IDFweCAxcHggMCAjRkZGOyBwYWRkaW5nOiAxMHB4OyBjb2xvcjogI2ViMDYwNjsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkZGOyBtYXJnaW46IDEwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtNjVweDsgbGVmdDogMDsgbGluZS1oZWlnaHQ6IDE1cHg7IH1cclxuLmV4cGlyZSAuYXJyb3cgeyBcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2Fycm93LXllbGxvdy1kb3duLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcclxuICAgIGJvdHRvbTogLThweDtcclxuICAgIGhlaWdodDogOXB4O1xyXG4gICAgbGVmdDogNThweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxOHB4OyB9XHJcblxyXG4uZm9sZGVyTm90aWNlIHsgYm9yZGVyOiAxcHggc29saWQgI0ZERUFBODsgdGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kOiAjZmRmYWNhOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2hhZG93OiAxcHggMXB4IDAgI0ZGRjsgcGFkZGluZzogMTBweDsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkZGOyBtYXJnaW46IDEwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGluZS1oZWlnaHQ6IDE1cHg7IHdpZHRoOiAxMTBweDsgcmlnaHQ6IC0zM3B4OyB0b3A6LTUwcHg7IH1cclxuLmxlZnRDb2x1bW4gLmZvbGRlck5vdGljZSB7IG1hcmdpbjogMDsgd2lkdGg6IDEyM3B4OyByaWdodDogLTM2cHg7IHRvcDotMzlweDsgZm9udC1zaXplOiAxMXB4OyB9XHJcbi5mb2xkZXJOb3RpY2UgLmFycm93IHsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC04cHg7IGxlZnQ6IDU4cHg7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDlweDsgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvYXJyb3cteWVsbG93LWRvd24ucG5nKSAwIDAgbm8tcmVwZWF0OyB9XHJcblxyXG4jeW91clJheiAjc3Vic2NyaXB0aW9uSW5mbyB7IG1pbi1oZWlnaHQ6IDIwNXB4OyBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgIGhlaWdodDogMjA1cHg7IH1cclxuI3lvdXJSYXogI3N1YnNjcmlwdGlvbkluZm8gLm1lbWJlclNpbmNlIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDIycHg7IG1hcmdpbjogMCAwIDEwcHggMTBweDsgfVxyXG4jeW91clJheiAjc3Vic2NyaXB0aW9uSW5mbyAubWVtYmVyU2luY2Ugc3BhbiB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG5cclxuI3lvdXJSYXogLnJpZ2h0Q29sdW1uIC5yaWdodFNob3V0IHVsIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwIDEwcHggMCAxMHB4OyBsaXN0LXN0eWxlOiBub25lOyB9XHJcbiN5b3VyUmF6IC5yaWdodENvbHVtbiAucmlnaHRTaG91dCB1bCBsaSB7IG1hcmdpbjogMDsgcGFkZGluZzogM3B4IDA7IH1cclxuXHJcbiN5b3VyUmF6IC5yaWdodENvbHVtbiAucmlnaHRTaG91dCBhLmJ1dHRvblNtLCAjeW91clJheiAucmlnaHRDb2x1bW4gLnJpZ2h0U2hvdXQgYS5idXR0b25PcmRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYnV0dG9uLXNtLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjMzQ3QjJGO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuI3lvdXJSYXogLnJpZ2h0Q29sdW1uIC5yaWdodFNob3V0IGEuYnV0dG9uT3JkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoL3NoYXJlZC9pbWFnZXMvYnV0dG9uLW9yZGVyLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgIzk4MEU0MjsgfVxyXG4jeW91clJheiAucmlnaHRDb2x1bW4gLnJpZ2h0U2hvdXQgYS5idXR0b25TbTpob3ZlciwgI3lvdXJSYXogLnJpZ2h0Q29sdW1uIC5yaWdodFNob3V0IGEuYnV0dG9uT3JkZXI6aG92ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0yNXB4OyB9XHJcbi5lbWFpbExDIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogN3B4IDAgNXB4IDIwcHg7IGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltYWdlcy9pY29uLWVtYWlsLnBuZykgMCA5cHggbm8tcmVwZWF0OyB9XHJcblxyXG5hLmRheVBhc3NDb25maXJtYXRpb24geyBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZDogI2ZjZjg4NiB1cmwoL3NoYXJlZC9pbWFnZXMvZnJlZS1wYXNzLWJhbm5lci5wbmcpIG5vLXJlcGVhdDsgYm9yZGVyOiAxcHggc29saWQgI2ZjZjg4NjsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMTlweDsgY29sb3I6ICMwMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjRkZGOyB9XHJcbmEuZGF5UGFzc0NvbmZpcm1hdGlvbiBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAyMXB4OyBwYWRkaW5nOiAwIDAgMjBweCAxMDBweDsgbGluZS1oZWlnaHQ6IDI3cHg7IH1cclxuYS5kYXlQYXNzQ29uZmlybWF0aW9uIHVsIHsgbWFyZ2luOiAxMHB4IDAgMCAwOyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XHJcbmEuZGF5UGFzc0NvbmZpcm1hdGlvbiB1bCBsaSB7IG1hcmdpbjogMDsgcGFkZGluZzogMCAyMHB4IDEwcHggMCA7IGRpc3BsYXk6IGlubGluZTsgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuYS5kYXlQYXNzQ29uZmlybWF0aW9uIC5ibHVlIHsgY29sb3I6IGJsdWU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcbmEuZGF5UGFzc0NvbmZpcm1hdGlvbjpob3ZlciAuYmx1ZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19yZXBvcnRJY29ucy5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnJlcG9ydEljb24ge1xyXG5cdGJhY2tncm91bmQ6ICNmYWYyZDE7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYmM0NWU7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRjb2xvcjogIzIyMjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtc2hhZG93OiAwIDAgM3B4ICNmZmY7XHJcbn1cclxuXHQucmVwb3J0SWNvbiBpbWcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cdC5yZXBvcnRJY29uIC5yZXBvcnRMYWJlbCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxlZnQ6IDcuNSU7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDI3JTtcdFxyXG5cdFx0d2lkdGg6IDg1JTtcclxuXHR9IiwiLnJlc291cmNlQ29ycmVsYXRpb25zIGEge1xuICAgIGNvbG9yOiAjMjIyO1xufVxuLnJlc291cmNlQ29ycmVsYXRpb25zIC5pY29uIHtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeUNvbG9yKTtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbn1cbi5yZXNvdXJjZUNvcnJlbGF0aW9ucyAuaWNvbi1hcHBsZSB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG59IiwiLypcblJFU09VUkNFIExJU1Rcbkxpc3RzIHJlbGF0ZWQgZG93bmxvYWRzIHVuZGVyIGEgc2luZ2xlIGhlYWRpbmcgd2l0aCBhcHBsaWNhYmxlIGljb25zIChQREYsIFByb2plY3RhYmxlLCBhbmQgQWRkIFRvIEZpbGUgQ2FiaW5ldCBpY29ucylcblxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX3Jlc291cmNlRG93bmxvYWRzLmNzc1xuU3R5bGVndWlkZTogbW9kdWxlcy9yZXNvdXJjZURvd25sb2Fkcy5waHBcbiovXG5cbi8qIFRPRE86IE5lZWQgLnJlc291cmNlTGlzdC1wbGFpbiBmb3IgbGlzdGluZyBpY29ucyBpbmxpbmUgd2l0aCBvciB3aXRob3V0IGEgdGl0bGUgKi9cblxuLnJlc291cmNlTGlzdCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyLXRvcDogc29saWQgOHB4ICNlMGUwZTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLyogVEhVTUJOQUlMUyAqL1xuLnJlc291cmNlTGlzdF90aHVtYiB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiAgICAucmVzb3VyY2VMaXN0X3RodW1iIGltZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggM3B4ICNjY2M7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIH1cblxuLyogREVUQUlMUyAodGl0bGVzIGFuZCBvdGhlciBpbmZvKSAqL1xuLnJlc291cmNlTGlzdF9kZXRhaWxzIHtcbiAgICBmbGV4LWJhc2lzOiAxMDBweDsgLyogbmVlZCB0byBzZXQgYW4gYXJiaXRyYXJ5IHdpZHRoIHRvIHByZXZlbnQgaXQgZnJvbSBjaGFuZ2luZyB3aXRoIHRoZSBsZW5ndGggb2YgdGhlIHRpdGxlICovXG4gICAgZmxleC1ncm93OiAxO1xufVxuLnJlc291cmNlTGlzdF90aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLVNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW46IDA7XG59XG4ucmVzb3VyY2VMaXN0X3N1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtU2VyaWY7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5yZXNvdXJjZUxpc3RfZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IC45cmVtO1xufVxuLnJlc291cmNlTGlzdF9maWN0aW9uIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIG1hcmdpbjogMDtcbn1cbi5yZXNvdXJjZUxpc3RfbXVsdGlsZXZlbCB7XG4gICAgY29sb3I6ICNmZjY2MzM7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG4ucmVzb3VyY2VMaXN0X3JlbGF0ZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbjogM3B4IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4gICAgLnJlc291cmNlTGlzdF9yZWxhdGVkOjpiZWZvcmUge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4vKiBFQk9PSyBQUkVWSUVXIElDT05TICovXG4ucmVzb3VyY2VMaXN0X3ByZXZpZXcge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZTBlMGUwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA2cHggMDtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiAgICAucmVzb3VyY2VMaXN0X3ByZXZpZXdUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbi8qIFJFU09VUkNFIElDT05TICovXG4ucmVzb3VyY2VMaXN0X2ljb25zIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4gICAgLnJlc291cmNlTGlzdCB1bCAucmVzb3VyY2VMaXN0X2ljb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG4gICAgLnJlc291cmNlTGlzdF9wcmV2aWV3IC5yZXNvdXJjZUxpc3RfaWNvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgIC8qIG5lc3RlZCB0byBwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIGxlZ2FjeSB2ZXJzaW9uXG4gICAgKGNvbmZsaWN0cyBhcmlzZSBiZWNhdXNlIG9mIGhvdyB0aGUgZmlsZSBjYWJpbmV0IGljb24gaW5jbHVkZSBpcyBzZXQgdXApICovXG4gICAgLnJlc291cmNlTGlzdF9pY29ucyAucmVzb3VyY2VMaXN0X2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAyNnB4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7XG4gICAgfVxuICAgICAgICAucmVzb3VyY2VMaXN0X2ljb25zIC5yZXNvdXJjZUxpc3RfaWNvbi1wZGYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvaWNvbnMvaWNvbi1wZGYuc3ZnXCIpIG5vLXJlcGVhdCAycHggMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXNvdXJjZUxpc3RfaWNvbnMgLnJlc291cmNlTGlzdF9pY29uLXByb2plY3RhYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2ljb25zL2ljb24tcHJvamVjdGFibGUuc3ZnXCIpIG5vLXJlcGVhdCAzcHggMnB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXNvdXJjZUxpc3RfaWNvbnMgLnJlc291cmNlTGlzdF9pY29uLWZpbGVDYWJpbmV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2ljb25zL2ljb24tZm9sZGVyLnN2Z1wiKSBuby1yZXBlYXQgM3B4IDBweDtcbiAgICAgICAgfVxuICAgICAgICAucmVzb3VyY2VMaXN0X2ljb25zIC5yZXNvdXJjZUxpc3RfaWNvbi1saXN0ZW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvaWNvbnMvaWNvbi1saXN0ZW4uc3ZnXCIpIG5vLXJlcGVhdCAycHggMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXNvdXJjZUxpc3RfaWNvbnMgLnJlc291cmNlTGlzdF9pY29uLXJlYWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvaWNvbnMvaWNvbi1yZWFkLnN2Z1wiKSBuby1yZXBlYXQgM3B4IDJweDtcbiAgICAgICAgfVxuICAgICAgICAucmVzb3VyY2VMaXN0X2ljb25zIC5yZXNvdXJjZUxpc3RfaWNvbi1xdWl6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2ljb25zL2ljb24tcXVpei5zdmdcIikgbm8tcmVwZWF0IDJweCAxcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc291cmNlTGlzdF9pY29ucyAucmVzb3VyY2VMaXN0X2ljb24tYXNzaWduIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL2ljb25zL2ljb24tYXNzaWduLnN2Z1wiKSBuby1yZXBlYXQgMnB4IDFweDtcbiAgICAgICAgfVxuICAgICAgICAucmVzb3VyY2VMaXN0X2ljb25zIC5yZXNvdXJjZUxpc3RfaWNvbi1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIC5yZXNvdXJjZUxpc3RfaWNvbnMgLnJlc291cmNlTGlzdF9pY29uOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIH1cblxuLyogTElTVCBPRiBTVUItSVRFTVMgKi9cbi5yZXNvdXJjZUxpc3QgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiA2cHggMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnJlc291cmNlTGlzdCBsaSB7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5yZXNvdXJjZUxpc3RfdWwtYm9yZGVycyA+IGxpIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2UwZTBlMDtcbn1cbi5yZXNvdXJjZUxpc3RfdWwtYm9yZGVycyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIExBWU9VVCBDT05UQUlORVIgKi9cbi5yZXNvdXJjZUxpc3RDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMCAtMjFweCAwIC0yMXB4O1xufVxuLnJlc291cmNlTGlzdENvbnRhaW5lciAucmVzb3VyY2VMaXN0IHtcbiAgICBtYXJnaW46IDAgMjFweCAzNnB4IDIxcHg7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gNDJweCk7XG59XG4ucmVzb3VyY2VMaXN0Q29udGFpbmVyLTJjb2wgLnJlc291cmNlTGlzdCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNDhweCk7XG59XG4ucmVzb3VyY2VMaXN0Q29udGFpbmVyLTRjb2wgLnJlc291cmNlTGlzdCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gNDhweCk7XG59XG4ucmVzb3VyY2VMaXN0Q29udGFpbmVyLTVjb2wgLnJlc291cmNlTGlzdCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gNDhweCk7XG59XG5cbi8qIFNJTVBMRSBWRVJTSU9OIE9GIFJFU09VUkNFIExJU1QgKGp1c3QgaGVhZGluZ3Mgd2l0aCBpY29ucykgKi9cbi5yZXNvdXJjZUxpc3Qtc2ltcGxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5yZXNvdXJjZUxpc3Qtc2ltcGxlIC5yZXNvdXJjZUxpc3Rfc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cblxuXG4iLCIvKlxyXG5TY3JvbGwgVG8gVG9wXHJcblxyXG5OYXZpZ2F0aW9uIGJ1dHRvbiBmb3IgcmV0dXJuaW5nIHRvIHRoZSB0b3Agb2YgcGFnZVxyXG5cclxuKi9cclxuXHJcbi5zY3JvbGxUb1RvcCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQ6ICNCQURBNTU7XHJcbiAgICBib3R0b206IDEwcHg7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yNCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwgLjgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4gICAgLnNjcm9sbFRvVG9wOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsMCwwLDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsMCwwLDAuMjIpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcblxyXG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX3NlYXJjaC5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuI2FkdmFuY2VkU2VhcmNoTWVudXMubW9yZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZDogI0VGRUZFRjsgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgcGFkZGluZzogMzBweCAyMHB4IDIwcHg7IGNvbG9yOiAjMDAwOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxN3B4OyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNGRkY7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbmgxLnNlYXJjaCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgbGluZS1oZWlnaHQ6IDI0cHg7IH1cclxuaDEuc2VhcmNoIGEjbW9yZUxpbmsgeyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICMxODEwNmI7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XHJcbmgxIC5zbWFsbCB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMDAwOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxyXG5cclxuLnNlYXJjaC1sZWZ0IGg0IHsgbWFyZ2luLXRvcDogMDsgfVxyXG4uc2VhcmNoLWxlZnQgc3Ryb25nIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxyXG4uc2VhcmNoLWxlZnQgbGkgeyBwYWRkaW5nOiAycHggMDt9XHJcbi5zZWFyY2gtbGVmdCAuYXJyb3dSaWdodCB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsMCwwLC4zKTsgfVxyXG4uc2VhcmNoLWxlZnQgYTpob3ZlciAuYXJyb3dSaWdodCB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsMCwwLC42KTsgfVxyXG4uc2VhcmNoLWxlZnQgLmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICMwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbi5zZWFyY2gtbGVmdCAuYWN0aXZlIC5hcnJvd1JpZ2h0IHsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwwLDAsMSk7IH1cclxuLnNlYXJjaC1sZWZ0IGhyIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWNvbG9yOiAjRkZGOyB9XHJcbi5ncmV5VG90YWwgeyBmb250LXNpemU6IDkwJTsgY29sb3I6IHJnYmEoMCwwLDAsLjUpfVxyXG5cclxuI3Jlc3VsdExpc3QgLmJvb2tzIHsgaGVpZ2h0OiBhdXRvOyBtYXJnaW46IDA7IHdpZHRoOiAxMjVweDsgcGFkZGluZy1yaWdodDogMjBweDsgfVxyXG4jcmVzdWx0TGlzdCAuYm9va3MgaW1nIHsgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRUFFQUVBOyBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDOyBib3gtc2hhZG93OiA1cHggNXB4IDVweCAjQ0NDQ0NDOyB9XHJcblxyXG4jcGFnaW5hdGlvbklubmVyIHsgbWFyZ2luOiAwIGF1dG87IH1cclxuI3Jlc3VsdExpc3QgLmJvb2tTdW1tYXJ5IHsgd2lkdGg6IDU3OHB4OyB9XHJcbiNyZXN1bHRMaXN0IC5zdHVkZW50VmVyc2lvbiB7IGRpc3BsYXk6IG5vbmU7fVxyXG5cclxuI2FkdmFuY2VkU2VhcmNoTWVudXMubW9yZSBoMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAtMTBweDsgbWFyZ2luOjA7IH1cclxuXHJcbiNhZHZhbmNlZFNlYXJjaE1lbnVzIGZpZWxkc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwIDAgNnB4OyBib3JkZXI6IDA7IGNsZWFyOiBsZWZ0OyB9XHJcbiNhZHZhbmNlZFNlYXJjaE1lbnVzIGZpZWxkc2V0IGxhYmVsIHsgcGFkZGluZzogMCAwIDNweCAwOyBkaXNwbGF5OiBibG9jazsgfVxyXG4jYWR2YW5jZWRTZWFyY2hNZW51cyBmaWVsZHNldCBpbnB1dCB7IHdpZHRoOiAxOTRweDsgfVxyXG4jYWR2YW5jZWRTZWFyY2hNZW51cyBzZWxlY3QgeyB3aWR0aDogMjAwcHg7IH1cclxuI2FkdmFuY2VkU2VhcmNoTWVudXMubW9yZSAuY29sdW1uIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMjBweDsgbWFyZ2luOiAwOyB9XHJcbiNhZHZhbmNlZFNlYXJjaE1lbnVzLm1vcmUgaW5wdXQuc3VibWl0QnV0dG9uIHsgY2xlYXI6IGJvdGg7IGZsb2F0OiByaWdodDsgfVxyXG5cclxuI2FkdmFuY2VkU2VhcmNoUG9wdXAgZmllbGRzZXQgeyBwYWRkaW5nOiAwOyB9XHJcbiNhZHZhbmNlZFNlYXJjaFBvcHVwIGZpZWxkc2V0IGxhYmVsIHsgIGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwcHg7IHBhZGRpbmc6IDZweCA2cHggMCAxMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuI2FkdmFuY2VkU2VhcmNoUG9wdXAgZmllbGRzZXQgc2VsZWN0IHsgd2lkdGg6IDMwMHB4OyBtYXJnaW46IDZweCAwIDA7fVxyXG5cclxuLnBhc3N3b3JkRm9ybSBsYWJlbCB7IG1hcmdpbi1sZWZ0OiA1cHg7IH1cclxuLnBhc3N3b3JkRm9ybSBsYWJlbC5lcnJvciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMCA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgfVxyXG5cclxuI2Jvb2tXcmFwcGVyICNib29rSW5mbyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgdG9wOiAtMzFweDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XHJcbiNib29rV3JhcHBlciAjYm9va0luZm8gLnNlY3Rpb25EaXZpZGVyIHsgYmFja2dyb3VuZDogI2NjZTBmMjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTZweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7IHBhZGRpbmc6IDEycHg7IH1cclxuI2Jvb2tXcmFwcGVyICNib29rSW5mbyAuc2VjdGlvbkRpdmlkZXIgaDEgeyBjb2xvcjogIzAwMDsgZm9udC1zaXplOiAxMnB4OyB9XHJcbiNib29rV3JhcHBlciAjYm9va0luZm8gLnNlY3Rpb25EaXZpZGVyIHVsIGxpIGEgeyBjb2xvcjogIzAwMDBGRjsgfVxyXG4jYm9va1dyYXBwZXIgI2Jvb2tJbmZvIC5zZWN0aW9uRGl2aWRlciBhLm9uU3RhdGUgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjMUU1MTgwICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IFxyXG4jYm9va1dyYXBwZXIgI2Jvb2tJbmZvIC5zZWN0aW9uRGl2aWRlciB1bCBsaSBhIC5hcnJvd1JpZ2h0IHsgIG1hcmdpbjogMnB4IDVweCAxMHB4IDA7IGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0ZGRjsgZmxvYXQ6IGxlZnQ7ICB9XHJcbi5pZTcgI2Jvb2tXcmFwcGVyICNib29rSW5mbyAuc2VjdGlvbkRpdmlkZXIgdWwgbGkgYSAuYXJyb3dSaWdodCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwcHg7IHotaW5kZXg6IDE7IH1cclxuI2Jvb2tXcmFwcGVyICNib29rSW5mbyAuc2VjdGlvbkRpdmlkZXIgdWwgbGkgYTpob3ZlciAuYXJyb3dSaWdodCB7IGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzhBQjhFMTsgIH1cclxuI2Jvb2tXcmFwcGVyICNib29rSW5mbyAuc2VjdGlvbkRpdmlkZXIgdWwgbGkgYS5vblN0YXRlIC5hcnJvd1JpZ2h0IHsgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzFFNTE4MCAhaW1wb3J0YW50OyAgfVxyXG4jYm9va1dyYXBwZXIgI2Jvb2tJbmZvIC5zZWN0aW9uRGl2aWRlciBsaS5ub3RMaW5rIHsgY29sb3I6ICMwMDA7IHBhZGRpbmctdG9wOiAxMHB4OyB9XHJcbiNib29rV3JhcHBlciAjYm9va0luZm8gLnNlY3Rpb25EaXZpZGVyIHVsIGxpIGEgLmdyZXlUb3RhbCB7IGZvbnQtc2l6ZTogOTAlOyBjb2xvcjogIzMzODBDNjt9XHJcbnVsLnNlYXJjaFJlc3VsdHMgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cclxuLnNlYXJjaFJlc3VsdHMgaDIgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTVweDsgfVxyXG51bC5zZWFyY2hSZXN1bHRzIGxpLnJlc291cmNlIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxMHB4IDA7IG92ZXJmbG93OiBhdXRvOyBtaW4taGVpZ2h0OiAxMjJweDsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IGhlaWdodDogMTIycHg7IH1cclxudWwuc2VhcmNoUmVzdWx0cyBsaS5yZXNvdXJjZTpob3ZlciB7YmFja2dyb3VuZDogI2VhZWFlYTsgfVxyXG51bC5zZWFyY2hSZXN1bHRzLmxpc3RWaWV3IGxpIHsgY2xlYXI6IGJvdGg7IH1cclxudWwuc2VhcmNoUmVzdWx0cyBsaSAucGhvdG8gIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogMDsgd2lkdGg6IDEwMnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxudWwuc2VhcmNoUmVzdWx0cyBsaSAucGhvdG8gLmxldmVsSWNvbiB7IHBhZGRpbmc6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtNHB4OyBsZWZ0OiA0MyU7IHdpZHRoOiBhdXRvOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBub25lOyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMgbGkgLnBob3RvIC5sZXZlbEljb24gdWwubGV2ZWxzLnNtbGxldmVsIGxpICB7IGhlaWdodDogYXV0bzsgcGFkZGluZzogMDsgfVxyXG51bC5zZWFyY2hSZXN1bHRzIGxpIGltZy50aHVtYm5haWwgIHsgbWFyZ2luOiAwIGF1dG87IGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0VBRUFFQTsgYm9yZGVyOiAxcHggc29saWQgI0EwQTNBNTsgYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzk3QUFCQjsgZGlzcGxheTogYmxvY2s7IH1cclxudWwuc2VhcmNoUmVzdWx0cy5saXN0VmlldyBsaSAuaW5mbyB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDYxM3B4OyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMgbGkgLmNhdGVnb3J5IHsgZm9udC1zaXplOiAxMXB4OyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMgbGkgLmNhdGVnb3J5IHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cclxudWwuc2VhcmNoUmVzdWx0cyBsaSAuc3VtbWFyeSB7IGNvbG9yOiAjMDAwOyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMgbGkgYS5idG4geyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGxpbmUtaGVpZ2h0OiAxNHB4OyBtYXJnaW4tdG9wOiAxMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0xMDAwZW07IHotaW5kZXg6IDE7IH1cclxudWwuc2VhcmNoUmVzdWx0cyBsaS5yZXNvdXJjZTpob3ZlciBhLmJ0biB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMDsgfVxyXG51bC5zZWFyY2hSZXN1bHRzIGxpIC5jYXRlZ29yeTIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG51bC5zZWFyY2hSZXN1bHRzIGxpIGltZy5sYW5kc2NhcGUgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogNjVweDsgfVxyXG51bC5zZWFyY2hSZXN1bHRzIGxpIGltZy5wb3J0cmFpdCB7IHdpZHRoOiA2NXB4OyBoZWlnaHQ6IDEwMHB4OyB9XHJcblxyXG51bC5zZWFyY2hSZXN1bHRzLmdyaWRWaWV3IGxpIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMzVweDsgcGFkZGluZzogMjBweCAxMHB4IDAgMDsgfVxyXG51bC5zZWFyY2hSZXN1bHRzLmdyaWRWaWV3IGxpIC5waG90byB7IGZsb2F0OiBub25lOyB3aWR0aDogYXV0bzsgfVxyXG51bC5zZWFyY2hSZXN1bHRzLmdyaWRWaWV3IGxpIC5waG90byAubGV2ZWxJY29uICB7IGRpc3BsYXk6IG5vbmU7IH1cclxudWwuc2VhcmNoUmVzdWx0cy5ncmlkVmlldyBsaSBpbWcudGh1bWJuYWlsIHsgbWFyZ2luOiAwIDAgNXB4OyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMuZ3JpZFZpZXcgbGkgaW1nLnRodW1ibmFpbC5sYW5kc2NhcGUgeyBtYXJnaW4tdG9wOiAzNXB4OyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMuZ3JpZFZpZXcgbGkgLmluZm8gaDIgeyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxNnB4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XHJcbnVsLnNlYXJjaFJlc3VsdHMuZ3JpZFZpZXcgbGkgLmluZm8gaDIgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG51bC5zZWFyY2hSZXN1bHRzLmdyaWRWaWV3IGxpIC5pbmZvIGgyIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxyXG51bC5zZWFyY2hSZXN1bHRzLmdyaWRWaWV3IGxpIC5pbmZvIC5jYXRlZ29yeSB7IGRpc3BsYXk6IG5vbmU7IH1cclxudWwuc2VhcmNoUmVzdWx0cy5ncmlkVmlldyBsaSAuaW5mbyAuc3VtbWFyeSB7IGRpc3BsYXk6IG5vbmU7IH1cclxudWwuc2VhcmNoUmVzdWx0cy5ncmlkVmlldyBsaTpob3ZlciB7IGJhY2tncm91bmQ6IG5vbmU7IH1cclxudWwuc2VhcmNoUmVzdWx0cy5ncmlkVmlldyBsaSAuY2F0ZWdvcnkyIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjNjY2NjY2OyBmb250LXNpemU6IDExcHg7IGxpbmUtaGVpZ2h0OiAxNnB4OyB9XHJcblxyXG4udWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG4udWktZnJvbnQge1xyXG4gICAgei1pbmRleDogMTAyO1xyXG59XHJcbi51aS1hdXRvY29tcGxldGUudWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxufVxyXG5cclxuLnNlYXJjaFJlc3VsdHMgLnBpbGwge1xyXG4gICAgbGVmdDogLTEwMDBlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IDVweDtcclxufVxyXG4uc2VhcmNoUmVzdWx0cyAucmVzb3VyY2U6aG92ZXIgLnBpbGwge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqIEVORCBzaGFyZWQvX3NlYXJjaC5jc3MgKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuIiwiLypcblNFQVJDSCBCQVJcblRoZSBzZWFyY2ggaW4gdGhlIG1haW4gbmF2IGJhclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXNfc2VhcmNoQmFyLmNzc1xuKi9cblxuLm1haW5OYXZDb250YWluZXIgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5tYWluTmF2Q29udGFpbmVyIC5zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi5tYWluTmF2Q29udGFpbmVyIC5zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0gLyogaWU4ICovIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbjogMnB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB3aWR0aDogMjAwcHg7XG59XG4ubWFpbk5hdkNvbnRhaW5lciAuc2VhcmNoIC5idG4ge1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAycHggMCAwIC00cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuLm1haW5OYXZDb250YWluZXIgLnNlYXJjaCAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xufSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fc2VjdGlvbkhlYWRQb3BvdXQuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zZWN0aW9uSGVhZFBvcG91dCAuc2VjdGlvbkhlYWQyLmFjdGl2ZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLnNlY3Rpb25IZWFkUG9wb3V0IC5jbG9zZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4uc2VjdGlvbkhlYWRQb3BvdXQgLmFjdGl2ZSAuY2xvc2Uge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuLnNlY3Rpb25IZWFkUG9wb3V0IC5hY3RpdmUgLm1vcmUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zZWN0aW9uSGVhZFBvcG91dENvbnRlbnQge1xyXG5cdGJhY2tncm91bmQ6ICNmNGY0ZjQ7XHJcblx0Ym9yZGVyOiBzb2xpZCAzcHggI2UwZTBlMDtcclxuXHRib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1x0XHJcblx0bWFyZ2luOiAwIDAgMThweCAwO1xyXG5cdHBhZGRpbmc6IDAgMTRweDtcclxufVxyXG4ub2Zmc2V0NCAuc2VjdGlvbkhlYWRQb3BvdXRDb250ZW50IHtcclxuXHRtYXJnaW4tcmlnaHQ6IDE4cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDE4cHg7XHJcbn1cclxuXHJcbi8qIGxldmVsIHBvcG91dHMgKi9cclxuLnNlY3Rpb25IZWFkUG9wb3V0Q29udGVudCAubWluaUxldmVsQ2hhcnQge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRtYXJnaW46IDE4cHggMCAxOHB4IDMwcHg7XHJcblx0d2lkdGg6IDQwJTtcclxufVxyXG5cdC5zZWN0aW9uSGVhZFBvcG91dENvbnRlbnQgLm1pbmlMZXZlbENoYXJ0IHRhYmxlIHtcclxuXHRcdGJhY2tncm91bmQ6ICNlMGUwZTA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTRweDtcclxuXHR9XHJcblx0LnNlY3Rpb25IZWFkUG9wb3V0Q29udGVudCAubWluaUxldmVsQ2hhcnQgdHI6bGFzdC1jaGlsZCB0ZCB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG5cdCIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX3Nob3V0LW91dHMuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKioqXHJcbk5ldyBhbmQgVXBkYXRlZCBjYWxsb3V0c1xyXG4qKiovXHJcbi51cGRhdGVkLFxyXG4ubmV3IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAzcHg7XHJcbiAgICBsZWZ0OiAtMTNweDtcclxuICAgIGJhY2tncm91bmQ6ICM5MjJlNjM7XHJcbiAgICB3aWR0aDogNThweDtcclxuICAgIGhlaWdodDogMTdweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG4ubmV3IHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG59XHJcbi5uYXYtc2Vjb25kYXJ5IC5uZXcge1xyXG4gICAgbGVmdDogLTI1cHg7XHJcbn1cclxuLnJlc291cmNlTGluayAubmV3IHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGxlZnQ6IC0zNHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbn1cclxuXHJcbi8qKiogU0hPVVQgQk9YICoqKiovXHJcbi5zaG91dEJveCB7IG1hcmdpbjogNDBweCAwIDAgMDsgfVxyXG4uc2hvdXRCb3ggc3Ryb25nIHsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogYm9sZDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCAwIDNweDsgcGFkZGluZzogMDsgfVxyXG4uZGl2aWRlciB7IHdpZHRoOjEwMCU7IH1cclxuLnNob3V0Qm94IC5kaXZpZGVyIHsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6ICNCOUI0RUM7IG1hcmdpbjogMjBweCAwIDIwcHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbi5zaG91dEJveCBhLnNtQnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IGJhY2tncm91bmQ6IHVybCgvc2hhcmVkL2ltYWdlcy9iZy1idXR0b24tc21hbGwucG5nKSAwIDAgbm8tcmVwZWF0OyB3aWR0aDogMTI4cHg7IGhlaWdodDogMjJweDsgcGFkZGluZzogNnB4IDAgMCAxMHB4OyBjb2xvcjogI2Q3ZTVmMjsgdGV4dC1zaGFkb3c6ICMyMzQ1NjYgMHB4IDFweCAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgIH1cclxuLnNob3V0Qm94IGEuc21CdXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yOHB4OyBjb2xvcjogI0ZGRjsgIH1cclxuXHJcbi5zaG91dEJveCBhLnZpZGVvIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBibG9jazsgY29sb3I6ICMwMDA7IH1cclxuLnNob3V0Qm94IGEudmlkZW8gZW0geyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY29sb3I6ICMwNTViYWQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxyXG4uc2hvdXRCb3ggYS52aWRlbzpob3ZlciBlbSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG4uc2hvdXRCb3ggYS52aWRlbyBzcGFuIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRvcDogM3B4OyB3aWR0aDogMTVweDsgbGVmdDogMDsgfVxyXG4uc2hvdXQtdmlkZW8ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3NoYXJlZC9pbWFnZXMvdmlkZW8tY29udHJvbHMtc2hvdXRib3gucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IGJvdHRvbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0NjQ2NDY7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDAgM3B4O1xyXG4gICAgcGFkZGluZzogMCAwIDE5cHg7XHJcbiAgICB3aWR0aDogMTgycHg7XHJcbn1cclxuXHJcbi5tZW51LW1lc3NhZ2Uge1xyXG4gICAgYm90dG9tOiAxMHB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTBweDtcclxufVxyXG5cclxuLyoqIENoYXQgQnViYmxlIENTUyAqKi9cclxuLmJ1YmJsZS13cmFwIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4uYnViYmxlLWljb24gPiBpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAvIDUyLjVweDtcclxuICAgIGxlZnQ6IDIyLjVweDtcclxuICAgIHRvcDogMHB4O1xyXG59XHJcbi5idWJibGUtaWNvbiA+IGkraSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyOiAzNy41cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzcuNXB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgdG9wOiA3MHB4O1xyXG4gICAgcmlnaHQ6IDI1cHg7XHJcbn1cclxuLmJ1YmJsZS10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogNTAwMDtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uYnViYmxlLXRleHQgYSxcclxuLm1haW5OYXYgLm5hdkNoaWxkIC5idWJibGUtdGV4dCBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4yOSk7XHJcbn1cclxuLmJ1YmJsZS10ZXh0IGEgLmZhdXhMaW5rIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi8qKiBQdXJwbGUgQnViYmxlIFV0aWxpdHkgQ2xhc3MgKiovXHJcbi5idWJibGUtcHVycGxlID4gaSB7XHJcbiAgICBib3JkZXItdG9wOiA1Mi41cHggc29saWQgI0U1RTNGODtcclxuICAgIGJvcmRlci1ib3R0b206IDUyLjVweCBzb2xpZCAjRTVFM0Y4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDEwMHB4IHNvbGlkICNFNUUzRjg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkICNFNUUzRjg7XHJcbn1cclxuLmJ1YmJsZS1wdXJwbGUgPiBpK2kge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMzcuNXB4IHNvbGlkICNFNUUzRjg7XHJcbn1cclxuXHJcbi8qKiBPcmFuZ2UgQnViYmxlIFV0aWxpdHkgQ2xhc3MgKiovXHJcbi5idWJibGUtb3JhbmdlID4gaSB7XHJcbiAgICBib3JkZXItdG9wOiA1Mi41cHggc29saWQgI2ZhYTMzYTtcclxuICAgIGJvcmRlci1ib3R0b206IDUyLjVweCBzb2xpZCAjZmFhMzNhO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDEwMHB4IHNvbGlkICNmYWEzM2E7XHJcbiAgICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkICNmYWEzM2E7XHJcbn1cclxuLmJ1YmJsZS1vcmFuZ2UgPiBpK2kge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMzcuNXB4IHNvbGlkICNmYWEzM2E7XHJcbn1cclxuXHJcbi8qRUxMIFBST01PKi9cclxuXHJcbi5lbGwtcHJvbW8ge1xyXG4gICAgYmFja2dyb3VuZDogIzlGQzdGMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5RkM3RjA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMCAwIDAgNjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4ICNlYWVhZWE7XHJcbiAgICB3aWR0aDogMTYxcHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5lbGwtaW1hZ2Uge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmOGY4MmI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uZWxsLXNob3V0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRTJCRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5lbGwtYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICM3M0JFMUU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4IDVweDtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcbiIsIlxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBuYXZWZXJ0aWNhbCB1c2VkIGluIHNpdGVtYXAgKi9cblxuLnNpdGVtYXAgLnNob3V0Qm94LFxuLnNpdGVtYXAgLmJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zaXRlbWFwIC5uYXZWZXJ0aWNhbEhlYWRpbmcsXG4uc2l0ZW1hcCAubmF2VmVydGljYWxIZWFkaW5nLm5vTGluazpob3Zlcixcbi5zaXRlbWFwIC5uYXZIZWFkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAjZmZmO1xuICAgIG1hcmdpbi10b3A6IDIzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4uc2l0ZW1hcCAubmF2VmVydGljYWxIZWFkaW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaXRlbWFwIC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhLFxuLnNpdGVtYXAgLm5hdlZlcnRpY2FsIC5uYXZJdGVtIGEubm9MaW5rLFxuLnNpdGVtYXAgLm5hdkl0ZW1fbGluayB7XG4gICAgY29sb3I6ICMwNTViYWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uc2l0ZW1hcCAubmF2VmVydGljYWwgLm5hdkl0ZW0gYTpob3Zlcixcbi5zaXRlbWFwIC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhLm5vTGluazpob3Zlcixcbi5zaXRlbWFwIC5uYXZJdGVtX2xpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zaXRlbWFwIC5uYXZWZXJ0aWNhbCAubmF2SXRlbSBhIC5zbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fc2xpZGVyLWhvcml6b250YWwuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zbGlkZVdyYXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXItcmlnaHQ6IHNvbGlkIDEwcHggI2MwYzBjMDtcclxuXHRib3JkZXItbGVmdDogc29saWQgMTBweCAjYzBjMGMwO1xyXG59XHJcbi5zbGlkZURlY2sge1xyXG5cdG1pbi1oZWlnaHQ6IDE2MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHQuc2xpZGVEZWNrIC5zbGlkZXIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICB0b3A6IDA7XHJcblx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQuc2xpZGVEZWNrIC5idXR0b25zIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdFxyXG4uc2xpZGVXcmFwIC5uZXh0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogMjtcclxuXHRyaWdodDogLTE3cHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwO1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuXHQuc2xpZGVXcmFwIC5uZXh0IC5hcnJvd1JpZ2h0IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHRtYXJnaW46IC01cHggMCAwIC0zcHg7XHJcblx0XHR0ZXh0LWluZGVudDogLTk5OWVtO1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0XHRib3JkZXItbGVmdC1jb2xvcjogI2NjYztcclxuXHR9XHJcblx0LnNsaWRlV3JhcCAubmV4dDpob3ZlciB7XHJcblx0XHRib3JkZXItY29sb3I6ICMzMTQxOUE7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMzE0MTlBO1xyXG5cdH1cclxuXHQuc2xpZGVXcmFwIC5uZXh0OmhvdmVyIC5hcnJvd1JpZ2h0IHtcclxuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGO1xyXG5cdH1cclxuXHJcbi5zbGlkZVdyYXAgLnByZXZpb3VzIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogMjtcclxuXHRsZWZ0OiAtMTdweDtcclxuXHR0b3A6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAyMHB4O1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcblx0LnNsaWRlV3JhcCAucHJldmlvdXMgLmFycm93TGVmdCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0cmlnaHQ6IDUwJTtcclxuXHRcdG1hcmdpbjogLTVweCAtM3B4IDAgMDtcclxuXHRcdHRleHQtaW5kZW50OiAtOTk5ZW07XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMDtcclxuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcclxuXHR9XHJcblx0LnNsaWRlV3JhcCAucHJldmlvdXM6aG92ZXIge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMzE0MTlBO1xyXG5cdFx0YmFja2dyb3VuZDogIzMxNDE5QTtcclxuXHR9XHJcblx0LnNsaWRlV3JhcCAucHJldmlvdXM6aG92ZXIgLmFycm93TGVmdCB7XHJcblx0XHRib3JkZXItcmlnaHQtY29sb3I6ICNGRkY7XHJcblx0fVxyXG5cclxuLnNsaWRlTmF2IHtcclxuXHRtYXJnaW4tYm90dG9tOiAtMThweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLThweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHRcclxuLyogdGhlc2UgcGVyY2VudGFnZXMgZG8gbm90IHdvcmsgZm9yIGllIChhbGwgdmVyc2lvbnMpLiBuZWVkIHRvIHVzZSBwaXhlbHMgaW5zdGVhZCwgYW5kIGlkZWFsbHkgZGVidWcgdGhpcyBsYXRlciAqL1x0XHJcbi5zbGlkZXIxIHsgbGVmdDogMDsgfVxyXG4uc2xpZGVyMiB7IGxlZnQ6IDEwMCU7IH1cclxuLnNsaWRlcjMgeyBsZWZ0OiAyMDAlOyB9XHJcbi5zbGlkZXI0IHsgbGVmdDogMzAwJTsgfVxyXG4uc2xpZGVyNSB7IGxlZnQ6IDQwMCU7IH1cclxuLnNsaWRlcjYgeyBsZWZ0OiA1MDAlOyB9XHJcbi5zbGlkZXI3IHsgbGVmdDogNjAwJTsgfVxyXG4uc2xpZGVyOCB7IGxlZnQ6IDcwMCU7IH1cclxuLnNsaWRlcjkgeyBsZWZ0OiA4MDAlOyB9XHJcbi5zbGlkZXIxMCB7IGxlZnQ6IDkwMCU7IH1cclxuLnNsaWRlcjExIHsgbGVmdDogMTAwMCU7IH1cclxuLnNsaWRlcjEyIHsgbGVmdDogMTEwMCU7IH1cclxuLnNsaWRlcjEzIHsgbGVmdDogMTIwMCU7IH1cclxuXHJcbi8qbmV3IHNsaWRlciBjbGFzc2VzIGZvciByYXota2lkcyBuZXcgYm9vayBzbGlkZXIgYnVnIGZpeGVzKi9cclxuLm5ld1NsaWRlcjEgeyBsZWZ0OiAwOyB9XHJcbi5uZXdTbGlkZXIyIHsgbGVmdDogMTA4MXB4OyB9XHJcbi5uZXdTbGlkZXIzIHsgbGVmdDogMTA4MXB4OyB9XHJcblxyXG4vKioqIEZPUiBUSEUgTkVXIEhPTUVQQUdFLiBUTyBFVkVOVFVBTExZIFJFUExBQ0UgVEhFIFJFU1QgT0YgVEhFIFNJVEUgU0xJREVSUyAqKiovXHJcbi5zbGlkZVdyYXAuc2xpZGVXcmFwLWhvbWVwYWdlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4uc2xpZGVXcmFwLnNsaWRlV3JhcC1ob21lcGFnZSAucHJldmlvdXMsXHJcbi5zbGlkZVdyYXAuc2xpZGVXcmFwLWhvbWVwYWdlIC5uZXh0IHtcclxuICAgIGNvbG9yOiAjQzZDNkM2O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgdG9wOiAzMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzVweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5zbGlkZVdyYXAuc2xpZGVXcmFwLWhvbWVwYWdlIC5wcmV2aW91cyB7XHJcbiAgICBsZWZ0OiAtNDVweDtcclxufVxyXG4uc2xpZGVXcmFwLnNsaWRlV3JhcC1ob21lcGFnZSAubmV4dCB7XHJcbiAgICByaWdodDogLTQwcHg7XHJcbn1cclxuLnNsaWRlV3JhcC5zbGlkZVdyYXAtaG9tZXBhZ2UgLnByZXZpb3VzOmhvdmVyLFxyXG4uc2xpZGVXcmFwLnNsaWRlV3JhcC1ob21lcGFnZSAubmV4dDpob3ZlciB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi5zbGlkZVdyYXAtaG9tZXBhZ2UgLnNsaWRlRGVjayB7XHJcbiAgICBtYXJnaW4tbGVmdDogOTBweDtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDI0MHB4O1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19zbGlkZXItdmVydGljYWwuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi52ZXJ0aWNhbFNsaWRlciB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgM3B4ICNjMGMwYzA7XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgM3B4ICNjMGMwYzA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG4udmVydGljYWxTbGlkZURlY2sge1xyXG5cdGhlaWdodDogMjExcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG4udmVydGljYWxTbGlkZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogMDtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcbi52ZXJ0aWNhbFNsaWRlciAucHJldmlvdXMge1xyXG5cdHRvcDogLTI1cHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiAyM3B4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRtYXJnaW46IDAgMCAwIC0yNHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xyXG5cdHdpZHRoOiA0OHB4O1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI0NDQztcclxuXHRib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMCAwO1xyXG59XHJcblx0LnZlcnRpY2FsU2xpZGVyIC5wcmV2aW91czphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNjY2M7IFxyXG5cdH1cclxuXHQudmVydGljYWxTbGlkZXIgLnByZXZpb3VzLmluYWN0aXZlLXNjcm9sbCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuLnZlcnRpY2FsU2xpZGVyIC5uZXh0IHtcclxuXHRib3R0b206IC0yNXB4O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGhlaWdodDogMjNweDtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luOiAwIDAgMCAtMjRweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcclxuXHR3aWR0aDogNDhweDtcclxuXHRiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAwIDMwcHggMzBweDtcclxufVxyXG5cdC52ZXJ0aWNhbFNsaWRlciAubmV4dDphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtNnB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTVweDtcclxuXHRcdGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCAjY2NjOyBcclxuXHR9XHJcblx0LnZlcnRpY2FsU2xpZGVyIC5uZXh0LmluYWN0aXZlLXNjcm9sbCB7XHJcblx0XHQtbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NTApXCI7XHJcblx0XHRvcGFjaXR5OiAwLjU7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcbi52ZXJ0aWNhbFNsaWRlciAubmV4dDpob3ZlcixcclxuLnZlcnRpY2FsU2xpZGVyIC5wcmV2aW91czpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogI2VhZWFlYTtcclxufVx0XHJcbi52ZXJ0aWNhbFNsaWRlciAucHJldmlvdXMuaW5hY3RpdmUtc2Nyb2xsLFxyXG4udmVydGljYWxTbGlkZXIgLm5leHQuaW5hY3RpdmUtc2Nyb2xsLFxyXG4udmVydGljYWxTbGlkZXIgLm5leHQuaW5hY3RpdmUtc2Nyb2xsOmhvdmVyIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0YmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG5cclxuLyogVE9ETzogbW92ZSB0byBhIGRpZmZlcmVudCBzdHlsZXNoZWV0ICovXHJcbi5hbGVydEl0ZW0ge1xyXG5cdGJhY2tncm91bmQ6IHVybChcIi9zaGFyZWQvaW1hZ2VzL3JlYWR5dGVzdC9iZy1hbGVydC5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDZweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBtYXJnaW46IDAgMiUgMCAwO1xyXG4gICAgcGFkZGluZzogNnB4IDAgNnB4IDI2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbi52ZXJ0aWNhbFNsaWRlciAuYWxlcnRJdGVtIHtcclxuICAgIHdpZHRoOiA0NyU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vc2hhcmVkL2Nzcy9tb2R1bGVzL19zbGlkZXIuY3NzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNsaWRlLXByZXZpb3VzIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogNnB4IDAgMCAxMXB4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblx0LnNsaWRlLXByZXZpb3VzOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci1yaWdodDogNnB4IHNvbGlkICMwMDA7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDlweDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG4uc2xpZGUtbmV4dCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6IDZweCAxMXB4IDAgMDtcclxuXHRmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHQuc2xpZGUtbmV4dDpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkICMwMDA7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDlweDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdH1cclxuXHQuc2xpZGUtbmV4dDphZnRlciB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcblx0XHJcbi5zbGlkZS1zbGlkZXIge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IFxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0dG9wOiAwOyBcclxufVxyXG5cclxuLnNsaWRlLWJvb2tzIHVsIHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuLnNsaWRlLWJvb2tzIGxpIHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLnNsaWRlLWJvb2tzIC5sZXZlbHMge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMnB4O1xyXG5cdGxlZnQ6IDI5cHg7XHRcclxufVxyXG4uc2xpZGUtYm9va3MgLmJveC1sYW5kc2NhcGUgLmxldmVscyB7XHJcblx0bGVmdDogNDhweDtcdFxyXG59IiwiLypcclxuU1RFUFNcclxuRm9ybWF0dGluZyBmb3Igc3RlcCBieSBzdGVwIHByb2Nlc3Nlc1xyXG5Mb2NhdGlvbjogL3NoYXJlZC9jc3MvbW9kdWxlcy9fc3RlcHMuY3NzXHJcblRPRE86IGNvZGUgcmV2aWV3XHJcbiovXHJcblxyXG4uc3RlcCB7XHJcbiAgICBtYXJnaW46IDEycHggMDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDM4cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyOyAvKlB1dCBhYm92ZSB0aGUgYnV0dG9uIHN0eWxlLiBXYXMgY2F1c2luZyBhbiBpc3N1ZSBpbiBhc3NpZ25pbmcgYXNzZXNzbWVudHMqL1xyXG59XHJcblxyXG4uc3RlcE51bWJlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNTVjOTQyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgbWFyZ2luOiAtMnB4IDAgMCAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uc3RlcEhlYWRpbmcge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU2lnbmlrYVwiLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgbWFyZ2luOiAwIDAgMTRweCAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnN0ZXAtc3F1YXJlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDI3cHg7XHJcbiAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgYmFja2dyb3VuZDogIzczQUNFNjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcbiAgICAuc2VjdGlvbkhlYWQyIC5zdGVwLXNxdWFyZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICBsZWZ0OiAtMTFweDtcclxuICAgIH1cclxuICAgIC5ib3gtZnJhbWVMZWZ0LWxnIC5zdGVwLXNxdWFyZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDowcHg7XHJcbiAgICAgICAgbGVmdDotMjdweDtcclxuICAgIH1cclxuXHJcbi5zdGVwLXNtIHtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxufVxyXG4gICAgLnN0ZXAtc20gLnN0ZXBOdW1iZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgIH0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi9zaGFyZWQvY3NzL21vZHVsZXMvX3N2Zy5jc3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnN2Z0ZhbGxiYWNrIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi5sdC1pZTkgLnN2Z0ZhbGxiYWNrIHtcclxuXHRkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG4ubG9nby1rYXoge1xyXG5cdGZpbGw6ICNFRTc2MjQ7XHJcbn0iLCIvKioqIFRBS0VOIEZST00gS0lEUy1QT1JUQUwgX2FjdGl2aXR5LXRvb2xiYXIuY3NzICoqKi9cclxuLyoqKiBORUVEUyBSRUZBQ1RPUklORywgQUxPTkcgV0lUSCBTVFVERU5UIFZFUlNJT04gKioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKiBzdGFuZGFsb25lIHRvb2xiYXIgbmF2IChub3QgY29udGFpbmVkIGluc2lkZSBhIHRvb2xiYXIpICovXHJcblxyXG4ubmF2LXRvb2xiYXItc3RhbmRhbG9uZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgbWFyZ2luOiAxMnB4IDA7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcbi5uYXYtdG9vbGJhci1zdGFuZGFsb25lIC5uYXYtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqL1xyXG4vKiB0b29sIGJ1dHRvbnMgKi9cclxuXHJcbi8qIGRlZmF1bHQgYmx1ZSBjb2xvciAqL1xyXG4udG9vbCxcclxuLnRvb2wuYWN0aXZlIC8qIGJvb3RzdHJhcCBvdmVycmlkZSAoYm9vdHN0cmFwIGlzIHVzZWQgZm9yIHNvbWUgZWxlbWVudHMgaW4gdGhlIGJvb2sgYnVpbGRlcikgKi8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjdhMjsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICAjMWY1ZTk5IDI1JSwgIzJkNzRiNyAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICAjMWY1ZTk5IDI1JSwjMmQ3NGI3IDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgICMxZjVlOTkgMjUlLCMyZDc0YjcgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgICAgIGZpbHRlcjogbm9uZTsgLyogSUU2LTkgYnVnIGZpeCwgZGlzYWJsZSBncmFkaWVudCAqL1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzNiODJjNztcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBjb2xvcjogI2UwZTBlMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIG1hcmdpbjogMCAxcHggMCAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LXNoYWRvdzpcclxuICAgICAgIC0xcHggLTFweCAwIHJnYmEoMCwwLDAsLjgpLFxyXG4gICAgICAgMXB4IDAgMCByZ2JhKDAsMCwwLC44KSxcclxuICAgICAgIDAgMXB4IDAgcmdiYSgwLDAsMCwuOCksXHJcbiAgICAgICAwIDFweCAwIHJnYmEoMCwwLDAsLjgpLFxyXG4gICAgICAgMCAwIDRweCByZ2JhKDAsMCwwLC44KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB3aWR0aDogMzZweDtcclxufVxyXG4udG9vbCBhIHsgLyogbmVlZGVkIGZvciBIVE1MNSByZWNvcmRlciAqL1xyXG4gICAgY29sb3I6ICNlMGUwZTA7XHJcbn1cclxuLyogaG92ZXIsIGFjdGl2ZSwgb3BlbiwgYW5kIGRpc2FibGVkIHRvb2wgc3RhdGVzICovXHJcbi50b29sOm5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyLFxyXG4udG9vbGJveC1zdWJuYXYgLnRvb2wuaXMtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDkzY2Y7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAgIzJmOGVjYSAyNSUsICMzZGFkZjYgMTAwJSk7IC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICAjMmY4ZWNhIDI1JSwjM2RhZGY2IDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAgIzJmOGVjYSAyNSUsIzNkYWRmNiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgICBmaWx0ZXI6IG5vbmU7IC8qIElFNi05IGJ1ZyBmaXgsIGRpc2FibGUgZ3JhZGllbnQgKi9cclxuICAgIGJvcmRlcjogc29saWQgMXB4ICM0YWI1ZmI7XHJcbn1cclxuLnRvb2wuaXMtYWN0aXZlLFxyXG4udG9vbC5pcy1vcGVuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkODhjMTk7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAgI2Q4OGMxOSAxNiUsICNmZmEwMWUgMTAwJSk7IC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICAjZDg4YzE5IDE2JSwjZmZhMDFlIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAgI2Q4OGMxOSAxNiUsI2ZmYTAxZSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgICBmaWx0ZXI6IG5vbmU7IC8qIElFNi05IGJ1ZyBmaXgsIGRpc2FibGUgZ3JhZGllbnQgKi9cclxuICAgIGJvcmRlcjogc29saWQgMnB4ICNlYWMxMDA7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBsZWZ0OiAtMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xyXG4gICAgdGV4dC1zaGFkb3c6XHJcbiAgICAgICAgICAgIDAgLTFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjgpLFxyXG4gICAgICAgICAgICAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjgpLFxyXG4gICAgICAgICAgICAtMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LC44KSxcclxuICAgICAgICAgICAgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC44KSxcclxuICAgICAgICAgICAgMCAwIDRweCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG4gICAgdG9wOiAtMnB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbn1cclxuLnRvb2wuaXMtb3BlbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbn1cclxuLnRvb2wuZGlzYWJsZWQsXHJcbi50b29sLmRpc2FibGVkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0zMClcIjtcclxufVxyXG5cclxuLyogcHVycGxlIGNvbG9yICovXHJcbi50b29sLWFsdCxcclxuLnRvb2wtYWx0LmFjdGl2ZSAvKiBib290c3RyYXAgb3ZlcnJpZGUgKGJvb3RzdHJhcCBpcyB1c2VkIGZvciBzb21lIGVsZW1lbnRzIGluIHRoZSBib29rIGJ1aWxkZXIpICovIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YTQwYWI7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjN2E0MGFiIDI1JSwgIzhiNjFhYiAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM3YTQwYWIgMjUlLCAjOGI2MWFiIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgIzdhNDBhYiAyNSUsICM4YjYxYWIgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgICAgIGZpbHRlcjogbm9uZTsgLyogSUU2LTkgYnVnIGZpeCwgZGlzYWJsZSBncmFkaWVudCAqL1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzhiNjFhYjtcclxufVxyXG4gICAgLnRvb2wtYWx0OmhvdmVyOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOm5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWM2YmM2OyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM5YzZiYzYgMjUlLCAjYzg4OGZjIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM5YzZiYzYgMjUlLCAjYzg4OGZjIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM5YzZiYzYgMjUlLCAjYzg4OGZjIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuICAgICAgICAgICAgZmlsdGVyOiBub25lOyAvKiBJRTYtOSBidWcgZml4LCBkaXNhYmxlIGdyYWRpZW50ICovXHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2M0OTNlODtcclxuICAgIH1cclxuXHJcbi8qIGdyZWVuIGNvbG9yICovXHJcbi50b29sLXBsYXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0N2MyYTsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICMyNDdjMmEgMjUlLCAjM2Y4ZTNlIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjMjQ3YzJhIDI1JSwgIzNmOGUzZSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMyNDdjMmEsICMzZjhlM2UpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuICAgIGZpbHRlcjogbm9uZTsgLyogSUU2LTkgYnVnIGZpeCwgZGlzYWJsZSBncmFkaWVudCAqL1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzNmOGUzZTtcclxufVxyXG4udG9vbC1wbGF5Om5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmFiNGM7IC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNDZhYjRjIDI1JSwgIzVmY2E2NiAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzQ2YWI0YyAyNSUsICM1ZmNhNjYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjNDZhYjRjLCAjNWZjYTY2KTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcbiAgICBmaWx0ZXI6IG5vbmU7IC8qIElFNi05IGJ1ZyBmaXgsIGRpc2FibGUgZ3JhZGllbnQgKi9cclxuICAgIGJvcmRlcjogc29saWQgMXB4ICM1ZmNhNjY7XHJcbn1cclxuXHJcbi8qIHJlZCBjb2xvciAqL1xyXG4udG9vbC1wYXVzZSxcclxuLnRvb2wtc3RvcCxcclxuLnRvb2wtcmVjb3JkIHtcclxuICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTIxZTFlOyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNhMjFlMWUgMjUlLCAjYjczYTNiIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xyXG4gICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2EyMWUxZSAyNSUsICNiNzNhM2IgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2EyMWUxZSwgI2I3M2EzYik7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgIGZpbHRlcjogbm9uZTsgLyogSUU2LTkgYnVnIGZpeCwgZGlzYWJsZSBncmFkaWVudCAqL1xyXG4gICAgIGJvcmRlcjogc29saWQgMXB4ICNiNzNhM2I7XHJcbn1cclxuLnRvb2wtcGF1c2U6bm90KC5kaXNhYmxlZCk6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpOm5vdCguaXMtb3Blbik6aG92ZXIsXHJcbi50b29sLXN0b3A6bm90KC5kaXNhYmxlZCk6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpOm5vdCguaXMtb3Blbik6aG92ZXIsXHJcbi50b29sLXJlY29yZDpub3QoLmRpc2FibGVkKTpub3QoLmlzLWRpc2FibGVkKTpub3QoLmlzLWFjdGl2ZSk6bm90KC5pcy1vcGVuKTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQzZTNmOyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2JjMzczOCAyNSUsICNlNzdjN2QgMTAwJSk7IC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNiYzM3MzggMjUlLCAjZTc3YzdkIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2JjMzczOCwgI2U3N2M3ZCk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgZmlsdGVyOiBub25lOyAvKiBJRTYtOSBidWcgZml4LCBkaXNhYmxlIGdyYWRpZW50ICovXHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGI2YTZjO1xyXG59XHJcblxyXG4vKiB0aGUgaWNvbnMgaW5zaWRlIHRoZSB0b29scyAqL1xyXG4udG9vbCAuaWNvbiB7XHJcbiAgICBjb2xvcjogI2UwZTBlMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbiAgICAudG9vbDpob3Zlcjpub3QoLmlzLWFjdGl2ZSk6bm90KC5pcy1vcGVuKTpub3QoLmlzLWRpc2FibGVkKSA+IC5pY29uIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIC5pcy1hY3RpdmUgPiAuaWNvbixcclxuICAgIC5pcy1vcGVuID4gLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAjMTExO1xyXG4gICAgfVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogLS0tLS0tLS0tIFNUWUxFUyBTUEVDSUZJQyBUTyBBVURJTyBQTEFZRVIgKHVzZWQgaW4gaW4gYmFza2V0KSAtLS0tLS0tLS0gKi9cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIHNwZWNpYWwgcG9zaXRpb25pbmcgb2YgdG9vbHMgZm9yIEhUTUw1IHJlY29yZGVyICovXHJcbi5hdWRpb1BsYXllciAubmF2LWl0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDM2cHg7XHJcbn1cclxuLmF1ZGlvUGxheWVyIC50b29sLXBsYXksXHJcbi5hdWRpb1BsYXllciAudG9vbC1wYXVzZSB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4vKiBwb3NpdGlvbmluZyByZWNvcmRlciBlbGVtZW50cyAoYXVkaW8gZmVlZGJhY2sgYW5kIHBsYXliYWNrIHNsaWRlcikgKi9cclxuLnJlY29yZGVyRWxlbWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIHdpZHRoOiAxNjBweDtcclxufVxyXG4ucmVjb3JkZXJFbGVtZW50cyAudGltZXIge1xyXG4gICAgY29sb3I6ICMxMTE7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogNDBweDtcclxufVxyXG5cclxuLnJlY29yZGVyRWxlbWVudHMgLnBsYXliYWNrX3NsaWRlcl9heGlzIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxufVxyXG4gICAgLnJlY29yZGVyRWxlbWVudHMgLnBsYXliYWNrX3NsaWRlcl9iYWNrZ3JvdW5kIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAucmVjb3JkZXJFbGVtZW50cyAucGxheWJhY2tfc2xpZGVyX2JhY2tncm91bmQ6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzIyMjtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5yZWNvcmRlckVsZW1lbnRzIC5wbGF5YmFja19zbGlkZXJfaGFuZGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xyXG4gICAgICAgIGhlaWdodDogNzglO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDExJTtcclxuICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4vKiB0ZW1wb3Jhcnkgc3R5bGVzIGZvciB0ZWFjaGVyIG1lc3NhZ2luZywgd2lsbCBmaXggYWZ0ZXIgcmVsZWFzZSAqL1xyXG4uY2xhc3NNZXNzYWdlIC5uYXYtdG9vbGJhci1zdGFuZGFsb25lIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jbGFzc01lc3NhZ2UgLnJlY29yZGVyRWxlbWVudHMge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG5cclxuLmNsYXNzTWVzc2FnZSAucmVjb3JkZXJFbGVtZW50cyAudGltZXIge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5jbGFzc01lc3NhZ2UgdWwge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmNsYXNzTWVzc2FnZSAudG9vbC1wYXVzZVBsYXksXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtcGF1c2VSZWNvcmQsXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtc3RvcFBsYXksXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtc3RvcFJlY29yZCxcclxuLmNsYXNzTWVzc2FnZSAudG9vbC1wYXVzZVJlY29yZCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BSZWNvcmQsXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtc3RvcFBsYXkge1xyXG4gICAgbGVmdDogNDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDdjMmE7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjM2Y4ZTNlO1xyXG59XHJcblxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BQbGF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDdjMmE7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICMyNDdjMmEgMjUlLCAjM2Y4ZTNlIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjMjQ3YzJhLCAjM2Y4ZTNlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMyNDdjMmEsICMzZjhlM2UpO1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7XHJcbiAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjM2Y4ZTNlO1xyXG59XHJcblxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BQbGF5Om5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmFiNGM7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0NmFiNGMgMjUlLCAjNWZjYTY2IDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjNDZhYjRjLCAjNWZjYTY2KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICM0NmFiNGMsICM1ZmNhNjYpO1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7XHJcbiAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjNWZjYTY2O1xyXG59XHJcblxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXBsYXk6bm90KC5kaXNhYmxlZCk6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpOm5vdCguaXMtb3Blbik6aG92ZXIsXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtcGF1c2VQbGF5Om5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyLFxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BQbGF5Om5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmFiNGM7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0NmFiNGMgMjUlLCAjNWZjYTY2IDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjNDZhYjRjLCAjNWZjYTY2KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICM0NmFiNGMsICM1ZmNhNjYpO1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7XHJcbiAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjNWZjYTY2O1xyXG59XHJcblxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BSZWNvcmQsXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtcGF1c2VSZWNvcmR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTIxZTFlO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjYTIxZTFlIDI1JSwgI2I3M2EzYiAxMDAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2EyMWUxZSwgI2I3M2EzYik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjYTIxZTFlLCAjYjczYTNiKTtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBub25lO1xyXG4gICAgZmlsdGVyOiBub25lO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2I3M2EzYjtcclxufVxyXG5cclxuLmNsYXNzTWVzc2FnZSAudG9vbC1wYXVzZVBsYXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0N2MyYTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzI0N2MyYSAyNSUsICMzZjhlM2UgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMyNDdjMmEsICMzZjhlM2UpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgIzI0N2MyYSwgIzNmOGUzZSk7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogbm9uZTtcclxuICAgIGZpbHRlcjogbm9uZTtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICMzZjhlM2U7XHJcbn1cclxuXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtcmVjb3JkOm5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyLFxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXBhdXNlOm5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyLFxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXBhdXNlUmVjb3JkOm5vdCguZGlzYWJsZWQpOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKTpub3QoLmlzLW9wZW4pOmhvdmVyLFxyXG4uY2xhc3NNZXNzYWdlIC50b29sLXN0b3BSZWNvcmQ6bm90KC5kaXNhYmxlZCk6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpOm5vdCguaXMtb3Blbik6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0M2UzZjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2JjMzczOCAyNSUsICNlNzdjN2QgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICNiYzM3MzgsICNlNzdjN2QpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2JjMzczOCwgI2U3N2M3ZCk7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogbm9uZTtcclxuICAgIGZpbHRlcjogbm9uZTtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNkYjZhNmM7XHJcbn1cclxuXHJcbi5jbGFzc01lc3NhZ2UgLnRvb2wtcGF1c2VQbGF5IHtcclxuICAgIGxlZnQ6IDgycHg7XHJcbn1cclxuXHJcbi5jbGFzc01lc3NhZ2UgLnBsYXliYWNrX3NsaWRlcl9oYW5kbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjdhMjtcclxufVxyXG4uY2xhc3NNZXNzYWdlIC5yZWNvcmRlckVsZW1lbnRzIC5wbGF5YmFja19zbGlkZXJfYmFja2dyb3VuZDo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyODY3YTI7XHJcbn1cclxuXHJcbi5taWNyb3Bob25lX3N3ZiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbn0iLCIvKlxyXG5UT09MVElQXHJcblBvcHVwIHdpdGggc2hvcnQgaGVscGZ1bCBtZXNzYWdlcy4gTWVzc2FnZXMgdGhhdCBjb250YWluIG1vcmUgdGhhbiBhIHNob3J0IHNlbnRlbmNlIHNob3VsZCBub3QgdXNlIGEgdG9vbHRpcC5cclxuTG9jYXRpb246IC9zaGFyZWQvY3NzL21vZHVsZXMvX3Rvb2x0aXAuY3NzXHJcbiovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkFOR1VMQVIgQ09NUE9ORU5UXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbnRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMmEyYTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcGFkZGluZzogNXB4IDdweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB6LWluZGV4OiA2MDAwO1xyXG59XHJcbiAgICB0b29sdGlwLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTsgLyogcHJldmVudCBmbGlja2VyaW5nIHdoaWxlIHRvb2x0aXAgaXMgZ2V0dGluZyBwb3NpdGlvbmVkICovXHJcbiAgICB9XHJcblxyXG50b29sdGlwOjphZnRlciB7IC8qIHRoZSBhcnJvdyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjMmEyYTJhO1xyXG4gICAgYm90dG9tOiAtN3B4O1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGxlZnQ6IDhweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDYwMDA7XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkNTUy1PTkxZIElNUExFTUVOVEFUSU9OXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi50b29sdGlwIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRvb2x0aXBfbWVzc2FnZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyYTJhO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxlZnQ6IC05OTllbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICBwYWRkaW5nOiA1cHggN3B4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgei1pbmRleDogNjAwMDtcclxufVxyXG4gICAgLnRvb2x0aXA6aG92ZXIgLnRvb2x0aXBfbWVzc2FnZSB7XHJcbiAgICAgICAgbGVmdDogMTAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwcyAuMnM7XHJcbiAgICB9XHJcblxyXG4udG9vbHRpcDo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGxlZnQ6IC05OTllbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb246IGxlZnQgMHMgLjJzO1xyXG4gICAgei1pbmRleDogNjAwMDtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS1cclxudG9vbHRpcCBwb3NpdGlvbmluZ1xyXG4tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogdG9wICovXHJcblxyXG4udG9vbHRpcC10b3AgLnRvb2x0aXBfbWVzc2FnZSAge1xyXG4gICAgYm90dG9tOiBjYWxjKDEwMCUgKyAxM3B4KTtcclxuICAgIHRvcDogYXV0bztcclxufVxyXG4gICAgLnRvb2x0aXAtdG9wOmhvdmVyIC50b29sdGlwX21lc3NhZ2Uge1xyXG4gICAgICAgIGxlZnQ6IDIwJTtcclxuICAgIH1cclxuICAgIC50b29sdGlwLXRvcC50b29sdGlwLWljb246aG92ZXIgLnRvb2x0aXBfbWVzc2FnZSB7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgIH1cclxuLnRvb2x0aXAtdG9wOmhvdmVyOjphZnRlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICMyYTJhMmE7XHJcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDVweCk7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTlweDtcclxuICAgIHRvcDogYXV0bztcclxufVxyXG5cclxuLyogYm90dG9tICovXHJcblxyXG4udG9vbHRpcC1ib3R0b20gLnRvb2x0aXBfbWVzc2FnZSB7XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICB0b3A6IGNhbGMoMTAwJSArIDEzcHgpO1xyXG59XHJcbiAgICAudG9vbHRpcC1ib3R0b206aG92ZXIgLnRvb2x0aXBfbWVzc2FnZSB7XHJcbiAgICAgICAgbGVmdDogMjAlO1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtYm90dG9tLnRvb2x0aXAtaWNvbjpob3ZlciAudG9vbHRpcF9tZXNzYWdlIHtcclxuICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgfVxyXG5cclxuLnRvb2x0aXAtYm90dG9tOmhvdmVyOjphZnRlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzJhMmEyYTtcclxuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtOXB4O1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xyXG59XHJcblxyXG4vKiByaWdodCAqL1xyXG5cclxuLnRvb2x0aXAtcmlnaHQ6aG92ZXIgLnRvb2x0aXBfbWVzc2FnZSAge1xyXG4gICAgbGVmdDogY2FsYygxMDAlICsgMTNweCk7XHJcbn1cclxuXHJcbi50b29sdGlwLXJpZ2h0OmhvdmVyOjphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCAjMmEyYTJhO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgbGVmdDogY2FsYygxMDAlICsgNXB4KTtcclxuICAgIHRvcDogNXB4O1xyXG59XHJcbi50b29sdGlwLXJpZ2h0LnRvb2x0aXAtaWNvbjo6YWZ0ZXIge1xyXG4gICAgdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS1cclxuU1BFQ0lGSUMgVVNBR0VTXHJcbi0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIGJ1ZyBmaXg6IHVzaW5nIGxlZnQgdmFsdWVzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbnRlcmZlcmVzIHdpdGggZHJhZyBhbmQgZHJvcCAqL1xyXG4uRkNfZm9sZGVyIC50b29sdGlwX21lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4gICAgLkZDX2ZvbGRlciAudG9vbHRpcDpob3ZlciAudG9vbHRpcF9tZXNzYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuLkZDX2ZvbGRlciAudG9vbHRpcDo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4gICAgLnRvb2x0aXA6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuIiwiLypcblRVVE9SSUFMXG5cbkxvY2F0aW9uOiAvc2hhcmVkL2Nzcy9tb2R1bGVzL190dXRvcmlhbC5jc3NcblxuXG4qL1xuXG4udHV0b3JpYWwge1xuXG59XG4udHV0b3JpYWxfdGFyZ2V0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDUwMDI7XG4gICAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMSk7XG59XG4udHV0b3JpYWxfY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAxcHggMXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiA1MDAxO1xufSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuL3NoYXJlZC9jc3MvbW9kdWxlcy9fdWktZGlhbG9nLmNzc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uZGlhbG9nU3dpdGNoIHtcclxuXHRjb2xvcjogIzIyMjtcclxufVx0XHJcbi51aS1kaWFsb2cge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiBzb2xpZCAzcHggIzBiM2I4MztcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcblx0ei1pbmRleDogOTk5OTk7XHJcbn1cclxuLnVpLWRpYWxvZzpiZWZvcmUge1xyXG5cdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkICMwYjNiODM7XHJcblx0Ym9yZGVyLXRvcDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAxO1xyXG5cdGxlZnQ6IC0yMHB4O1xyXG5cdG1hcmdpbi10b3A6IC0yMHB4O1xyXG5cdHRvcDogNTAlO1xyXG59XHJcblx0LnVpLWRpYWxvZy1hbGlnbkJvdHRvbTpiZWZvcmUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjMGIzYjgzO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItdG9wOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG5cdFx0dG9wOiAtNDBweDtcclxuXHR9XHJcbi51aS1kaWFsb2ctYmcge1xyXG5cdGJhY2tncm91bmQ6ICNlZmVmZWY7XHJcbn1cclxuLnVpLWRpYWxvZy1iZyAuYm94LWJnIHtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcbi51aS1kaWFsb2ctYmcgLmhyIHtcclxuXHRib3JkZXItY29sb3I6ICNkN2Q3ZDc7XHJcbn1cclxuXHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IDA7XHJcblx0Y29sb3I6ICNGRkY7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cdC51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZSB7XHJcblx0XHRtYXJnaW46IDAgMCAxMnB4IDA7XHJcblx0XHRjb2xvcjogIzIyMjtcclxuXHRcdGZvbnQtc2l6ZTogMTdweDtcclxuXHR9XHJcblx0LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcclxuXHRcdG1hcmdpbi10b3A6IC0yM3B4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTFweDtcclxuXHR9XHJcblx0XHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0bWFyZ2luOiAxMnB4IDAgMCAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHQudWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b24ge1xyXG5cdFx0bWFyZ2luOiAwIDAgMCA1cHg7XHJcblx0fVxyXG5cdC51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1idXR0b24tdGV4dCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHRcclxuLyogbGVmdCBhbGlnbmVkICovXHJcbi51aS1kaWFsb2cuZGlhbG9nLWxlZnQ6YWZ0ZXIge1xyXG5cdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6IDIwcHggc29saWQgIzBiM2I4MztcclxuXHRib3JkZXItdG9wOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDE7XHJcblx0bGVmdDogYXV0bztcclxuXHRyaWdodDogLTIwcHg7XHJcblx0dG9wOiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTIwcHg7XHJcbn1cclxuLnVpLWRpYWxvZy5kaWFsb2ctbGVmdDpiZWZvcmUge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRyaWdodDogYXV0bztcclxufVxyXG5cclxuLyogYm90dG9tIGFsaWduZWQgKi9cclxuLnVpLWRpYWxvZy5kaWFsb2ctYm90dG9tOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogMTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dG9wOiAtMjBweDtcclxuXHRtYXJnaW4tbGVmdDogLTIwcHg7XHJcblx0bWFyZ2luLXRvcDogLTIwcHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjMGIzYjgzO1xyXG5cdGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItdG9wOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblx0IiwiLndhbGttZS1wbGF5ZXIsXG4gLndhbGttZS1sYXVuY2hlci1pZC02NjYwMyB7XG4gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiB9XG4ud2Fsa21lLW1lbnUud2Fsa21lLXBlbmd1aW4gLndhbGttZS1pY29uLWZvbnQud2Fsa21lLW1lbnUtY2xpY2stY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjdweCAhaW1wb3J0YW50O1xufVxuLndhbGttZS1tZW51LndhbGttZS1wZW5ndWluIC53YWxrbWUtbWluaW1pemUud2Fsa21lLW1lbnUtY2xpY2stY2xvc2Uge1xuICAgIGhlaWdodDogMjdweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyN3B4ICFpbXBvcnRhbnQ7XG59Il19 */
