/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    design
 * @package     base_default
 * @copyright   Copyright (c) 2006-2017 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */

/* Widgets =============================================================================== */
.widget { display:inline; }
.widget .widget-title { clear:both; padding:15px 0 0; margin:0 0 7px; }
.widget .widget-title h2 { font-size:15px; font-weight:bold; color:#e25203; }

.widget .mini-products-images-list .product-image { display:block; width:76px; height:76px; border:1px solid #a9a9a9; margin:0 auto; }
.widget .mini-products-images-list li.item { float:left; width:77px; height:77px; }

/* Widget: Catalog New Proructs List */
.widget-new-products { display:block; }
.col-main .widget-new-products { margin:7px 0; }
.widget-new-products .products-grid .product-image,
.widget-new-products .products-list .product-image { width:85px; height:85px; }
.widget-new-products .products-list .product-shop { margin-left:100px; }
.sidebar .widget-new-products .block { font-size:11px; line-height:1.25; }
.sidebar .widget-new-products .block-title strong { background:url(../../skin/frontend/base/default/images/widgets/i_widget-new.gif) 0 1px no-repeat; padding-left:21px; color:#dc5033; }

/* Widget: Recently Viewed Proructs */
.widget-viewed { display:block; }
.col-main .widget-viewed { margin:7px 0; }
.widget-viewed .products-grid .product-image,
.widget-viewed .products-list .product-image { width:85px; height:85px; }
.widget-viewed .products-list .product-shop { margin-left:100px; }
.sidebar .widget-viewed .block { font-size:11px; line-height:1.25; }
.sidebar .widget-viewed .block-title strong { background:url(../../skin/frontend/base/default/images/widgets/i_block-list.gif) 0 0 no-repeat; padding-left:21px; }

/* Widget: Recently Compared Proructs */
.widget-compared { display:block;}
.col-main .widget-compared { margin:7px 0; }
.widget-compared .products-grid .product-image,
.widget-compared .products-list .product-image { width:85px; height:85px; }
.widget-compared .products-list .product-shop { margin-left:100px; }
.sidebar .widget-compared .block { font-size:11px; line-height:1.25; }
.sidebar .widget-compared .block-title strong { background:url(../../skin/frontend/base/default/images/widgets/i_block-list.gif) 0 0 no-repeat; padding-left:21px; }

/* Widget: CMS Static Block */
.widget-static-block {}
.sidebar .widget-static-block { display:block; margin:0 0 15px; }

/* Widgets: Links Common Styles */
.top-container .widget a { padding:0 0 0 7px; }

.bottom-container .widget a { padding:0 3px; }

/* Widget: Catalog Product Link */
.widget-product-link-inline { display:inline; }

.col-main .widget-product-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-product-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-product-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-product-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }

/* Widget: Catalog Category Link */
.widget-category-link-inline { display:inline; }

.col-main .widget-category-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-category-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-category-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-category-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }

/* Widget: CMS Page Link */
.widget-cms-link-inline { display:inline; }

.col-main .widget-cms-link { display:block; text-align:right; margin:7px 0; }
.col-main .widget-cms-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding-right:15px; }

.sidebar .widget-cms-link { display:block; margin:0 0 15px; padding:0 10px; }
.sidebar .widget-cms-link a { background:url(../../skin/frontend/base/default/images/widgets/i_widget-link.gif) 100% 4px no-repeat; padding:0 15px 0 0; }
/* ======================================================================================= */

/**
 * EM CloudZoom
 *
 * @license commercial software
 * @copyright (c) 2012 Codespot Software JSC - EMThemes.com. (http://www.emthemes.com)
 */

/* This is the moving lens square underneath the mouse pointer. */
.cloud-zoom-lens {
	/*margin:-4px;	/* Set this to minus the border thickness. */
	background-color:#fff;	
	cursor:move;		
}

/* This is for the title text. */
.cloud-zoom-title {
	font-family:Arial, Helvetica, sans-serif;
	position:absolute !important;
	background-color:#000!important;
	color:#fff!important;
	padding:3px;
	width:100%;
	text-align:center;	
	font-weight:bold;
	font-size:10px;
	top:0px;
	left:0;
}

/* This is the zoom window. */
.cloud-zoom-big {
	border:2px solid #ccc;
	overflow:hidden;
	background-repeat: no-repeat;
    background:#ffffff no-repeat;
}

/* This is the loading message. */
.cloud-zoom-loading {
	color:white;	
	background:#222;
	padding:3px;
	border:1px solid #000;
}

.mousetrap{width:100%!important;height:100%!important;}
/**
 * EMThemes
 *
 * @license commercial software
 * @copyright (c) 2012 Codespot Software JSC - EMThemes.com. (http://www.emthemes.com)
 */

.colorpicker {
	width: 356px;
	height: 176px;
	overflow: hidden;
	position: absolute;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_background.png);
	font-family: Arial, Helvetica, sans-serif;
	display: none;
    z-index:999;
}
.colorpicker_color {
	width: 150px;
	height: 150px;
	left: 14px;
	top: 13px;
	position: absolute;
	background: #f00;
	overflow: hidden;
	cursor: crosshair;
}
.colorpicker_color div {
	position: absolute;
	top: 0;
	left: 0;
	width: 150px;
	height: 150px;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_overlay.png);
}
.colorpicker_color div div {
	position: absolute;
	top: 0;
	left: 0;
	width: 11px;
	height: 11px;
	overflow: hidden;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_select.gif);
	margin: -5px 0 0 -5px;
}
.colorpicker_hue {
	position: absolute;
	top: 13px;
	left: 171px;
	width: 35px;
	height: 150px;
	cursor: n-resize;
}
.colorpicker_hue div {
	position: absolute;
	width: 35px;
	height: 9px;
	overflow: hidden;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_indic.gif) left top;
	margin: -4px 0 0 0;
	left: 0px;
}
.colorpicker_new_color {
	position: absolute;
	width: 60px;
	height: 30px;
	left: 213px;
	top: 13px;
	background: #f00;
}
.colorpicker_current_color {
	position: absolute;
	width: 60px;
	height: 30px;
	left: 283px;
	top: 13px;
	background: #f00;
}
.colorpicker input {
	background-color: transparent;
	border: 1px solid transparent;
	position: absolute;
	font-size: 10px;
	font-family: Arial, Helvetica, sans-serif;
	color: #898989;
	top: 4px;
	right: 11px;
	text-align: right;
	margin: 0;
	padding: 0;
	height: 11px;
}
.colorpicker_hex {
	position: absolute;
	width: 72px;
	height: 22px;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_hex.png) top;
	left: 212px;
	top: 142px;
}
.colorpicker_hex input {
	right: 6px;
}
.colorpicker_field {
	height: 22px;
	width: 62px;
	background-position: top;
	position: absolute;
}
.colorpicker_field span {
	position: absolute;
	width: 12px;
	height: 22px;
	overflow: hidden;
	top: 0;
	right: 0;
	cursor: n-resize;
}
.colorpicker_rgb_r {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_rgb_r.png);
	top: 52px;
	left: 212px;
}
.colorpicker_rgb_g {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_rgb_g.png);
	top: 82px;
	left: 212px;
}
.colorpicker_rgb_b {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_rgb_b.png);
	top: 112px;
	left: 212px;
}
.colorpicker_hsb_h {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_hsb_h.png);
	top: 52px;
	left: 282px;
}
.colorpicker_hsb_s {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_hsb_s.png);
	top: 82px;
	left: 282px;
}
.colorpicker_hsb_b {
	background-image: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_hsb_b.png);
	top: 112px;
	left: 282px;
}
.colorpicker_submit {
	position: absolute;
	width: 22px;
	height: 22px;
	background: url(../../skin/frontend/default/galabigshop/images/variation/colorpicker_submit.png) top;
	left: 322px;
	top: 142px;
	overflow: hidden;
}
.colorpicker_focus {
	background-position: center;
}
.colorpicker_hex.colorpicker_focus {
	background-position: bottom;
}
.colorpicker_submit.colorpicker_focus {
	background-position: bottom;
}
.colorpicker_slider {
	background-position: bottom;
}
#demotool_variation{left:-391px;}

.btn-toggle {
  background: url("../../skin/frontend/default/galabigshop/images/variation/close-open.png") no-repeat scroll 0 0 transparent!important;
  display: block;
  position: fixed;
  left: 0;
  z-index:22;
  text-indent: -999px;
  top: 258px;
  width:47px;height:47px;display:block;text-indent:-99999px;
  border:#cecece 1px solid;
  border-left:none; 
}

#demotool_variation{border:#cecece 1px solid;background:#fff;width:390px; z-index:22; position:absolute;top:0;left:-100%}
#demotool_variation  .copyright {background:#e5e5e5;padding:8px 15px;color:#7F7F7F;font:12px Tahoma,Arial,Helvetica,sans-serif;clear:both;float:left;margin:15px 0 0 0;width:360px;}
#demotool_variation  .copyright a{font-weight:bold; color:#878686}
.demotool-title{background: url("../../skin/frontend/default/galabigshop/images/variation/bg_var.png") repeat-x;height:31px;font:bold 12px Tahoma,Arial,Helvetica,sans-serif;color:#fff;
line-height:30px;padding:0 15px;margin-bottom:6px;}
.content-title{background: url("../../skin/frontend/default/galabigshop/images/variation/bg_bottom_title.png") repeat-x bottom center #fff;padding-bottom:8px;cursor:pointer;}
.content-title span{color:#ba0014;font:bold 12px Tahoma,Arial,Helvetica,sans-serif;padding:2px 15px 8px;display:block;}
.demotool-content{font:12px/1.35 Roboto,Arial,Helvetica,sans-serif;}
.demotool-content .desc{ padding:5px 0 5px 9px; background:url(../../skin/frontend/default/galabigshop/images/i_desc_arrow1.gif) no-repeat 0 7px; color:#878686; font:italic 10px/1.35 Arial, Helvetica, sans-serif;}
.demotool-content .desc em{font:italic 10px/1.35 Arial, Helvetica, sans-serif;}
.demotool-content #em_variation_google_font_preview{  margin-bottom:0; }
.demotool-content .col-1 .desc{ padding-bottom:0; color:#878686; }
.demotool-content .box{border:#e0e0e0 1px solid; border-width:0 0 1px 0; margin:0 15px;float:left;clear:both;width:360px;padding:0 0 20px;}
.demotool-content .box.last{border-bottom:none;}
.demotool-content .box.first{padding:9px 0 14px 0;}
.demotool-content .box .title {font:bold 11px Tahoma,Arial,Helvetica,sans-serif;color:#000;text-transform:uppercase;cursor:default;}
.demotool-content .box .title .name_title{float:left;margin-top:2px;}
.demotool-content .box .title .box-tgl {float:right;background: url("../../skin/frontend/default/galabigshop/images/variation/var_close.png") no-repeat scroll 0 0 transparent;width:19px;height:19px;text-indent:-99999px;cursor:pointer; margin-right:10px;}
.demotool-content .box.close .title .box-tgl{ background: url("../../skin/frontend/default/galabigshop/images/variation/var_show.png") no-repeat scroll 0 0 transparent; }
.demotool-content .box .content{clear:both;}
.demotool-content .box .content .row{margin-left:0}
.demotool-content a.btn-reset,
.demotool-content a.btn-apply  {display: block;height: 32px;margin: 15px 0 0 15px;text-indent: -999px;float:left;}
.demotool-content a.btn-reset{background: url("../../skin/frontend/default/galabigshop/images/variation/btn_reset.png") no-repeat scroll 0 0 transparent;width: 78px;}
.demotool-content a.btn-apply {background: url("../../skin/frontend/default/galabigshop/images/variation/btn_apply.png") no-repeat scroll 0 0 transparent;width: 97px;}
.demotool-content .box .content .col-1:first-child{ margin-left:0;}
.demotool-content .box .content .col a:hover{ text-decoration:none;}
.demotool-content .box .content .input{ overflow:hidden;}
.demotool-content .box .content .input a{ display:inline-block; float:left;}
.demotool-content .box .content .input a:hover img{ border:2px solid #000000}
.demotool-content .box .content .input a.selected img{ border:2px solid #000000}
.demotool-content .box .content .input a img{ border:2px solid #ffffff}
.demotool-content .box .content .col{ float:left;}
.demotool-content .box .content .col-1{width:112px;margin-left:12px; }
.demotool-content .box .content .col .input.input_font{border: 0 none;float: left;margin: 0;padding: 6px 2px;min-height:21px;background: url("../../skin/frontend/default/galabigshop/images/variation/bg_select_font.png") no-repeat scroll 0 0 transparent;width:360px;}
.demotool-content .box .content .col .input select{ width:362px; border:1px solid #DDDDDD;height:auto; }
.demotool-content .box .content .col .input select#em_box_wide{-webkit-appearance:menulist}
.demotool-content .box .content .col .input select#em_variation_google_font option { border-top: 1px solid #f0e7e7; padding: 3px 4px; }
.demotool-content .box .content .col .input select#em_variation_google_font option:first-child { border-top:none; }
.demotool-content .box .content .row .label,
.demotool-content .box .content .col select{font:12px Tahoma,Arial,Helvetica,sans-serif;color:#000; border:none;background:none;background-color: transparent;-webkit-appearance:none;}
.demotool-content .box .content .row .label{padding:14px 0 8px;}
.demotool-content .box .content  select option{ padding-right:0;}
.demotool-content .box .content .col .input input{ height:30px;border:#e1e1e1 1px solid; background:#fff; padding:0 5px!important;color:#000; font-size:11px;line-height:30px; width:350px;}
.demotool-content .box .content .col-1 .input input{ width:75px;}

@media screen and (-webkit-min-device-pixel-ratio:0){
.demotool-content .box .content .col-1 .input.input_font{background: url("../../skin/frontend/default/galabigshop/images/variation/bg_select_font_1.png") no-repeat scroll 0 0 transparent;width:165px;}
}

.qrcode {position:fixed;top:307px;left:0;z-index:21}
.qrcode  li{width:49px;}
.qrcode li a span{display:block;width:47px;height:47px;background: url("../../skin/frontend/default/galabigshop/images/i_mobile.png") no-repeat scroll 0 0 transparent;text-indent: -999px;top: 307px;
 width:47px;height:47px;text-indent:-99999px;border:#cecece 1px solid;border-left:none; border-top:none;}
.qrcode li a img{max-width:none!important;border:1px solid #CECECE;padding:20px;background:#fff; z-index:99;}

/*Color*/
.color_variation .btn_color_variation{
background: url("../../skin/frontend/default/galabigshop/images/colorvariation/skin-picker.png") no-repeat scroll 0 0 transparent;
position: fixed;
left: 0;
text-indent: -999px;
top: 212px;
z-index:23;
width: 47px;
height: 47px;
display: block;
border: 1px solid #CECECE;box-shadow:0 0 10px #999999;
border-left: none;}

.color_variation .colordiv {position:absolute; left:23%; top:10%;z-index:999;background:#F6F6F6;
				  -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; /* border radius */
				  -webkit-box-shadow: 0 0 15px rgba(0,0,0,.3); 
				  -moz-box-shadow: 0 0 15px rgba(0,0,0,.3); 
				  box-shadow: 0 0 15px rgba(0,0,0,.3); /* box shadow */
				  webkit-background-clip: padding-box; 	/* smoother borders with webkit */
				  }
.adapt-2.color_variation .colordiv {left: 16%;}
.adapt-1 .color_variation .colordiv {left: 11%;}
.color_variation .colordiv .btn_color_close {
background: url("../../skin/frontend/default/galabigshop/images/btn_popup-close.png") no-repeat scroll 0 0 transparent;
height: 38px;
width: 38px;
text-indent: -99999px;
display: block;
text-align: left;
position: absolute;
top: -20px;
right: -18px;}
.color_variation .slider_container { background-color:transparent; border:none; margin:0;}
.adapt-0 .color_variation{ display:none;}
.demotool-content .box .content .col .input input#wide_full{border:0;float:left;width:auto;height:auto;margin:2px 5px 0 0;}
#lightbox{	position: absolute;	left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0;}
#lightbox img{ width: auto; height: auto;}
#lightbox a img{ border: none; }

#outerImageContainer{ position: relative; background-color: #fff; width: 250px; height: 250px; margin: 0 auto; }
#imageContainer{ padding: 10px; }

#loading{ position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; }
#hoverNav{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#imageContainer>#hoverNav{ left: 0;}
#hoverNav a{ outline: none;}

#prevLink, #nextLink{ width: 49%; height: 100%; background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */ display: block; }
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(../../skin/frontend/default/galabigshop/images/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../../skin/frontend/default/galabigshop/images/nextlabel.gif) right 15% no-repeat; }

#imageDataContainer{ font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100%	; }

#imageData{	padding:0 10px; color: #666; }
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }	
#imageData #caption{ font-weight: bold;	}
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em;	}			
#imageData #bottomNavClose{ width: 66px; float: right;  padding-bottom: 0.7em; outline: none;}	 	

#overlay{ position: absolute; top: 0; left: 0; z-index: 90; width: 100%; background-color: #000; }

/* Button panel */
.dcssb-float .dcssb-content {
	background: #fff;
	padding: 10px 10px 5px 10px;
	text-align: center;
	width: 60px;
	border: 1px solid #ccc;
	border-radius: 3px; 
	-webkit-border-radius: 3px;
}
.dcssb-btn {
	margin-bottom: 5px;
}
.dcssb-btn.size-horizontal {
	width: 80px;
	height: 24px;
}
.dcssb-btn.size-none {
	width: 60px;
	height: 24px;
}
.dcssb-btn.size-vertical {
	width: 60px;
	height: 62px;
}
/* Button specific styling */
/* Digg */
.dcssb-digg.size-vertical {
	height: 68px;
}
/* Delicious */
.dcssb-delicious div {
	margin: 0 auto;
}
/* LinkedIn */
.dcssb-linkedin.size-horizontal {
	width: 65px;
}
/* Buffer */
.dcssb-buffer.size-horizontal {
	width: 85px;
}
/* Print & Email */
.dcssb-print.size-horizontal, .dcssb-print.size-none, .dcssb-email.size-horizontal, .dcssb-email.size-horizontal {
	width: 56px;
}
.dcssb-print.size-vertical, .dcssb-email.size-vertical {
	height: 24px;
}
/*.link-email, .link-print {
	padding-left: 20px;
	display: block;
	font: bold 11px/18px Arial, sans-serif;
	height: 20px;
	text-decoration: none;
	color: #333333;
    cursor: pointer;
    background-color: #F8F8F8;
    background-image: -moz-linear-gradient(center top , #FFFFFF, #DEDEDE);
    border: 1px solid #bbb;
    border-radius: 3px 3px 3px 3px;
    max-width: 98%;
    overflow: hidden;
    position: relative;
	text-align: left;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}*/
.link-print .icon, .link-email .icon {
	display: block;
	width: 14px;
	height: 12px;
	position: absolute;
	left: 4px;
	top: 4px;
}
.link-print .icon {
	background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/icon_print.png) no-repeat 0 0;
}
.link-email .icon {
	background: url(../../skin/frontend/default/galabigshop/images/icon_email.png) no-repeat 0 0;
}
.link-email:hover, .link-print:hover {
	border: 1px solid #999;

}

/* Pinterest */
.dcssb-pinterest {
	position: relative;
	width: 60px;
}
.dcssb-pinterest.size-horizontal, .dcssb-pinterest.size-none {
	height: 20px;
}
.dcssb-pinterest.size-horizontal {
	width: 70px;
}
.dcssb-pinterest-button {
    height: 25px;
    margin: 0;
    padding: 0 0 10px 0;
}
.pinItButton {
    position: absolute;
    background: url(../../skin/frontend/default/galabigshop/images/pinterest.png);
    font: 11px Arial, sans-serif;
    text-indent: -9999em;
    font-size: .01em;
    color: #CD1F1F;
    height: 22px;
    width: 47px;
    background-position: 0 -37px;
	bottom: 0;
	left: 50%;
	margin-left: -24px;
}
.pinItButton:hover {
	background-position: 0 -58px;
	background-color: none;
}
.pinterest-counter-count{
	font: 12px/12px Arial,Helvetica,sans-serif;
    height: 29px;
    padding: 9px 0 0;
    text-align: center;
    width: 47px;
	background: url(../../skin/frontend/default/galabigshop/images/pinterest.png) no-repeat 0 0;
    color: #777777;
    position: absolute;
	bottom: 23px;
	right: 8px;
}
.size-horizontal .pinItButton {
	left: 0;
	margin-left: 0;
}
.size-horizontal .pinterest-counter-count{
	font: 11px/11px Arial,Helvetica,sans-serif;
    height: 15px;
    padding: 3px 0 0;
    text-align: center;
    width: 21px;
	background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/pinit-count-s.png) no-repeat 0 0;
    color: #777777;
    position: absolute;
	bottom: 1px;
	right: 0;
}
.size-none .pinterest-counter-count{
 display: none;
}
.isotope,
.isotope .isotope-item {
  /* change duration value to whatever you like */
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:      -o-transform, opacity;
          transition-property:         transform, opacity;
}

/**** disabling Isotope CSS3 transitions ****/

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
      -ms-transition-duration: 0s;
       -o-transition-duration: 0s;
          transition-duration: 0s;
}
.visually-hidden {
  display: block;
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     default_blank
 * @copyright   Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
/* Reset ================================================================================= */
* {
  margin: 0;
  padding: 0;
}

body {
  text-align: left;
  font-family: Arial;
  font-size: 12px;
}

img {
  border: 0;
  vertical-align: top;
  max-width: 100%;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

:focus {
  outline: 0;
}

a:focus {
  background: none\0;
}

/* Headings */
h1 {
  font-weight: normal;
  line-height: 1.15;
}

h2 {
  font-weight: normal;
  line-height: 1.25;
}

h3 {
  font-weight: bold;
  line-height: 1.25;
}

h4 {
  font-weight: bold;
}

h5 {
  font-weight: bold;
}

h6 {
  font-weight: bold;
}

/* Forms */
form {
  display: inline;
}

fieldset {
  border: 0;
}

legend {
  display: none;
}

/* Table */
table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  font-size: 100%;
}

caption, th, td {
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}

.page-print table th, .page-print table td {
  border: 1px solid #CCCCCC;
  color: #878686;
  padding: 10px;
}

.page-print h1, .page-print h2 {
  padding: 10px 0;
}

/* Content */
strong {
  font-weight: bold;
}

address {
  font-style: normal;
}

cite {
  font-style: normal;
}

q,
blockquote {
  quotes: none;
}

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

small, big {
  font-size: 1em;
}

sup {
  font-size: 1em;
  vertical-align: top;
}

/* Lists */
ul, ol {
  list-style: none;
}

ul,
ol,
dl,
p,
address,
blockquote {
  margin: 0 0 1em;
  padding: 0;
}

/* Tools */
.hidden {
  display: block !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.nobr {
  white-space: nowrap !important;
}

.wrap {
  white-space: normal !important;
}

.a-left {
  text-align: left !important;
}

.a-center {
  text-align: center !important;
}

.a-right {
  text-align: right !important;
}

.v-top {
  vertical-align: top;
}

.v-middle {
  vertical-align: middle;
}

.f-left,
.left {
  float: left !important;
}

.f-right,
.right {
  float: right !important;
}

.f-none {
  float: none !important;
}

.f-fix {
  float: left;
  width: 100%;
}

.no-display {
  display: none;
}

.no-margin {
  margin: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.no-bg {
  background: none !important;
}

/* ======================================================================================= */
/* Layout ================================================================================ */
.page {
  margin: 0 auto;
  text-align: left;
}

.page-print {
  background: #fff;
  padding: 20px;
  text-align: left;
}

.page-empty {
  background: #fff;
  padding: 20px;
  text-align: left;
}

.page-popup {
  padding: 20px;
  text-align: left;
  background: #fff;
}

.main {
  margin: 10px 0;
}

/* Base Columns */
/*.col-left { float:left; padding:0; }
.col-main { float:left; padding:0; }*/
.col-right {
  /* float:right; padding:0; */
}

/* 1 Column Layout */
.col1-layout .col-main {
  float: none;
  width: auto;
}

/* 2 Columns Layout */
.col2-left-layout .col-main {
  float: right;
}

/* 3 Columns Layout */
.col3-layout .col-main {
  width: 484px;
  margin-left: 10px;
}

.col3-layout .col-wrapper {
  float: left;
  width: 748px;
}

.col3-layout .col-wrapper .col-main {
  float: right;
}

/* Content Columns */
.col2-set .col-1 {
  float: left;
  width: 49%;
}

.col2-set .col-2 {
  float: right;
  width: 49%;
}

.col2-set .col-narrow {
  width: 33%;
}

.col2-set .col-wide {
  width: 65%;
}

.col3-set .col-1 {
  float: left;
  width: 32%;
}

.col3-set .col-2 {
  float: left;
  width: 32%;
  margin-left: 2%;
}

.col3-set .col-3 {
  float: right;
  width: 32%;
}

.col4-set .col-1 {
  float: left;
  width: 23.5%;
}

.col4-set .col-2 {
  float: left;
  width: 23.5%;
  margin: 0 2%;
}

.col4-set .col-3 {
  float: left;
  width: 23.5%;
}

.col4-set .col-4 {
  float: right;
  width: 23.5%;
}

/* ======================================================================================= */
/* Global Styles ========================================================================= */
/* Form Elements */
label {
  cursor: default;
}

input, select, textarea, button {
  vertical-align: middle;
}

input.input-text, select, textarea {
  border: 1px solid #ddd;
}

input.input-text, textarea {
  padding: 2px;
}

select {
  padding: 1px;
}

select option {
  padding-right: 10px;
}

select.multiselect option {
  padding: 2px 5px;
}

textarea {
  overflow: auto;
}

input.radio {
  margin-right: 3px;
}

input.checkbox {
  margin-right: 3px;
}

input.qty {
  width: 2.5em !important;
}

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

/* FF Fix */
button.button {
  overflow: visible;
  width: auto;
  cursor: pointer;
}

button.button span {
  display: inline-block;
  text-align: center;
}

button.button span span {
  /* padding:0 15px 0 0; height:30px; line-height:30px*/
}

.gift-messages-form p input,
p.control input.checkbox,
p.control input.radio {
  margin-right: 6px;
  margin-top: -4px;
}

/* Form Highlight */
/*input.input-text:focus,select:focus,textarea:focus {}*/
/*.highlight { background:#efefef; }*/
/* Form lists */
/* Grouped fields */
/*.form-list { width:535px; margin:0 auto; overflow:hidden; }*/
.form-list li.control {
  margin-bottom: 5px;
}

.form-list label {
  float: left;
  position: relative;
  z-index: 0;
  padding: 7px 0;
}

.form-list label.required em {
  float: right;
  font-style: normal;
  position: absolute;
  top: 8px;
  right: -9px;
}

.form-list li.control label {
  float: none;
  display: inline-block;
  padding: 0;
}

.form-list li.control input.radio,
.form-list li.control input.checkbox {
  margin-right: 6px;
  margin-top: -3px;
  margin-left: 1px;
}

.form-list li.control .input-box {
  clear: none;
  display: inline;
  width: auto;
}

.form-list .input-box, .form-list .input-range {
  display: block;
  clear: both;
  margin-bottom: 0px;
}

.form-list .field {
  float: left;
  width: 302px;
  /*padding-bottom:8px; */
}

.customer-address-form .form-list .field {
  clear: both;
}

.form-list input.input-text {
  width: 330px;
}

.form-list textarea {
  width: 330px;
  height: 6em;
  line-height: 16px;
}

.form-list select {
  width: 348px;
}

.form-list li.wide .input-box {
  width: 350px;
}

.form-list li.wide input.input-text {
  width: 330px;
  margin-bottom: 10px;
}

.form-list li.wide textarea {
  width: 330px;
}

.form-list li.wide select {
  width: 348px;
}

.form-list li.additional-row {
  border-top: 1px solid #ccc;
  margin-top: 35px;
  padding-top: 7px;
}

.form-list li.additional-row p {
  margin-bottom: 0;
}

.form-list li.additional-row .btn-remove {
  float: right;
  margin: 5px 0 0;
}

.form-list .input-range input.input-text {
  width: 125px;
}

/* Customer */
.form-list .customer-name-prefix .input-box,
.form-list .customer-name-suffix .input-box,
.form-list .customer-name-prefix-suffix .input-box,
.form-list .customer-name-prefix-middlename .input-box,
.form-list .customer-name-middlename-suffix .input-box,
.form-list .customer-name-prefix-middlename-suffix .input-box {
  width: auto;
}

.form-list .name-prefix {
  width: 65px;
}

.form-list .name-prefix select {
  width: 55px;
}

.form-list .name-prefix input.input-text {
  width: 49px;
}

.form-list .name-suffix {
  width: 65px;
}

.form-list .name-suffix select {
  width: 55px;
}

.form-list .name-suffix input.input-text {
  width: 49px;
}

.form-list .name-middlename {
  width: 70px;
}

.form-list .name-middlename input.input-text {
  width: 49px;
}

.form-list .customer-name-prefix-middlename-suffix .name-firstname,
.form-list .customer-name-prefix-middlename .name-firstname {
  width: 140px;
}

.form-list .customer-name-prefix-middlename-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-middlename .name-firstname input.input-text {
  width: 124px;
}

.form-list .customer-name-prefix-middlename-suffix .name-lastname {
  width: 205px;
}

.form-list .customer-name-prefix-middlename-suffix .name-lastname input.input-text {
  width: 189px;
}

.form-list .customer-name-prefix-suffix .name-firstname {
  width: 210px;
}

.form-list .customer-name-prefix-suffix .name-lastname {
  width: 205px;
}

.form-list .customer-name-prefix-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-suffix .name-lastname input.input-text {
  width: 189px;
}

.form-list .customer-name-prefix-suffix .name-firstname {
  width: 210px;
}

.form-list .customer-name-prefix-suffix .name-lastname {
  width: 205px;
}

.form-list .customer-name-prefix-suffix .name-firstname input.input-text,
.form-list .customer-name-prefix-suffix .name-lastname input.input-text {
  width: 189px;
}

.form-list .customer-name-prefix .name-firstname,
.form-list .customer-name-middlename .name-firstname {
  width: 210px;
}

.form-list .customer-name-suffix .name-lastname,
.form-list .customer-name-middlename .name-firstname,
.form-list .customer-name-middlename-suffix .name-firstname,
.form-list .customer-name-middlename-suffix .name-lastname {
  width: 205px;
}

.form-list .customer-name-prefix .name-firstname input.input-text,
.form-list .customer-name-suffix .name-lastname input.input-text,
.form-list .customer-name-middlename .name-firstname input.input-text,
.form-list .customer-name-middlename-suffix .name-firstname input.input-text,
.form-list .customer-name-middlename-suffix .name-lastname input.input-text {
  width: 189px;
}

.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-year {
  float: left;
  width: 85px;
}

.form-list .customer-dob input.input-text {
  display: block;
  width: 74px;
}

.form-list .customer-dob label {
  font-size: 10px;
  font-weight: normal;
  color: #888;
}

.form-list .customer-dob .dob-day,
.form-list .customer-dob .dob-month {
  width: 60px;
}

.form-list .customer-dob .dob-day input.input-text,
.form-list .customer-dob .dob-month input.input-text {
  width: 46px;
}

.form-list .customer-dob .dob-year {
  width: 140px;
}

.form-list .customer-dob .dob-year input.input-text {
  width: 134px;
}

.buttons-set p.back-link {
  margin: 0;
}

.buttons-set {
  clear: both;
  padding: 0;
  margin: 20px 0 0;
}

.buttons-set .back-link small {
  display: none;
}

.buttons-set button.button {
  float: left;
  margin-right: 5px;
}

.buttons-set p.required {
  margin: 0 0 10px;
}

.fieldset {
  float: left;
  width: 49%;
}

.fieldset .legend {
  position: relative;
}

/* Form Validation */
.validation-advice {
  clear: both;
  min-height: 13px;
  margin: 5px 0;
  padding-top: 2px;
  font-size: 11px;
  line-height: 13px;
  color: #e70808;
  float: left;
  width: 99%;
  text-align: left;
}

.validation-failed {
  border: 1px solid #da4040 !important;
  background: #fff8f8 !important;
}

/* Expiration date and CVV number validation fix */
.v-fix {
  float: left;
}

.v-fix .validation-advice {
  display: block;
  width: auto;
  position: relative;
  float: none;
}

/* Global Messages  */
.success {
  color: #3d6611;
  font-weight: bold;
}

.error {
  color: #f00;
  font-weight: bold;
}

.notice {
  color: #ccc;
}

.messages {
  list-style: none !important;
  margin: 0 0 10px;
  padding: 0;
}

.messages ul {
  list-style: none !important;
  padding: 0;
  margin-bottom: 0;
}

.messages {
  width: 100%;
  overflow: hidden;
  /*margin-top:30px;*/
}

.messages li li {
  margin: 0;
}

.error-msg,
.note-msg,
.notice-msg {
  border-style: solid;
  border-width: 1px;
  background-position: 10px 9px;
  background-repeat: no-repeat;
  min-height: 14px;
  padding: 8px;
  overflow: hidden;
}

.error-msg {
  border-color: #f16048;
  background-color: #ffe3e3;
  /*background-image:url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_msg-error.gif);*/
  color: #df280a;
}

.note-msg,
.notice-msg {
  border-color: #fcd344;
  background-color: #fafaec;
  /*background-image:url(../../skin/frontend/default/galabigshop/images/i_msg-note.gif); */
  color: #3d6611;
}

/* BreadCrumbs */
/* Page Heading */
.page-title {
  padding: 0px;
  /*my acc*/
  margin: 3px 0 22px;
}

.page-title .separator {
  margin: 0 3px;
}

.page-title .link-rss {
  float: right;
}

.title-buttons {
  text-align: right;
}

.title-buttons h1,
.title-buttons h2,
.title-buttons h3,
.title-buttons h4,
.title-buttons h5,
.title-buttons h6 {
  float: left;
}

.subtitle,
.sub-title {
  clear: both;
}

/* Pager */
.pager {
  padding: 0;
  margin: 0;
  text-align: center;
}

.pager .amount {
  float: left;
}

.pager .limiter {
  float: right;
}

.pager .pages {
  margin: 0 auto;
  line-height: 29px;
  display: inline-block;
}

.my-account .pager .pages {
  clear: both;
}

.pager .pages ol {
  display: inline;
}

.toolbar-bottom .pages li {
  display: inline;
  margin: 0 5px 0 0;
  text-align: center;
  line-height: 13px;
}

.toolbar-bottom .pages li a .v-middle,
.pager .pages li a .v-middle {
  margin-top: -4px;
  display: none;
}

.pager .pages li a.previous,
.pager .pages li a.next {
  text-transform: capitalize;
  margin: 0;
  height: 19px;
}

/* Sorter */
.sorter {
  padding: 0;
  margin: 0;
}

.pager label,
.limiter label,
.sort-by label {
  margin-right: 10px;
  margin-top: 6px;
  float: left;
}

.sorter .view-mode {
  float: left;
  margin: 0 0px 0;
  min-height: 24px;
}

.view-mode label {
  float: left;
}

.sorter .limiter {
  float: right;
  margin-bottom: 6px;
  text-align: right;
  min-height: 24px;
}

.sorter .sort-by {
  float: right;
  text-align: right;
  margin-left: 0;
  min-height: 24px;
}

.sorter .sort-by a.sort {
  width: 17px;
  float: left;
}

/* Toolbar */
.toolbar {
  /*padding-bottom:35px; padding-top:15px*/
}

.toolbar-bottom .toolbar {
  padding-top: 0;
  padding-bottom: 0;
}

.toolbar-bottom .pager {
  display: block;
}

.toolbar-bottom .sorter {
  display: none;
  float: left;
}

.toolbar .sorter {
  float: right;
  width: 400px;
}

.pager .amount {
  margin: 9px 0 7px;
}

/* Shopping cart total summary row expandable to details */
tr.summary-total {
  cursor: pointer;
}

tr.summary-total .summary-collapse {
  float: right;
  text-align: right;
  padding-left: 20px;
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/bkg_collapse.gif) 0 4px no-repeat;
  cursor: pointer;
}

tr.show-details .summary-collapse {
  background-position: 0 -53px;
}

tr.summary-details td {
  font-size: 11px;
  background-color: #dae1e4;
  color: #626465;
}

tr.summary-details-first td {
  border-top: 1px solid #d2d8db;
}

tr.summary-details-excluded {
  font-style: italic;
}

/* Shopping cart tax info */
.cart-tax-info {
  display: block;
}

.cart-tax-info,
.cart-tax-info .cart-price {
  padding-right: 20px;
}

.cart-tax-total {
  display: block;
  padding-right: 20px;
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/bkg_collapse.gif) 100% 4px no-repeat;
  cursor: pointer;
}

.cart-tax-info .price,
.cart-tax-total .price {
  display: inline !important;
  font-weight: normal !important;
}

.cart-tax-total-expanded {
  background-position: 100% -53px;
}

/* Class: std - styles for admin-controlled content */
/*.std .subtitle { padding:0; }
.std ol.ol { list-style:decimal outside; padding-left:1.5em; }
.std ul.disc { list-style:disc outside; padding-left:18px; margin:0 0 10px; }
.std dl dt { font-weight:bold; }
.std dl dd { margin:0 0 10px; }
.std ul,
.std ol,
.std dl,
.std p,
.std address,
.std blockquote { margin:0 0 1em; padding:0; }
.std ul { list-style:disc outside; padding-left:1.5em; }
.std ol { list-style:decimal outside; padding-left:1.5em; }
.std ul ul { list-style-type:circle; }
.std ul ul,
.std ol ol,
.std ul ol,
.std ol ul { margin:.5em 0; }
.std dt { font-weight:bold; }
.std dd { padding:0 0 0 1.5em; }
.std blockquote { font-style:italic; padding:0 0 0 1.5em; }
.std address { font-style:normal; }
.std b,
.std strong { font-weight:bold; }
.std i,
.std em { font-style:italic; }*/
/* Misc */
.links li {
  display: inline;
}

.links li.first {
  padding-left: 0;
}

.links li.last {
  /*background:none !important; padding-right:0 !important; */
}

.link-cart {
  font-weight: bold;
}

.catalog-product-compare-index .link-print:hover,
.catalog-product-compare-index .link-print {
  background: url(../../skin/frontend/default/galabigshop/images/i_print.png) left center no-repeat;
  display: inline-block;
  padding: 0 0 0 20px;
  border: 0;
  margin-top: 10px;
}

.link-rss {
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_rss.gif) 0 1px no-repeat;
  padding-left: 18px;
  white-space: nowrap;
}

.btn-remove,
.btn-remove2 {
  display: block;
  width: 20px;
  height: 20px;
  font-size: 0;
  line-height: 0;
  background: url(../../skin/frontend/default/galabigshop/images/icons.png) 0 -639px no-repeat;
  text-indent: -999em;
  overflow: hidden;
}

.btn-remove2:focus,
.btn-remove:focus {
  background: url(../../skin/frontend/default/galabigshop/images/icons.png) 0 -639px no-repeat;
}

.btn-edit {
  display: block;
  width: 11px;
  height: 11px;
  font-size: 0;
  line-height: 0;
  background: url(../../skin/frontend/default/galabigshop/images/btn_edit.gif) 0 0 no-repeat;
  text-indent: -999em;
  overflow: hidden;
  margin-right: 2px;
}

.cards-list dt {
  margin: 5px 0 0;
}

.cards-list .offset {
  padding: 2px 0 2px 20px;
}

.separator {
  margin: 0 0px 0 3px;
}

.divider {
  clear: both;
  display: block;
  font-size: 0;
  line-height: 0;
  height: 1px;
  margin: 10px 0;
  background: #ddd;
  text-indent: -999em;
  overflow: hidden;
}

/* Noscript Notice */
.noscript {
  border: 1px solid #ddd;
  border-width: 0 0 1px;
  background: #ffff90;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  color: #2f2f2f;
}

.noscript .noscript-inner {
  width: 1000px;
  margin: 0 auto;
  padding: 12px 0 12px;
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_notice.gif) 20px 50% no-repeat;
}

.noscript p {
  margin: 0;
}

/* Demo Notice */
.demo-notice {
  margin: 0;
  padding: 6px 10px;
  background: #d75f07;
  font-size: 12px;
  line-height: 1.15;
  text-align: center;
  color: #fff;
}

/* Cookie Notice */
.notice-cookie {
  border-bottom: 1px solid #cfcfcf;
  background: #ffff90;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  color: #2f2f2f;
}

.notice-cookie .notice-inner {
  width: 870px;
  margin: 0 auto;
  padding: 12px 0 12px 80px;
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_notice.gif) 20px 25px no-repeat;
  text-align: left;
}

.notice-cookie .notice-inner p {
  margin: 0 0 10px;
  border: 1px dotted #cccc73;
  padding: 10px;
}

/* ======================================================================================= */
/* Header ================================================================================ */
.header {
  /* padding:10px; border:1px solid #ddd;*/
}

.header .logo {
  float: left;
  text-decoration: none !important;
}

.header .logo strong {
  position: absolute;
  top: -999em;
  left: -999em;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  text-indent: -999em;
  overflow: hidden;
}

.header h1.logo {
  padding: 0;
}

.header .welcome-msg {
  float: right;
  float: left;
}

.header .links {
  margin-bottom: 0;
}

.header .form-search {
  text-align: left;
}

.header .form-search label {
  display: none;
}

.header .form-search .search-autocomplete {
  z-index: 999;
  position: absolute;
  left: 0 !important;
  top: 35px !important;
  z-index: 999;
}

.header .form-search #search_autocomplete_iefix {
  left: 0 !important;
  top: 35px !important;
}

.header .form-search .search-autocomplete ul {
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
}

.header .form-search .search-autocomplete li.selected {
  background: none repeat scroll 0 0 #F7E8DD;
}

.header .form-search .search-autocomplete li {
  border-bottom: 1px solid #DDDDDD;
  cursor: pointer;
  padding: 3px;
}

.header .form-search .search-autocomplete li .amount {
  float: right;
  font-weight: bold;
}

.header .form-language {
  clear: both;
  text-align: right;
  margin-top: 4px;
}

.header-container .top-container {
  clear: both;
  text-align: right;
}

.form-language label {
  display: none;
}

.emarea2 ul.hoz strong {
  font-family: Arial;
}

.icon.f-left {
  margin-right: 5px;
}

.block-cart-top.block .btn-remove,
.block-cart-top.block .btn-edit {
  margin: 0;
  position: absolute;
  top: -5px;
  left: -5px;
}

.block-cart-top.block .btn-edit {
  top: 20px;
  left: 0;
}

/********** < Navigation */
#nav {
  margin: 0;
}

/* All Levels */
#nav li {
  text-align: left;
  position: relative;
}

#nav li.over {
  z-index: 10;
}

#nav li a {
  display: block;
  text-decoration: none;
}

#nav li a:hover {
  text-decoration: none;
}

#nav li a span {
  display: block;
  white-space: normal;
  cursor: pointer;
}

#nav li ul a span {
  white-space: normal;
}

/* 1st Level */
#nav li {
  float: left;
}

#nav li a {
  padding: 15px 20px;
}

#nav li li a:first-child {
  /*padding-left:10px*/
}

/* 2nd Level */
#nav ul,
#nav div {
  position: absolute;
  left: 100%;
}

#nav div ul {
  position: static;
  width: auto;
  border: none;
}

#nav ul.level0 {
  left: 0;
}

/* 3rd+ leven */
#nav ul ul,
#nav ul div {
  top: -10px !important;
}

#nav ul li {
  float: none;
  border: none;
}

#nav ul li.last {
  border-bottom: 0;
}

#nav ul li a {
  float: none;
  padding: 3px 10px;
  font-weight: normal;
}

/* Show menu */
#nav li ul.shown-sub,
#nav li div.shown-sub {
  left: 0;
  z-index: 999;
}

#nav li .shown-sub ul.shown-sub,
#nav li .shown-sub li div.shown-sub {
  left: 100%;
}

.level0, .shown-sub {
  z-index: 99999999 !important;
}

#nav li a.arrow span,
.em_nav a.arrow span {
  background: url(../../skin/frontend/default/galabigshop/images/icon-nav.png) no-repeat scroll center center transparent;
}

.em_nav .nav-right a.arrow span,
.nav-right ul.level0 a.arrow span {
  background: url(../../skin/frontend/default/galabigshop/images/icon-nav-right.png) no-repeat scroll 0 center transparent;
}

.adapt-0 #nav li a.arrow span,
.adapt-0 .em_nav a.arrow span {
  background: url(../../skin/frontend/default/galabigshop/images/icon-nav-drop.png) center center no-repeat !important;
}

/********** Navigation > */
/* ======================================================================================= */
/* Sidebar =============================================================================== */
.sidebar .widget {
  margin-bottom: 20px;
}

.block .block-title a {
  text-decoration: none !important;
}

.block .block-subtitle {
  margin-bottom: 5px;
}

.block .btn-remove,
.block .btn-edit {
  float: right;
  margin-left: 5px;
}

.block .actions a {
  float: left;
}

.block .empty {
  margin-bottom: 0;
}

.block-compare .btn-remove {
  float: left;
  margin: 0;
}

/* Mini Products List */
.block .block-content li.items,
.mini-products-list li {
  padding: 5px 0;
  clear: both;
}

.mini-products-list .product-image {
  float: left;
  border: 0 !important;
  padding: 0;
  margin-right: 10px;
}

.mini-products-list .product-details {
  overflow: hidden;
}

.mini-products-list .product-details h4 {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}

.block-cart .mini-products-list .product-details .product-name,
.block-cart .mini-products-list .product-details .nobr small {
  word-wrap: break-word;
}

.block-cart .mini-products-list .product-details .nobr {
  white-space: normal !important;
}

/* Block: Account */
.block.block-account {
  margin-top: 0px;
  padding: 0px !important;
  background-color: #fff;
  margin-left: 0;
  margin-right: 0;
}

.block-account .block-title {
  margin: 0 !important;
  padding: 16px !important;
  background-color: #4399d4;
  color: #fff;
}

.block-account .block-content {
  padding: 10px !important;
}

.block-account .block-content li {
  padding: 0 0;
}

.block-account .block-content li a {
  display: inline-block;
  text-decoration: none !important;
  padding: 7px 0 !important;
}

.block-account .block-content li strong {
  padding: 7px 0 !important;
}

.block-account .block-title strong span {
  color: #fff !important;
  font-weight: normal !important;
}

.block-account .block-content li.last a {
  border-bottom: 0;
}

.block-account .block-content li.current.last {
  border-bottom: 0;
}

/* Block: Currency Switcher */
.block.block-currency .block-title {
  line-height: 17px;
  padding-right: 10px;
}

.block-currency .block-title span {
  text-transform: uppercase;
  font-size: 10px;
}

.block-currency select {
  /*width:90px; border:1px solid #51504f; background:transparent; font-size:10px; padding:0; ;*/
}

.block.block-currency > div {
  float: left;
  padding: 0;
}

.sidebar .block.block-currency select {
  width: 100%;
}

.box-account.box-info .box {
  display: inline-block;
  min-height: inherit;
  width: 100%;
}

/* Block: Layered Navigation */
/*.block-layered-nav li { padding:3px 0; position:relative;}
.block-layered-nav dt { font-weight:bold; font-family:Arial}
.block-layered-nav .block-subtitle{ padding-bottom:1em;}
.block-layered-nav .btn-remove { position:absolute; right:0; top:6px; }*/
.block-layered-nav .block-subtitle {
  margin-bottom: 0;
  padding: 8px 0 7px;
  clear: both;
  display: none;
}

.block-layered-nav dl {
  margin-bottom: 0;
}

.block-layered-nav dd {
  margin-bottom: 15px;
}

.block-layered-nav dd ol {
  margin-bottom: 0;
}

.block-layered-nav dd li ol {
  padding-left: 10px !important;
}

.block-layered-nav dd.last {
  background: none;
  margin-bottom: 0;
}

.block-layered-nav .currently li {
  position: relative;
  z-index: 1;
  line-height: 1.5;
  padding-right: 15px;
}

.block-layered-nav .currently .label {
  font-weight: bold;
  text-transform: capitalize;
  display: inline-block;
  vertical-align: top;
  margin: 15px 0 0 0;
}

.block-layered-nav .currently .value {
  display: inline-block;
  vertical-align: top;
  margin: 10px 0 0 0;
}

.block-layered-nav .currently .btn-remove {
  position: absolute;
  right: 0;
  top: 15px;
}

/* Block: Cart */
.block-cart .actions {
  padding-bottom: 10px;
}

.block-cart .actions .paypal-logo {
  float: left;
  width: 100%;
  margin: 3px 0 0;
  text-align: right;
}

.block-cart .actions .paypal-logo .paypal-or {
  clear: both;
  display: block;
  padding: 0 55px 5px 0;
}

/* Block: Wishlist */
.block-wishlist .block-content li.item {
  padding: 12px 0 20px;
}

#wishlist-table input {
  clear: left;
  display: block;
  margin: 5px 0;
}

#wishlist-table th {
  white-space: normal !important;
}

#wishlist-table .cart-cell p {
  clear: left;
  float: left;
  margin: 5px 0;
  width: 100%;
}

#wishlist-table .cart-cell .price-box p {
  margin-top: 0px;
}

#wishlist-table .cart-cell .price-box {
  display: inline-block;
  margin-top: 2px;
}

#wishlist-table .cart-cell p.old-price {
  margin-top: 0;
}

#wishlist-table .cart-cell {
  display: inline;
}

#wishlist-table td .btn-remove2 {
  margin: 5px auto;
}

.block-wishlist .block-content {
  margin-bottom: 15px;
}

.block-wishlist #wishlist-sidebar {
  margin-bottom: 0;
}

.block-wishlist li .product-name {
  margin-right: 20px;
}

.block.block-wishlist .price-box {
  padding-top: 5px;
}

.block.block-wishlist .link-cart {
  margin-top: 7px;
}

.block-wishlist li.item {
  text-align: center;
}

.block-wishlist li.item a.product-image {
  padding-right: 0;
  margin-right: 10px;
}

.block-wishlist .product-details {
  text-align: left;
  margin: 0;
  overflow: hidden;
}

.block-wishlist .product-details .product-name {
  margin-bottom: 0;
}

.block-wishlist .block-subtitle {
  margin-bottom: 10px;
}

/* Block: Related */
.block-related .block-content li.item {
  position: relative;
}

.block-related input.checkbox {
  float: left;
  position: absolute;
  top: 15px;
  left: 0;
  z-index: 1;
}

.block-related .product .product-image {
  float: left;
  padding: 0;
  margin: 0 10px 0 0;
}

.block-related .product .product-details .product-name {
  margin-bottom: 10px;
}

.block-related .block-content li.item .price-box {
  padding: 0 0 10px;
}

.adapt-1 .em-sidebar .block-related .product .product-details {
  clear: both;
  margin-top: 10px;
  float: left;
}

/* Block: Compare Products */
.block.block-compare .block-content li.item {
  padding: 10px 0;
}

.block.block-compare .block-content li.item:first-child {
  padding: 3px 0 10px;
}

.block-compare li .product-name {
  margin: 0 0 0 30px;
}

.block.block-compare li.even {
  background-color: transparent;
}

.block-compare ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.block-compare .actions button.button {
  float: left;
  margin: 0 10px 0 0;
}

#checkout-step-billing button.button span, .block-compare .actions button.button span {
  color: #4399d4;
}

.block-compare .actions a {
  margin-top: 7px;
  float: right;
  margin-bottom: 10px;
}

.block-compare .actions {
  margin: 10px 0 0;
}

.compare-table td .price-box {
  margin-bottom: 17px;
}

.compare-table td .price-box p {
  float: none;
}

.compare-table td p {
  margin-bottom: 0;
}

.compare-table td button.button {
  margin: 10px 10px 0 0;
}

.compare-table td .add-to-links {
  margin: 10px 0 0;
  float: left;
  clear: none;
}

.compare-table td .add-to-links li {
  border: 0;
}

.compare-table td .product-image {
  margin: 0 auto 20px !important;
  display: inline-block;
}

.compare-table td .btn-remove {
  display: inline-block;
}

.compare-table th {
  color: #303030;
  text-transform: capitalize;
}

.compare-table thead td.a-right {
  text-align: center !important;
}

.compare-table thead td {
  padding-bottom: 0;
}

.page-popup .buttons-set {
  padding-right: 0;
}

.page-popup .buttons-set button.button {
  float: right;
}

/* Block: Recently Viewed */
.block-compared ol p.product-name,
.block-viewed ol p.product-name {
  margin-bottom: 0;
}

/* Block: Recently Compared */
/* Block: Poll */
.block-poll input.radio {
  float: left;
  margin: 1px -18px 0 0;
}

.block-poll .label {
  display: block;
  margin-left: 18px;
}

.block-poll li {
  padding: 6px 0;
}

.block-poll .actions {
  margin: 5px auto 0;
}

.block-poll .answer {
  font-weight: bold;
}

.block-poll .votes {
  float: right;
  margin-left: 10px;
}

/* Block: Subscribe */
/* Block: Reorder */
.block-reorder li {
  padding: 5px 0;
}

.block-reorder input.checkbox {
  float: left;
  margin: 4px 10px 0 0;
}

.block-reorder .product-name {
  margin-left: 20px;
  margin-bottom: 0;
}

.block-reorder .actions a {
  float: left;
  clear: both;
  margin-top: 10px;
}

.block-reorder .actions a .arrow-box {
  display: none;
}

.block-reorder .actions button.button {
  margin-right: 20px;
  float: left;
}

/* Block: Banner */
.block-banner {
  float: left;
}

.block-banner .block-content {
  text-align: center;
}

/* Block: Login */
.block-login label {
  font-weight: bold;
  color: #666;
}

.block-login input.input-text {
  display: block;
  width: 167px;
  margin: 3px 0;
}

/* Paypal */
.sidebar .paypal-logo {
  display: none;
  margin: 10px 0;
  text-align: center;
}

.sidebar .paypal-logo a {
  float: none;
}

/* ======================================================================================= */
/* Category Page ========================================================================= */
.sendfriend-product-send .page-title,
.tag-product-list .page-title,
.tag-list-index .page-title,
.catalogsearch-result-index .page-title,
.category-title {
  border: 0;
  margin: 0 0 10px;
}

.category-image {
  width: 25%;
  overflow: hidden;
  margin: 0 0 40px;
}

.category-image img {
  width: 100%;
}

.category-description {
  padding: 5px 0;
  margin: 0 0 8px 0;
}

.add-to-links {
  clear: both;
}

.add-to-links li {
  float: left;
}

.add-to-links .separator {
  display: none;
}

.add-to-links li .separator {
  display: none;
}

/* View Type: Grid */
.products-grid {
  position: relative;
}

.products-grid.last {
  border-bottom: 0;
}

.products-grid li.item {
  float: left;
  /*width:138px;*/
  /*padding:0px 0px 20px; */
}

.products-grid .price-box {
  margin: 0 0 5px;
  float: left;
}

.products-grid .price-box .special-price {
  margin: 0px;
}

.products-grid .price-box .minimal-price {
  margin: 0px;
}

.products-grid .ratings {
  float: right;
  margin: 8px 0;
}

.products-grid .ratings .rating-links {
  display: none;
}

.products-grid .ratings .rating-box {
  float: none;
  display: block;
  margin: 0;
}

.products-grid .ratings .amount {
  text-align: center;
  display: none;
}

.col2-left-layout .products-grid,
.col2-right-layout .products-grid {
  width: 632px;
  margin: 0 auto;
}

.col1-layout .products-grid {
  width: 790px;
  margin: 0 auto;
}

.products-grid .btn-cart {
  float: left;
  clear: both;
}

.products-grid .add-to-links {
  float: right;
  margin: 0 -20px 0 0;
  clear: none;
}

.products-grid .add-to-links li {
  display: inline-block;
  float: none;
}

.products-grid .btn-cart {
  margin: 0 0 10px;
}

/* View Type: List */
.products-list li.item {
  padding: 10px 0;
  position: relative;
}

.products-list .product-image {
  float: left;
  margin: 0 10px 0 0;
}

.products-list .product-shop {
  overflow: hidden;
}

.products-list .price-box {
  margin: 0 0 6px;
  clear: both;
}

.products-list .price-box .special-price {
  margin: 0px;
  white-space: nowrap;
}

.products-list .price-box .minimal-price {
  margin: 0px;
}

.products-list .availability {
  margin: 3px 0 0;
  display: block;
}

.products-list .desc {
  clear: both;
  padding: 0;
  margin: 0 0 7px;
  line-height: 1.35;
}

.products-list .add-to-links {
  float: left;
  margin: 0;
  padding: 0;
  clear: both;
}

.products-list .add-to-links li {
  display: inline;
}

.products-list p.btn-cart {
  float: left;
  margin-bottom: 0;
}

.products-list .ratings {
  margin: 0 0 15px;
}

.em-sidebar .products-list .product-image {
  margin: 0 10px 10px 0;
}

.em-sidebar .products-list .ratings {
  margin: 0 0 4px;
}

.em-sidebar .products-list .product-name {
  margin: 0 0 10px;
}

.products-list .button.btn-cart {
  margin: 0 0 10px;
}

.category-products .products-list .product-image {
  margin: 0;
}

/* ======================================================================================= */
/* Product View ========================================================================== */
/* Rating */
.no-rating,
.ratings {
  margin: 0px 0 5px;
  overflow: hidden;
}

.tags {
  margin: 0px 0 5px;
  overflow: hidden;
}

.ratings strong {
  float: left;
  margin: 1px 3px 0 0;
}

.ratings .rating-links {
  margin-bottom: 0;
}

.products-list .ratings .rating-links {
  display: none;
}

.ratings .rating-links .separator {
  margin: 0 7px;
}

.rating-box {
  width: 65px;
  height: 12px;
  font-size: 0;
  line-height: 0;
  background: url(../../skin/frontend/default/galabigshop/images/bkg_rating.png) 0 100% repeat-x;
  text-indent: -999em;
  overflow: hidden;
}

.rating-box .rating {
  float: left;
  height: 12px;
  background: url(../../skin/frontend/default/galabigshop/images/bkg_rating.png) 0 0 repeat-x;
}

.ratings .rating-box {
  float: left;
  margin-right: 3px;
}

.ratings .amount {
  padding-top: 2px;
  vertical-align: top;
}

.ratings-table th, .ratings-table td {
  padding: 5px 0 6px;
  text-transform: capitalize;
}

.ratings-table th {
  padding-right: 18px;
}

.product-view .ratings {
  /*width:100%*/
}

/* Availability */
.availability {
  margin: 0;
  padding: 5px 0;
}

.availability-only {
  margin: 0 0 7px;
}

.availability-only a {
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_availability_only_arrow.gif) 100% 0 no-repeat;
  cursor: pointer;
  padding-right: 15px;
}

.availability-only .expanded {
  background-position: 100% -15px;
}

.availability-only-details {
  margin: 0 0 7px;
}

.availability-only-details th {
  background: #f2f2f2;
  font-size: 10px;
  padding: 0 8px;
}

.availability-only-details td {
  border-bottom: 1px solid #ddd;
  font-size: 11px;
  padding: 2px 8px 1px;
}

.product-view .availability.in-stock {
  float: left;
  clear: both;
  padding: 8px 0 18px;
}

/* Email to a Friend */
.quickshop-index-view .email-friend {
  padding-top: 0;
  margin-top: -3px;
}

.email-friend {
  margin-bottom: 10px;
  background: url(../../skin/frontend/default/galabigshop/images/icon_email.png) no-repeat left center;
  padding-left: 25px;
}

/* Alerts */
/********** < Product Prices */
.price {
  white-space: nowrap !important;
}

.price-box .price {
  color: #4399d4;
}

/* Regular price */
.regular-price .price {
  color: #4399d4;
}

/* Old price */
.old-price {
  display: inline-block;
  margin: 0 4px 0 0;
}

.old-price .price-label {
  white-space: nowrap;
  display: none;
}

.old-price .price {
  text-decoration: line-through;
}

/* Special price */
.special-price {
  display: inline-block;
  margin: 0;
}

.special-price .price-label {
  font-weight: normal;
  white-space: nowrap;
  display: none;
}

/* Minimal price (as low as) */
.minimal-price .price-label {
  font-weight: normal;
  white-space: nowrap;
}

.minimal-price-link {
  display: block;
}

/* Excluding tax */
.price-excluding-tax {
  display: block;
}

.price-excluding-tax .label {
  white-space: nowrap;
}

.price-excluding-tax .price {
  font-weight: normal;
}

/* Including tax */
.price-including-tax {
  display: block;
}

.price-including-tax .label {
  white-space: nowrap;
}

.price-including-tax .price {
  font-weight: bold;
}

/* Configured price */
.configured-price .price-label {
  font-weight: bold;
  white-space: nowrap;
}

.configured-price .price {
  font-weight: bold;
}

/* FPT */
.weee {
  display: block;
  font-size: 11px;
  color: #444;
}

.weee .price {
  font-size: 11px;
  font-weight: normal;
}

/* Excl tax (for order tables) */
.price-excl-tax {
  display: block;
}

.my-account .data-table .price-excl-tax {
  display: inline-block;
}

.price-excl-tax .label {
  display: block;
  white-space: nowrap;
}

.price-excl-tax .price {
  display: block;
}

/* Incl tax (for order tables) */
.price-incl-tax {
  display: block;
}

.price-incl-tax .label {
  display: block;
  white-space: nowrap;
}

.price-incl-tax .price {
  display: block;
  font-weight: bold;
}

/* Price range */
.price-from .price-label {
  font-weight: bold;
  white-space: nowrap;
}

.price-to .price-label {
  font-weight: bold;
  white-space: nowrap;
}

/* Price notice next to the options */
.price-notice {
  padding-left: 10px;
}

.price-notice .price {
  font-weight: bold;
}

/* Price as configured */
.price-as-configured {
  margin: 0 0 10px;
}

.price-as-configured .price-label {
  font-weight: bold;
  white-space: nowrap;
}

.price-box-bundle {
  display: inline-block;
  width: 100%;
}

/********** Product Prices > */
/* Tier Prices */
.tier-prices .price {
  font-weight: bold;
}

/* Add to Links */
.std ul.add-to-links {
  list-style: none;
  padding: 0;
}

.add-to-links .separator {
  margin-left: 0;
}

/* Add to Cart */
.add-to-cart label {
  float: left;
  font-size: 10px;
  font-weight: bold;
  margin: 0px 10px 0 0;
  text-transform: capitalize;
}

.add-to-cart .qty {
  float: left;
  width: 30px !important;
  clear: both;
  margin-top: 10px;
}

.add-to-cart button.button {
  float: left;
  margin-left: 5px;
}

.add-to-cart .paypal-logo {
  clear: left;
  text-align: right;
}

.add-to-cart .paypal-logo .paypal-or {
  clear: both;
  display: block;
  margin: 5px 60px 5px 0;
}

.product-view .add-to-cart .paypal-logo {
  margin: 0;
}

.product-view .add-to-cart button.button {
  clear: both;
  margin: 10px 0;
}

/* Add to Links + Add to Cart */
.add-to-box {
  /*display:inline-block;*/
}

.add-to-box .or {
  float: left;
  margin: 0 10px;
  display: none;
}

.add-to-box .add-to-links {
  float: left;
}

.product-view .product-options-bottom .add-to-cart div,
.product-view .add-to-box .add-to-cart div {
  padding-bottom: 10px;
}

.product-view .add-to-box .add-to-links {
  margin-top: 5px;
}

/* Product Images */
.col3-layout .product-view .product-img-box {
  float: none;
  margin: 0 auto;
}

.product-view .product-img-box .product-image {
  margin: 0 0 35px;
  text-align: left;
  float: left;
  position: relative;
  z-index: 2;
  max-width: 100%;
}

.product-view .product-img-box .product-image-zoom {
  position: relative;
  overflow: hidden;
  z-index: 9;
}

.product-view .product-img-box .product-image-zoom img {
  position: absolute;
  left: 0;
  top: 0;
  cursor: move;
}

.product-view .product-img-box .zoom-notice {
  text-align: center;
  /*float:left; display:block;*/
  clear: both;
  /*width:320px*/
}

.product-view .product-img-box .zoom {
  position: relative;
  z-index: 9;
  height: 2px;
  margin: 0 auto 45px;
  padding: 0 20px;
  cursor: pointer;
  float: left;
  clear: left;
  width: 450px;
  /*background:url(../../skin/frontend/default/galabigshop/images/slider_bg.gif) 50% 50% no-repeat;*/
}

.adapt-2 .product-view .product-img-box .zoom {
  width: 370px;
}

.adapt-2 .three-columns .product-view .product-img-box .zoom {
  width: 410px;
}

.adapt-1 .three-columns .product-view .product-img-box .zoom {
  width: 290px;
}

.product-view .product-img-box .zoom.disabled {
  -moz-opacity: .3;
  -webkit-opacity: .3;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  /*IE8*/
  opacity: .3;
}

.product-view .product-img-box .zoom #track {
  position: relative;
  height: 2px;
}

.product-view .product-img-box .zoom #handle {
  position: absolute;
  left: 0;
  top: -10px;
  width: 9px;
  height: 22px;
  background: url(../../skin/frontend/default/galabigshop/images/magnifier_handle.gif) 0 0 no-repeat;
}

.product-view .product-img-box .zoom .btn-zoom-out {
  position: absolute;
  left: 0;
  top: -8px;
}

.product-view .product-img-box .zoom .btn-zoom-in {
  position: absolute;
  right: 0;
  top: -8px;
}

.product-view .product-img-box .more-views h2 {
  margin-bottom: 0;
  display: none;
}

.product-view .product-img-box .more-views ul {
  margin: 0;
}

.product-view .product-img-box .more-views li {
  float: left;
  overflow: hidden;
}

.product-image-popup {
  margin: 0 auto;
}

.product-image-popup .buttons-set {
  float: right;
  clear: none;
  border: 0;
  margin: 0;
  padding: 0;
}

.product-image-popup .nav {
  margin: 0 100px;
  text-align: center;
}

.product-image-popup .image {
  display: block;
  margin: 20px;
}

/* Product Shop */
.catalog-product-view.adapt-0 .product-view .product-img-box {
  display: inline-block;
  float: left;
  margin: 0 0 0 -18px;
  padding-bottom: 14px;
  position: relative;
  width: 50%;
  z-index: 2;
}

.catalog-product-view.adapt-0 .product-view .product-shop {
  float: left;
  margin-left: 2%;
  padding: 15px 0;
  width: 48%;
}

.adapt-1 .quickshop-index-view .product-view .product-shop {
  float: left;
  clear: both;
}

.product-view .product-shop .product-shop-wrapper {
  position: relative;
}

.three-columns .product-view .product-shop {
  width: 100%;
  margin-left: 0;
  float: left;
}

.adapt-0 .product-view .product-shop {
  padding-left: 0;
}

.one-column .has-related.product-shop {
  position: relative;
}

.one-column .product-view .product-shop.has-related .product-shop-wrapper {
  float: left;
  width: 55%;
  margin-right: 5%;
}

.adapt-2 .one-column .product-view .product-shop.has-related .product-shop-wrapper {
  width: 50%;
}

.adapt-1 .one-column .has-related.product-shop {
  clear: both;
}

.adapt-0 .one-column .product-view .product-shop.has-related .product-shop-wrapper,
.adapt-0 .one-column .has-related.product-shop {
  width: 100%;
}

.product-view .product-shop .item-options dd {
  padding-left: 0;
}

/* Product Options */
.product-pricing {
  overflow: hidden;
  width: 100%;
}

.product-options {
  padding: 10px 0;
  overflow: hidden;
}

.product-options dt label {
  font-weight: normal;
}

.product-options dt .qty-holder {
  float: right;
}

.product-options dt .qty-holder label {
  vertical-align: middle;
}

.product-options dt .qty-disabled {
  background: none;
  border: 0;
  padding: 3px;
}

.product-options dd {
  margin: 4px 0;
}

.product-options dl {
  margin-bottom: 0;
}

.product-options dd input.input-text {
  background: none;
}

.product-options dd input.datetime-picker {
  width: 150px;
}

.product-options dd .time-picker {
  display: -moz-inline-box;
  display: inline-block;
  padding: 2px 0;
  vertical-align: middle;
}

.product-options dd textarea {
  width: 98%;
  height: 8em;
}

.product-options dd .input-box {
  margin-bottom: 5px;
}

.product-options dd select {
  width: 100%;
  margin-bottom: 5px;
  height: auto;
}

.product-options .options-list li {
  margin: 5px 0;
}

.product-options .options-list input.radio {
  float: left;
  margin: 1px -18px 0 1px;
}

.product-options .options-list input.checkbox {
  float: left;
  margin: 2px -20px 0 0;
}

.product-options .options-list .label {
  display: block;
  margin-left: 20px;
}

.product-options ul.validation-failed {
  padding: 0 7px;
}

.product-options p.required {
  padding: 5px 0 0;
  margin-bottom: 0;
}

.product-options-bottom {
  padding: 0;
  /*border:1px solid #ddd; border-top:0;*/
}

.product-options-bottom .price-box {
  margin: 10px 0;
}

.product-options-bottom .add-to-links {
  overflow: hidden;
}

/* Grouped Product */
.product-view .grouped-items-table {
  margin-bottom: 20px;
}

.product-view .product-shop .grouped-items-table td {
  vertical-align: middle;
}

/* Block: Description */
.product-view .box-collateral {
  margin: 0px 0 30px;
  padding-top: 0px;
}

.product-view .tab_content .box-collateral {
  margin: 0px 0 30px;
}

.product-view .product-collateral.tab_content {
  float: left;
  width: 100%;
}

/* Block: Additional */
/* Block: Upsell */
.product-view .box-up-sell {
  clear: both;
  padding: 0px 0 30px;
  position: relative;
  margin-bottom: 0;
}

.product-view .box-up-sell .box-collateral h2 {
  margin-bottom: 22px;
}

.ui-tabs .tab_content .box-up-sell {
  padding-top: 27px;
}

/*.adapt-2 .three-columns .product-view .box-up-sell li.item,
.adapt-2 .product-view .box-up-sell li.item{width:218px}
.adapt-1 .product-view .box-up-sell li.item{width:219px;}
.adapt-0 .product-view .box-up-sell li.item{width:215px}
.one-column .product-view .box-up-sell li.item{width:220px;}
.three-columns .product-view .box-up-sell li.item{width:180px;}*/
.product-view .box-up-sell li.item button.button {
  margin-bottom: 0;
}

.product-view .box-up-sell li.item .link-wishlist {
  margin-right: 5px;
}

.product-view .box-up-sell li.item .product-image {
  display: block;
}

.product-view .box-up-sell li.item .price-box {
  overflow: hidden;
}

.product-view .box-up-sell li.item .actions {
  overflow: hidden;
  display: inline-block;
  display: none;
}

/* Block: Tags & box-tags*/
.block-tags ul,
.block-tags li {
  display: inline;
}

.block-tags ul {
  margin-bottom: 0;
  padding-bottom: 15px;
  display: block;
}

.my-tag-edit {
  position: relative;
  float: left;
}

.my-tag-edit .btn-remove {
  position: absolute;
  right: -35px;
  top: 0;
}

.product-view .box-tags h3 {
  font-size: 12px;
  font-weight: normal;
  padding: 0;
}

.product-view .box-tags .form-add p {
  clear: both;
}

.product-view .product-tags li {
  float: left;
  padding-right: 20px;
  padding-bottom: 5px;
  white-space: nowrap;
}

.product-view .product-tags li a {
  text-transform: lowercase;
}

.product-view .form-add {
  /*padding-top:10px;*/
}

.product-view .box-tags .form-add {
  border-top: 0;
  margin-top: 0;
  clear: both;
  overflow: hidden;
  width: 100%;
}

.product-view .box-tags .form-add label {
  display: block;
  margin: 0;
  text-transform: capitalize;
  clear: both;
  padding: 0px 0 7px;
}

.product-view .box-tags .form-add .input-box {
  width: 67%;
  min-height: 26px;
  clear: both;
  margin: 0 10px 0 0;
  float: left;
}

.product-view .box-tags .form-add input.input-text {
  width: 97% !important;
  margin: 0 0 5px;
  padding: 7px 8px !important;
}

.adapt-0 .product-view .box-tags .form-add input.input-text {
  width: 88% !important;
}

.product-view .box-tags .form-add button.button span span {
  padding: 5px 20px 6px;
}

p.note {
  padding-top: 7px;
}

#review-form .data-table {
  width: 67%;
  background: none;
}

.adapt-1 .three-columns #review-form .data-table {
  width: 100%;
}

.adapt-0 #review-form .data-table {
  width: 100%;
}

#review-form .data-table th, #review-form .data-table td {
  border: none;
  text-transform: capitalize;
  text-align: center;
}

#review-form .data-table th:first-child {
  text-align: left;
}

#review-form h4 {
  text-transform: capitalize;
  margin-top: 12px;
  margin-bottom: 7px;
}

/* Block: Reviews */
.box-reviews dt:first-child {
  padding-top: 0;
  margin-top: 0;
}

.box-reviews dt {
  font-weight: normal;
  padding-bottom: 0px;
  margin: 0;
  padding-top: 15px;
}

.box-reviews dt a {
  display: inline;
  font-weight: 600;
}

.product-collateral.tab_content .box-reviews {
  margin-top: 0 !important;
}

.box-reviews .review-list {
  float: left;
  margin-right: 5%;
  width: 48%;
}

.box-reviews h2 {
  margin: 0;
  padding: 0;
}

.box-reviews dl {
  margin: 0 0 36px 0;
}

.box-reviews dd {
  margin-bottom: 19px;
}

.box-reviews dd p small {
  font-style: italic;
}

.box-reviews .form-add {
  margin-bottom: 40px;
}

.box-reviews .form-add .form-list input.input-text {
  width: 65%;
}

.box-reviews .form-add .form-list textarea {
  width: 65%;
  height: 93px;
}

.box-reviews .form-add h3 {
  padding-top: 0px;
}

.box-reviews .form-add h4 {
  margin: 33px 0 10px;
  padding: 5px 0;
  text-transform: uppercase;
}

.box-reviews .buttons-set {
  margin-top: 6px;
  margin-bottom: 0px;
}

.box-reviews button.button span span {
  padding: 7px 15px;
}

.grid_12.grid_content .box-reviews .review-list {
  width: 100%;
  margin-right: 0;
}

.grid_12.grid_content .box-reviews .form-add {
  width: 100%;
  margin-right: 0;
}

/* Send a Friend */
.send-friend {
  overflow: hidden;
}

/* ======================================================================================= */
/*Contact =================================*/
.contacts-index-index .fieldset .legend {
  display: none;
}

.contacts-index-index .grid_content .form-list input.input-text,
.contacts-index-index .grid_content .form-list li.wide textarea {
  width: 420px;
}

.contacts-index-index .grid_content .buttons-set {
  float: left;
  width: 100%;
  margin-top: 20px;
}

.contacts-index-index .grid_content button.button {
  margin-right: 20px;
}

.contacts-index-index .grid_content button.button span span {
  text-transform: uppercase;
  padding: 5px 33px;
}

.contacts-index-index .grid_content .buttons-set p.required {
  float: left;
  clear: none;
  margin-top: 3px;
}

.adapt-0.contacts-index-index .grid_content .form-list input.input-text,
.adapt-0.contacts-index-index .grid_content .form-list li.wide textarea {
  width: 280px;
}

/* Content Styles ================================================================= */
/* Product Tags */
.tags-list li {
  display: inline;
  padding-right: 20px;
}

/* Advanced Search */
/* CMS Home Page */
.cms-index-index .secondary ul {
  padding-left: 0;
}

.catalogsearch-advanced-index .fieldset.advanced-search {
  padding-bottom: 0;
  width: 100%;
}

.catalogsearch-advanced-index .buttons-set {
  float: left;
  margin-top: 20px;
  padding-bottom: 50px;
}

.sales-guest-form .form-alt .input-box {
  margin-bottom: 10px;
  clear: both;
  float: left;
  width: 300px !important;
  text-align: left !important;
}

.sales-guest-form .form-alt .input-box input {
  width: 280px !important;
}

.sales-guest-form .form-alt select {
  width: 297px;
}

/* Sitemap */
.page-sitemap .links {
  text-align: right;
  margin: 0 8px 0 0;
}

.page-sitemap .links a {
  text-decoration: none;
  position: relative;
}

.page-sitemap .links a:hover {
  text-decoration: underline;
}

.page-sitemap .sitemap {
  margin: 12px 0;
}

.page-sitemap .sitemap li {
  margin: 3px 0;
}

.page-sitemap .sitemap li.level-0 {
  margin: 10px 0 0;
  font-weight: bold;
}

/* RSS */
.rss-title h1 {
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/i_rss-big.png) 0 4px no-repeat;
  padding-left: 27px;
}

.rss-table .link-rss {
  display: block;
  line-height: 1.35;
  background-position: 0 2px;
}

/* ======================================================================================= */
/*quickshop*/
body.quickshop-index-view .product-options-bottom {
  padding-bottom: 10px;
  overflow: hidden;
}

body.quickshop-index-view .add-to-links {
  overflow: hidden;
  margin-bottom: 0;
}

body.quickshop-index-view .product-view .add-to-box {
  margin-top: 10px;
}

body.quickshop-index-view .product-view .no-rating {
  width: 100%;
}

/* Shopping Cart ========================================================================= */
.cart .shipping-form p {
  margin: 0;
  padding-bottom: 0px;
}

/* Checkout Types */
.checkout-onepage-index .block-cart-top .btn-remove,
.checkout-multishipping-addresses .block-cart-top .btn-remove,
.checkout-multishipping-shipping .block-cart-top .btn-remove,
.checkout-multishipping-billing .block-cart-top .btn-remove,
.checkout-multishipping-overview .block-cart-top .btn-remove {
  display: none;
}

.opc .buttons-set {
  margin-top: 0;
}

.opc .buttons-set p.required {
  margin-bottom: 15px;
}

.opc .form-list .field {
  margin-right: 10px;
}

.opc .form-list li.wide .input-box {
  margin-bottom: 0px;
}

.opc .form-list li.wide input.input-text {
  width: 592px;
}

.checkout-multishipping-address-newshipping .form-list li.wide .input-text {
  margin-bottom: 10px;
}

.checkout-multishipping-address-newshipping .buttons-set p.required {
  margin-bottom: 15px;
}

.checkout-multishipping-address-newshipping .form-list li.control {
  padding-top: 10px;
}

.cart .checkout-types {
  margin: 0;
  padding: 13px 20px 0;
}

.cart .page-title .checkout-types {
  display: none;
}

.cart .title-buttons .checkout-types li {
  float: left;
  margin: 0 0 5px 5px;
}

.cart .checkout-types .paypal-or {
  margin: 0 8px;
  line-height: 2.3;
}

.cart .totals .checkout-types .paypal-or {
  clear: both;
  display: block;
  padding: 3px 0 8px 0;
  line-height: 1.0;
  font-size: 11px;
}

#checkout-step-login .col-2 .buttons-set button.button {
  clear: both;
  margin-top: 0px;
  margin-right: 20px;
}

#checkout-step-login .col-1 .buttons-set {
  clear: left;
  margin-top: 30px;
}

#checkout-step-login .col-2 p.required {
  float: right;
  clear: none;
  margin-top: 20px;
}

#checkout-step-billing {
  /*padding: 0 0 50px;*/
  padding: 30px 20px 40px;
}

#review-buttons-container.buttons-set {
  position: relative;
  padding: 0 20px;
}

#review-buttons-container.buttons-set .f-left {
  margin: 0 0 20px;
  clear: both;
  float: right !important;
  min-width: 264px;
}

#review-buttons-container .please-wait {
  float: right;
  clear: both;
  margin-bottom: 10px;
}

#checkout-step-billing .form-list li.control {
  margin-top: 4px;
  float: left;
  clear: both;
}

#billing-new-address-form li.control {
  margin-top: 10px !important;
}

#checkout-step-shipping .form-list li.control {
  margin-top: 10px;
}

#shipping-new-address-form ul {
  margin-bottom: 0;
}

.adapt-0 #review-buttons-container.buttons-set button.button span span,
.adapt-0 #review-buttons-container.buttons-set .f-left {
  min-width: 20px;
}

.step #review-buttons-container.buttons-set button.btn-checkout span span {
  min-width: 0 !important;
}

#review-buttons-container.buttons-set .f-left a {
  background: none;
}

/* Shopping Cart Table */
.cart-table .item-msg {
  font-size: 10px;
}

.cart-table tfoot td {
  padding: 15px 20px 10px;
  border: none;
}

.cart-table tfoot td button.button {
  float: right;
  margin-right: 20px;
  margin-bottom: 5px;
}

/* Shopping Cart Collateral boxes */
.crosssell h2 {
  padding-right: 75px;
}

.cart .cart-collaterals {
  margin: 60px 0 0;
  padding-top: 0;
}

.cart .cart-collaterals select {
  width: 99.9%;
}

.cart .cart-collaterals .col2-set {
  float: left;
  width: 100%;
  padding-bottom: 0px;
}

.cart-collaterals .col2-set .col-1,
.cart-collaterals .col2-set .col-2 {
  padding: 0;
  width: 100%;
  float: left;
}

.cart-collaterals .coupon-shipping {
  width: 67%;
  float: left;
}

.cart-collaterals .shipping,
.cart-collaterals .discount {
  width: 47%;
  float: left;
  margin-right: 3%;
}

.cart .cart-collaterals .checkout-types a {
  float: left;
  margin-top: 6px;
}

.cart .crosssell {
  margin: 60px 0;
  overflow: hidden;
  padding: 0;
  float: left;
  clear: both;
  width: 100%;
  position: relative;
}

.cart .crosssell .product-image {
  display: block;
  margin: 0;
}

.cart .crosssell .product-details .actions {
  display: inline-block;
}

.cart .crosssell .price-box {
  /*margin:3px 0 10px;*/
}

.cart .crosssell li.item {
  float: left;
}

.cart .crosssell .in-stock {
  padding-bottom: 10px;
}

.cart .crosssell button.button {
  margin-bottom: 5px;
  display: none;
}

.cart .crosssell ul.add-to-links {
  display: none;
}

/*.grid_12.grid_content .product-view .box-up-sell li.item{width:540px}

.grid_24.grid_content .crosssell li.item{width:347px}
.adapt-2 .grid_24.grid_content .crosssell li.item{width:294px;  padding-right:20px}
.adapt-1 .grid_24.grid_content .crosssell li.item{width:331px; padding-right:20px}
.adapt-0 .grid_24.grid_content .crosssell li.item{width:300px; padding-right:0px}*/
/* Discount Codes & Estimate Shipping and Tax Boxes */
.cart .discount label {
  display: block;
  margin: 7px 0 9px;
}

.cart-collaterals .discount .discount-form,
.cart .shipping .shipping-form {
  padding: 0 20px;
}

/* Shopping Cart Totals */
.cart .totals {
  float: left;
  padding-bottom: 35px;
  width: 33%;
}

.cart .totals table td {
  padding: 4px 0 5px;
}

.cart .totals table td.a-right {
  padding-right: 20px;
}

.cart .totals table td:first-child {
  padding-right: 10px;
  text-align: left !important;
}

.cart .totals table th {
  padding: 5px;
}

#shopping-cart-totals-table {
  width: 100%;
}

#shopping-cart-totals-table td {
  padding: 3px 20px;
  vertical-align: baseline;
}

/* Options Tool Tip */
.item-options dt {
  font-weight: bold;
  font-style: italic;
}

.item-options dd {
  padding-left: 10px;
}

#top_cart .truncated {
  padding-top: 0;
}

.truncated {
  cursor: help;
  padding-top: 7px;
  float: left;
  /*clear:both;*/
  width: 100%;
}

.truncated a.dots {
  cursor: help;
}

.truncated a.details {
  cursor: help;
}

.truncated .truncated_full_value {
  position: relative;
  z-index: 999;
}

.truncated .truncated_full_value .item-options {
  position: absolute;
  display: none;
  z-index: 999;
  width: 145px;
  padding: 5px;
  border: 1px solid #ddd;
  background-color: #f6f6f6;
}

.truncated .truncated_full_value.show .item-options {
  display: block;
}

.truncated .truncated_full_value .item-options > p {
  font-weight: bold;
  text-transform: uppercase;
}

.truncated .show .item-options {
  top: 18px;
  left: 0;
}

.col-left .truncated .show .item-options {
  left: 30px;
  top: 15px;
}

.col-right .truncated .show .item-options {
  left: 0px;
  top: 15px;
  margin-left: -100px;
}

/* ======================================================================================= */
/* Checkout ============================================================================== */
/********** < Common Checkout Styles */
/* Shipping and Payment methods */
.sp-methods {
  margin: 0;
}

.sp-methods dt {
  font-weight: normal;
  /*line-height:24px*/
}

#co-payment-form dt input.radio,
.sp-methods dt input.radio {
  margin-top: -3px;
}

.sp-methods input.radio {
  margin-top: -3px;
}

.sp-methods select.month {
  margin-right: 15px;
  width: 167px;
}

.sp-methods select.year {
  width: 166px;
}

#co-payment-form .form-list .v-fix select.month,
.opc .sp-methods .form-list select.month {
  margin-right: 10px;
  width: 110px !important;
}

#co-payment-form .form-list .v-fix select.year,
.opc .sp-methods .form-list select.year {
  width: 110px !important;
}

#opc-shipping_method .sp-methods dt {
  float: left;
  margin-right: 7px;
}

#opc-shipping_method .sp-methods dd,
#opc-shipping_method .sp-methods dd ul {
  /*line-height:24px*/
  margin-bottom: 0;
}

#opc-shipping_method .buttons-set {
  margin-top: 16px;
}

#opc-shipping_method #onepage-checkout-shipping-method-additional-load {
  float: left;
  padding: 0 0 10px;
  clear: both;
}

.sp-methods .checkmo-list li {
  margin: 0 0 5px;
}

.sp-methods .checkmo-list label {
  width: 135px;
  padding-right: 10px;
  text-align: right;
}

.sp-methods .checkmo-list address {
  float: left;
}

.sp-methods .centinel-logos a {
  margin-right: 3px;
}

.sp-methods .centinel-logos img {
  vertical-align: middle;
}

.sp-methods .release-amounts {
  margin: 0.5em 0 1em;
}

.sp-methods .release-amounts button {
  float: left;
  margin: 5px 10px 0 0;
}

.please-wait {
  float: right;
  margin-right: 5px;
  min-width: 150px;
}

.please-wait img {
  vertical-align: middle;
}

.cvv-what-is-this {
  cursor: help;
  margin-left: 10px;
  display: inline-block;
  padding-top: 7px;
}

/* Tooltip */
.tool-tip {
  border: 1px solid #ddd;
  background-color: #f6f6f6;
  padding: 5px;
  position: absolute;
  z-index: 9999;
}

.tool-tip .btn-close {
  text-align: right;
}

.tool-tip .btn-close a {
  display: block;
  margin: 0 0 0 auto;
  width: 15px;
  height: 15px;
  background: url(../../skin/frontend/default/galabigshop/images/btn_window_close.gif) 100% 0 no-repeat;
  text-align: left;
  text-indent: -999em;
  overflow: hidden;
}

.tool-tip .tool-tip-content {
  padding: 5px;
}

/* Gift Messages */
.gift-messages {
  padding: 10px 0 0;
}

.gift-messages h3 {
  font-size: 14px;
}

.gift-messages-form {
  position: relative;
  padding: 5px;
}

.opc .gift-messages-form {
  padding: 10px 15px;
}

.gift-messages-form label {
  float: none !important;
  position: static !important;
  display: inline-block;
}

.gift-messages-form p label {
  display: inline;
}

.gift-messages-form .item {
  margin: 0 0 10px;
}

.gift-messages-form .item .product-img-box {
  float: left;
  width: 75px;
}

.gift-messages-form .item .product-image {
  margin: 0 0 7px;
}

.gift-messages-form .item .number {
  margin: 0;
  font-weight: bold;
}

.gift-messages-form .item .details {
  margin-left: 90px;
}

.gift-message-link {
  display: block;
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/bkg_collapse.gif) 0 4px no-repeat;
  padding-left: 20px;
}

.gift-message-link.expanded {
  background-position: 0 -53px;
}

.gift-message-row .btn-close {
  float: right;
}

.gift-message dt strong {
  font-weight: bold;
}

/* Checkout Agreements */
.checkout-agreements {
  padding: 10px;
  overflow: hidden;
  clear: both;
}

.checkout-agreements li {
  margin: 10px 0;
}

.checkout-agreements .agree {
  padding: 6px 0;
  margin-top: 10px;
}

.checkout-agreements .agree input.checkbox {
  margin-top: -3px;
}

/* Centinel */
.centinel .authentication {
  border: 1px solid #ddd;
  background: #fff;
}

.centinel .authentication iframe {
  width: 99%;
  height: 400px;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Generic Info Set */
/********** Common Checkout Styles > */
.block.block-progress .block-title {
  margin: 0 0 3px;
}

.block-progress .block-title strong {
  color: #0a263c;
}

.block-progress dt {
  padding: 10px 0;
  position: relative;
  margin: 0 !important;
}

.block-progress dd {
  border-top: 0;
  padding: 8px 0;
  margin: 0 0 6px;
}

.block-progress dt.complete a {
  text-transform: capitalize;
  padding-left: 0px;
  clear: both;
  margin-left: 2px;
}

.block-progress dd.complete {
  padding: 5px 0 20px;
  margin-bottom: 0;
  clear: both;
}

.block-progress dd address, .block-progress p {
  margin: 0;
}

.block-progress .cards-list dt {
  background: none;
  border: 0 none;
  color: inherit;
  font-size: 12px;
  margin: 5px 0;
  padding: 0;
}

.block-progress .cards-list dd {
  border: 0 none;
  margin: 0;
  padding: 0;
}

/* One Page Checkout */
.block-progress dd {
  padding-bottom: 10px;
}

.opc {
  position: relative;
}

.opc .buttons-set.disabled button.button {
  display: none;
}

.opc .buttons-set .please-wait {
  height: 30px;
  line-height: 30px;
  float: left;
  padding-top: 0px;
}

.opc li.section.active {
  margin-top: 0px;
}

.opc li#opc-login {
  margin-top: 0px !important;
}

.opc li#opc-billing {
  margin-top: 0px !important;
}

.opc .step-title {
  text-align: right;
}

.opc .step-title .number {
  float: left;
  line-height: 22px;
  margin-right: 10px;
}

.opc .step-title a {
  float: right;
}

.opc .allow .step-title {
  cursor: pointer;
}

.opc .active .step-title {
  cursor: default;
}

.opc #opc-payment.step {
  padding: 24px 0 11px 0;
}

.opc #checkout-step-review {
  padding: 0 !important;
  margin-top: 30px;
}

.opc .step .tool-tip {
  left: 20px;
}

.opc #billing-address-select {
  margin-bottom: 10px;
}

.opc .form-list li.wide select {
  width: 508px;
}

.adapt-1 .opc .form-list li.wide select {
  width: 448px;
}

.opc .order-review {
  padding-top: 0px;
}

.opc .form-list li.control {
  line-height: 20px;
  margin-bottom: 3px;
}

.opc #opc-login .form-list li.control {
  float: left;
  margin: 3px 0;
  clear: both;
}

.opc .form-list li.control input.radio,
.opc .form-list li.control input.checkbox {
  margin-top: -4px;
}

.adapt-1 .opc .sp-methods .form-list input.input-text,
.opc .sp-methods .form-list input.input-text {
  width: 430px;
}

.opc-col #co-payment-form .form-list .v-fix input.input-text,
.adapt-1 .opc .sp-methods .form-list .v-fix input.input-text,
.opc .sp-methods .form-list .v-fix input.input-text {
  width: 92px;
}

.adapt-1 .opc .sp-methods .form-list select,
.opc .sp-methods .form-list select {
  width: 448px;
}

.adapt-0 .opc .sp-methods .form-list input.input-text {
  width: 300px;
}

.adapt-0 .opc .sp-methods .form-list select {
  width: 318px;
}

/* Multiple Addresses Checkout */
.multiple-checkout {
  position: relative;
  padding-bottom: 20px;
}

.multiple-checkout .title-buttons button.button {
  margin-top: 10px;
}

.multiple-checkout .tool-tip {
  top: 50%;
  margin-top: -120px;
  right: 10px;
}

.multiple-checkout .grand-total {
  font-size: 1.5em;
  text-align: right;
}

.multiple-checkout #checkout-review-submit {
  padding-top: 20px;
}

.multiple-checkout #checkout-review-submit #review-buttons-container {
  padding-top: 20px;
}

.multiple-checkout .col2-set {
  padding-bottom: 20px;
}

.multiple-checkout #multiship-addresses-table.data-table tfoot td {
  border: 0;
}

#multiship-addresses-table td .product-name {
  margin: 0;
}

.multiple-checkout .page-title h1,
.checkout-multishipping-address-newshipping .page-title h1 {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  border: 0;
}

/* ======================================================================================= */
/* Account Login/Create Pages ============================================================ */
.customer-account-login .col-main {
  padding-bottom: 42px;
}

.account-login .col2-set .col-2,
.account-login .col2-set .col-1 {
  width: 47.4%;
  float: left;
}

.account-login .col2-set .col-2.new-users {
  float: left;
}

.account-login .content h2 {
  padding: 0 0 14px;
  text-transform: capitalize;
  margin-bottom: 0;
}

.account-login .form-list input.input-text {
  clear: both;
  float: left;
  width: 95%;
}

.adapt-0 .new-users .buttons-set {
  margin-top: 0;
}

.registered-users .buttons-set button.button {
  margin-right: 20px;
}

.registered-users .buttons-set p.required {
  float: left;
  clear: none;
  margin-top: 4px;
}

.registered-users .content p.required {
  clear: left;
  margin-top: 10px;
}

.registered-users .content p {
  padding: 12px 0 5px 0;
  padding: 0;
  margin-bottom: 0px;
}

.registered-users .content {
  padding: 20px 0;
}

.account-create .fieldset {
  width: 100%;
}

.account-create .fieldset .form-list .field {
  width: 250px;
  margin-right: 10px;
}

.account-create .fieldset .form-list input.input-text {
  width: 230px;
}

.account-create .fieldset .legend {
  text-transform: capitalize;
  padding: 0 0 14px;
  margin: 0;
}

.account-create .form-list li.control {
  float: left;
  width: 100%;
  margin: 13px 0 30px;
}

.account-create .form-list li {
  width: 50%;
}

.account-create .form-list li.fields {
  width: 100%;
}

.account-create .buttons-set {
  margin-top: 20px;
  display: inline-block;
  width: 508px;
}

.account-login .input-box, .account-create .input-box {
  float: left;
  width: 100%;
}

.customer-account-forgotpassword .buttons-set {
  overflow: hidden;
  clear: both;
  float: left;
  width: 100%;
  margin-top: 10px;
}

.customer-account-forgotpassword .buttons-set p.required {
  margin-bottom: 15px;
}

.customer-account-forgotpassword .buttons-set p.back-link {
  margin-bottom: 5px;
  overflow: hidden;
  float: left;
}

.sendfriend-product-send .buttons-set {
  overflow: hidden;
  clear: both;
  float: left;
  width: 100%;
}

.sendfriend-product-send #max_recipient_message {
  padding-top: 7px;
  clear: both;
}

.sendfriend-product-send .fieldset {
  overflow: hidden;
  clear: both;
  float: left;
  width: 100%;
  padding-bottom: 20px;
}

.sendfriend-product-send .buttons-set p.back-link {
  margin-bottom: 5px;
  float: left;
}

.sendfriend-product-send .buttons-set button.button {
  margin-bottom: 5px;
  margin-right: 10px;
}

.sendfriend-product-send .form-list li.wide textarea {
  width: 582px;
}

.sendfriend-product-send .form-list input.input-text {
  width: 280px;
}

.adapt-1.sendfriend-product-send .form-list input.input-text {
  width: 320px;
}

.adapt-2.sendfriend-product-send .form-list li.wide textarea {
  width: 582px;
}

.adapt-1.sendfriend-product-send .form-list li.wide textarea {
  width: 320px;
}

.adapt-0.sendfriend-product-send .form-list li.wide textarea {
  width: 280px;
}

.customer-account-resetpassword .fieldset {
  margin-top: 0px !important;
}

.customer-account-resetpassword .buttons-set {
  width: 100%;
  float: left;
  margin-top: 10px;
}

.customer-account-resetpassword .buttons-set p.required {
  margin-bottom: 10px;
}

/* End of Account Login/Create Pages ============================================================ */
/* Captcha */
.captcha-image {
  float: left;
  position: relative;
}

.captcha-img {
  border: 1px solid #ccc;
}

.captcha-reload {
  position: absolute;
  top: 2px;
  right: 2px;
}

.captcha-reload.refreshing {
  animation: rotate 1.5s infinite linear;
  -webkit-animation: rotate 1.5s infinite linear;
  -moz-animation: rotate 1.5s infinite linear;
}

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

@-moz-keyframes rotate {
  0% {
    -moz-transform: rotate(0);
  }
  0% {
    -moz-transform: rotate(-360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    transform: rotate(0);
  }
  0% {
    -webkit-transform: rotate(-360deg);
    -moz-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

/* Remember Me Popup ===================================================================== */
.window-overlay {
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/window_overlay.png) repeat;
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 990;
}

/* Remember Me Popup ===================================================================== */
/* My Account ============================================================================= */
.my-account {
  padding-bottom: 39px;
  position: relative;
}

.my-account .data-table {
  margin-bottom: 13px;
}

#wishlist-table {
  overflow: visible;
  display: table;
}

.my-account .box-head .data-table {
  /*overflow-x : scroll*/
  margin-bottom: 0px;
}

.my-account .title-buttons .link-rss {
  float: none;
  margin: 0;
}

.my-account .welcome-msg p.hello {
  margin-bottom: 10px;
}

.my-account p.hello strong {
  font-weight: normal;
}

.my-wishlist textarea {
  width: 90%;
  margin-top: 5px;
  height: 100px;
}

/*.checkout-multishipping-register .form-list li.wide input.input-text{width:660px}*/
.checkout-multishipping-register .fieldset {
  width: 100%;
  padding-bottom: 10px;
}

/********** < Dashboard */
.dashboard .welcome-msg {
  padding: 0 20px;
}

.box-head {
  padding: 0;
  position: relative;
}

.box-head h2 {
  margin: 0 5px 0 0 !important;
  padding: 0;
  float: left;
}

.box-head a {
  padding: 6px 15px 4px;
  right: 0;
  top: 0;
}

.dashboard > form {
  display: block;
  padding: 15px;
}

/*Block My Account*/
.dashboard .box-recent .box-head {
  margin-bottom: 30px;
}

.box-account {
  clear: both;
  float: left;
  width: 100%;
}

.box-account .box-head {
  margin: 0;
}

.my-account .pager {
  padding: 10px 0;
}

/* Block: Recent Orders */
.box-recent h5 {
  padding-bottom: 8px;
}

/* Block: Account Information */
.box-account.box-info .box-head {
  margin-bottom: 23px;
}

.box-info .col2-set {
  padding: 0 20px;
}

.box-title a {
  margin-top: 5px;
  display: inline-block;
  float: right;
  font-weight: 700;
}

.multiple-checkout .box-title a {
  margin-top: 0;
  float: none;
}

.box-info h4,
.box-title h3,
.box-content h3 {
  font-weight: normal;
  float: left;
  margin-bottom: 11px;
}

.box-content address,
.box-content p {
  line-height: 22px;
}

.box-content {
  clear: left;
}

.my-account .col2-set .box-title h6 a {
  margin: 0;
}

.my-account .col2-set .box-content p a {
  float: none;
  text-transform: capitalize;
  margin: 13px 0 0;
}

.box-content address {
  padding: 2px 0 0;
  clear: both;
}

.box-account .box-content p {
  line-height: 15px;
}

.box-account .col-1, .box-account .col-2 {
  float: left;
  width: 46.5%;
}

/* Block: Reviews & Tags */
#my-tags-table .add-to-links {
  margin-top: 5px;
  float: left;
}

.my-account .box-reviews .details {
  margin-left: 20px;
}

.my-account .box-tags .details {
  margin-left: 15px;
}

.box-tags .tags strong {
  font-weight: normal;
  float: left;
  margin-top: 2px;
}

.box-tags .tags li {
  float: left;
  display: inline;
  padding-left: 5px;
}

.box-reviews li.item, .box-tags li.item {
  padding-bottom: 20px;
}

.box-reviews li.item.last {
  padding-bottom: 0px;
}

.box-tags li.item.last {
  padding-bottom: 11px;
}

.box-reviews h3.product-name {
  margin-bottom: 7px;
}

.box-tags h3.product-name {
  margin-bottom: 3px;
}

.box-tags {
  margin-top: 43px;
}

/********** Dashboard > */
/* Address Book */
.customer-address-form .my-account .form-list li.wide:first-child {
  padding-bottom: 10px;
}

.customer-address-form .my-account .form-list li strong {
  padding-top: 5px;
  display: block;
}

.customer-address-form .my-account .form-list li.control {
  padding-top: 10px;
}

.customer-address-form .my-account .buttons-set p.required {
  float: none;
}

.addresses-list {
  margin: 0 40px;
}

.adapt-2.customer-address-form .form-list input.input-text {
  width: 290px;
}

.adapt-2.customer-address-form .form-list select {
  width: 308px;
}

.adapt-1.customer-address-form .form-list input.input-text {
  width: 200px;
}

.adapt-1.customer-address-form .form-list select {
  width: 218px;
}

.col-1.addresses-primary li h5 {
  float: left;
  margin-right: 50px;
}

.addresses-list a {
  float: right;
  margin: 4px 0 0 !important;
  text-transform: capitalize;
  display: inline-block;
}

.col2-set .col-1.addresses-primary {
  width: 100%;
}

.col2-set .col-2.addresses-additional {
  width: 100%;
}

.addresses-list address {
  line-height: 22px;
  margin: 0;
  clear: both;
}

.addresses-list .addresses-additional li.item {
  margin-bottom: 4px;
}

.button.cp-btn > span > span {
  color: #000;
}

/* My Order */
.my-account h5 {
  text-transform: uppercase;
}

.my-account .pager {
  padding: 0px 0 20px;
}

.my-account .pager .amount {
  margin-top: 7px;
  clear: both;
  float: right;
}

.my-account .pager .limiter {
  float: left;
  line-height: 13px;
  margin-top: 2px;
}

/* Order View */
.order-info {
  border: 1px solid #ddd;
  padding: 5px;
}

.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
  display: inline;
}

.order-info dt {
  font-weight: bold;
}

.order-date {
  margin: 10px 0;
}

.order-items {
  width: 100%;
  overflow-x: auto;
}

.order-additional {
  margin: 15px 0;
}

/* Order Gift Message */
.gift-message dt strong {
  color: #666;
}

.gift-message dd {
  font-size: 13px;
  margin: 5px 0 0;
}

/* Order Comments */
.order-about dt {
  font-weight: bold;
}

.order-about dd {
  font-size: 13px;
  margin: 0 0 7px;
}

.tracking-table {
  margin: 0 0 15px;
}

.tracking-table th {
  font-weight: bold;
  white-space: nowrap;
}

.tracking-table-popup {
  width: 100%;
}

.tracking-table-popup th {
  font-weight: bold;
  white-space: nowrap;
}

.tracking-table-popup th,
.tracking-table-popup td {
  padding: 1px 8px;
}

/* Order Print Pages */
.page-print .print-head img {
  float: left;
}

.page-print .print-head address {
  float: left;
  margin-left: 15px;
}

/* Price Rewrites */
.page-print .gift-message-link {
  display: none;
}

.page-print .price-excl-tax,
.page-print .price-incl-tax {
  display: block;
  white-space: nowrap;
}

.page-print .cart-price,
.page-print .price-excl-tax .label,
.page-print .price-incl-tax .label,
.page-print .price-excl-tax .price,
.page-print .price-incl-tax .price {
  display: inline;
}

/* My Reviews */
.product-review .product-img-box {
  float: left;
  padding-bottom: 10px;
  margin-right: 20px;
}

.product-review .product-img-box .product-image {
  display: inline-block;
}

.product-review .product-img-box .label {
  margin: 0 0 5px;
}

.product-review .product-img-box .ratings .rating-box {
  float: none;
  display: block;
  margin: 0 0 7px;
}

.product-review .product-details {
  overflow: hidden;
}

.product-review .product-name {
  margin: 0 0 10px;
}

.product-review .ratings-table {
  margin: 0 0 10px;
}

.product-view .ratings-table {
  margin: 5px 0;
}

.product-review dt {
  font-weight: bold;
}

.product-review dd {
  margin: 5px 0 0;
}

/*Newsletter Subscription*/
.newsletter-manage-index .buttons-set {
  width: 100%;
  clear: both;
  float: left;
}

.newsletter-manage-index .fieldset .legend {
  padding-bottom: 10px;
}

/*Newsletter Subscription*/
.wishlist-index-share .my-account .buttons-set p.required {
  width: 100%;
}

.wishlist-index-share .my-account .buttons-set p.back-link {
  float: left;
  margin-bottom: 5px;
}

.wishlist-index-share .buttons-set {
  width: 100%;
  clear: both;
  float: left;
}

.wishlist-index-share .form-list li.wide textarea {
  width: 495px;
}

.wishlist-index-share .validation-advice {
  width: 495px;
}

.adapt-1.wishlist-index-share .form-list li.wide textarea {
  width: 350px;
}

.adapt-1.wishlist-index-share .validation-advice {
  width: 350px;
}

.adapt-0.wishlist-index-share .form-list li.wide textarea {
  width: 280px;
}

.adapt-0.wishlist-index-share .validation-advice {
  width: 280px;
}

.adapt-0.wishlist-index-share .fieldset {
  width: 100%;
}

.adapt-0.wishlist-index-share .form-list li.wide .input-box {
  width: 280px;
}

/* ======================================================================================= */
/* Footer ================================================================================ */
.footer p {
  text-align: right;
}

.footer address {
  text-align: left;
  margin-bottom: 0;
}

.footer ul {
  margin-bottom: 5px;
}

.footer ul li {
  display: inline;
  margin-right: 15px;
}

.footer-container .bottom-container {
  text-align: center;
}

/* ======================================================================================= */
/* Clears ================================================================================ */
.clearer:after,
.header-container:after,
.header-container .top-container:after,
.header:after,
.header .quick-access:after,
#nav:after,
.main:after,
.footer:after,
.footer-container .bottom-container:after,
.col-main:after,
.col2-set:after,
.col3-set:after,
.col4-set:after,
.search-autocomplete li:after,
.block .block-content:after,
.block .actions:after,
.block li.item:after,
.block-poll li:after,
.block-layered-nav .currently li:after,
.page-title:after,
.products-grid:after,
.products-list li.item:after,
.box-account .box-head:after,
.dashboard .box .box-title:after,
.box-reviews li.item:after,
.box-tags li.item:after,
.pager:after,
.sorter:after,
.ratings:after,
.tags:after,
.add-to-box:after,
.add-to-cart:after,
.product-essential:after,
.product-collateral:after,
.product-view .product-img-box .more-views ul:after,
.product-view .box-description:after,
.product-view .box-tags .form-add:after,
.product-options .options-list li:after,
.product-options-bottom:after,
.product-review:after,
.cart:after,
.cart-collaterals:after,
.cart .crosssell li.item:after,
.opc .step-title:after,
.checkout-progress:after,
.multiple-checkout .place-order:after,
.group-select li:after,
.form-list li:after,
.form-list .field:after,
.buttons-set:after,
.page-print .print-head:after,
.advanced-search-summary:after,
.gift-messages-form .item:after,
.send-friend .form-list li p:after,
.widget-static-block:after {
  display: block;
  content: ".";
  clear: both;
  font-size: 0;
  line-height: 0;
  height: 0;
  overflow: hidden;
}

/* ======================================================================================= */
.menu-item-hbox > .menu-container {
  position: relative;
}

.product-view .add-to-cart .paypal-logo {
  margin-top: 10px;
  overflow: hidden;
}

.paypal-review-order #review-buttons-container.buttons-set {
  padding: 0;
}

.product-view .product-img-box .more-views li.jcarousel-item-undefined,
.product-view .product-img-box .more-views li.jcarousel-item-NaN {
  display: none;
}

/* MAP Popup============================================================================== */
.cart-msrp-totals {
  color: red;
  font-size: 12px !important;
  font-weight: bold;
  margin: 10px 10px 0;
  padding: 10px;
  text-align: right;
  text-transform: uppercase;
}

.map-cart-sidebar-total {
  color: red;
  display: block;
  font-size: 10px;
  font-weight: bold;
  text-align: left;
  padding: 2px 5px;
  text-shadow: 0 1px 0 #fff;
}

.map-popup {
  background: #fff;
  border: 1px solid #aaa;
  margin: 12px 0 0;
  position: absolute;
  box-shadow: 0 0 6px #ccc;
  text-align: left;
  width: 300px;
  z-index: 100;
}

.map-popup-heading {
  background: #d9e5ee;
  border-bottom: 1px solid #ccc;
  padding: 5px 30px 5px 10px;
  width: 298px;
}

.map-popup-heading h2 {
  font-size: 16px;
  margin: 0;
  text-shadow: 0 1px 0 #f6f6f6;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: break-word;
  text-align: left;
  text-overflow: ellipsis;
}

.map-popup-arrow {
  background: url(https://mobymemory.com/uk/skin/frontend/default/galabigshop/images/map_popup_arrow.gif) no-repeat;
  position: absolute;
  left: 50%;
  top: -10px;
  height: 10px;
  width: 19px;
}

.map-popup-close {
  background: url(../../skin/frontend/default/galabigshop/images/btn_window_close.gif) no-repeat;
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  height: 15px;
  width: 15px;
  text-indent: -9999em;
  box-shadow: 0 0 3px #999;
  border-radius: 2px;
  z-index: 1;
}

.map-popup-content {
  border-top: 1px solid #eee;
  padding: 10px;
  overflow: hidden;
  text-align: left;
  width: 280px;
}

.map-popup-checkout {
  display: inline;
  float: right;
  text-align: right;
}

.map-popup-checkout span {
  display: block;
  padding-right: 30px;
}

.map-popup-checkout .paypal-logo {
  margin: 0 0 5px;
}

.map-popup-price .price-box,
.map-popup-price .price-box .special-price {
  margin: 0;
  padding: 0;
}

.map-popup-price {
  margin: 5px 0 0;
}

.map-popup-text {
  clear: right;
  margin: 0 10px;
  padding: 10px 0;
  text-align: left;
  word-wrap: break-word;
}

.map-popup-only-text {
  border-top: 1px solid #ddd;
}

.map-popup-checkout button.btn-cart {
  float: right;
}

.map-info .price {
  margin-right: 10px;
}

/*end of MAP Popup====================================================== */
#containerDiv .ajaxcart .product-shop .price-box a {
  display: none;
}

.digicert_seal {
  float: right;
  margin: 20px 100px;
}

.digicert_seal a {
  color: #ffffff !important;
}

@media only screen and (max-width: 800px) {
  #nav li a.level-top span {
    color: #666;
  }
}

.cms-contact .fieldset {
  width: 75%;
}

@media (max-width: 768px) {
  .catalog-product-view.adapt-0 .product-view .product-img-box,
  .catalog-product-view.adapt-0 .product-view .product-shop {
    width: 100%;
  }
}

.amfinder-centering {
  margin-left: 15%;
  margin-right: 15%;
  border-radius: 10px;
  display: block;
  background-color: #4399d4;
  padding: 10px;
  margin-bottom: 10px;
}

.product-view .product-img-box {
  width: 48%;
  float: left;
}

.product-view .product-shop {
  width: 48%;
  float: right;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJfaGVscGVyLnNjc3MiLCJfYmFzZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJoZWxwZXJcIjtcbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi5jbXMtY29udGFjdCB7XG4gIC5maWVsZHNldCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3LmFkYXB0LTAge1xuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgLnByb2R1Y3QtaW1nLWJveCxcbiAgICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEFtZmluZGVyXG4vL19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi5hbWZpbmRlci1jZW50ZXJpbmcge1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Mzk5ZDQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8vXG4vLyBQRFBcbi8vX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLnByb2R1Y3QtdmlldyB7XG4gIC5wcm9kdWN0LWltZy1ib3gge1xuICAgIHdpZHRoOiA0OCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAucHJvZHVjdC1zaG9wIHtcbiAgICB3aWR0aDogNDglO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufSIsIi52aXN1YWxseS1oaWRkZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufSIsIi8qKlxuICogTWFnZW50b1xuICpcbiAqIE5PVElDRSBPRiBMSUNFTlNFXG4gKlxuICogVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4gKiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuICogSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbiAqIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4gKiBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4gKiB0byBsaWNlbnNlQG1hZ2VudG9jb21tZXJjZS5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbiAqXG4gKiBESVNDTEFJTUVSXG4gKlxuICogRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbiAqIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4gKiBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvY29tbWVyY2UuY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICpcbiAqIEBjYXRlZ29yeSAgICBkZXNpZ25cbiAqIEBwYWNrYWdlICAgICBkZWZhdWx0X2JsYW5rXG4gKiBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDEzIE1hZ2VudG8gSW5jLiAoaHR0cDovL3d3dy5tYWdlbnRvY29tbWVyY2UuY29tKVxuICogQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuICovXG5cbi8qIFJlc2V0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKiB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IH1cblxuYm9keSAgICAgICAgICB7IHRleHQtYWxpZ246bGVmdDsgIGZvbnQtZmFtaWx5OkFyaWFsOyBmb250LXNpemU6MTJweH1cblxuaW1nICAgICAgICAgICB7IGJvcmRlcjowOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7bWF4LXdpZHRoOjEwMCU7IH1cblxuYSAgICAgICAgICAgICB7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9XG5hOmhvdmVyICAgICAgIHsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgfVxuOmZvY3VzICAgICAgICB7IG91dGxpbmU6MDsgfVxuYTpmb2N1c3tiYWNrZ3JvdW5kOm5vbmVcXDA7fVxuXG4vKiBIZWFkaW5ncyAqL1xuaDEgICAgICAgICAgICB7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6MS4xNTsgfVxuaDIgICAgICAgICAgICB7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6MS4yNTsgfVxuaDMgICAgICAgICAgICB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGxpbmUtaGVpZ2h0OjEuMjU7IH1cbmg0ICAgICAgICAgICAgeyBmb250LXdlaWdodDpib2xkOyB9XG5oNSAgICAgICAgICAgIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuaDYgICAgICAgICAgICB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cblxuLyogRm9ybXMgKi9cbmZvcm0gICAgICAgICAgeyBkaXNwbGF5OmlubGluZTsgfVxuZmllbGRzZXQgICAgICB7IGJvcmRlcjowOyB9XG5sZWdlbmQgICAgICAgIHsgZGlzcGxheTpub25lOyB9XG5cbi8qIFRhYmxlICovXG50YWJsZSAgICAgICAgIHsgYm9yZGVyOjA7IGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MDsgZW1wdHktY2VsbHM6c2hvdzsgZm9udC1zaXplOjEwMCU7fVxuY2FwdGlvbix0aCx0ZCB7IHZlcnRpY2FsLWFsaWduOnRvcDsgdGV4dC1hbGlnbjpsZWZ0OyBmb250LXdlaWdodDpub3JtYWw7IH1cbi5wYWdlLXByaW50IHRhYmxlIHRoLCAucGFnZS1wcmludCB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgICBjb2xvcjogIzg3ODY4NjtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuLnBhZ2UtcHJpbnQgaDEsIC5wYWdlLXByaW50IGgyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG59XG4vKiBDb250ZW50ICovXG5zdHJvbmcgICAgICAgIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuYWRkcmVzcyAgICAgICB7IGZvbnQtc3R5bGU6bm9ybWFsOyB9XG5jaXRlICAgICAgICAgIHsgZm9udC1zdHlsZTpub3JtYWw7IH1cbnEsXG5ibG9ja3F1b3RlICAgIHsgcXVvdGVzOm5vbmU7IH1cbnE6YmVmb3JlLFxucTphZnRlciAgICAgICB7IGNvbnRlbnQ6Jyc7IH1cbnNtYWxsLGJpZyAgICAgeyBmb250LXNpemU6MWVtOyB9XG5zdXAgICAgICAgICAgIHsgZm9udC1zaXplOjFlbTsgdmVydGljYWwtYWxpZ246dG9wOyB9XG5cbi8qIExpc3RzICovXG51bCxvbCAgICAgICAgIHsgbGlzdC1zdHlsZTpub25lOyB9XG51bCxcbm9sLFxuZGwsXG5wLFxuYWRkcmVzcyxcbmJsb2NrcXVvdGUgeyBtYXJnaW46MCAwIDFlbTsgcGFkZGluZzowOyB9XG5cbi8qIFRvb2xzICovXG4uaGlkZGVuICAgICAgIHsgZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyBib3JkZXI6MCAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50OyBwYWRkaW5nOjAgIWltcG9ydGFudDsgZm9udC1zaXplOjAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MCAhaW1wb3J0YW50OyB3aWR0aDowICFpbXBvcnRhbnQ7IGhlaWdodDowICFpbXBvcnRhbnQ7IG92ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50OyB9XG4ubm9iciAgICAgICAgIHsgd2hpdGUtc3BhY2U6bm93cmFwICFpbXBvcnRhbnQ7IH1cbi53cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTpub3JtYWwgIWltcG9ydGFudDsgfVxuLmEtbGVmdCAgICAgICB7IHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyB9XG4uYS1jZW50ZXIgICAgIHsgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsgfVxuLmEtcmlnaHQgICAgICB7IHRleHQtYWxpZ246cmlnaHQgIWltcG9ydGFudDsgfVxuLnYtdG9wICAgICAgICB7IHZlcnRpY2FsLWFsaWduOnRvcDsgfVxuLnYtbWlkZGxlICAgICB7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfVxuLmYtbGVmdCxcbi5sZWZ0ICAgICAgICAgeyBmbG9hdDpsZWZ0ICFpbXBvcnRhbnQ7IH1cbi5mLXJpZ2h0LFxuLnJpZ2h0ICAgICAgICB7IGZsb2F0OnJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mLW5vbmUgICAgICAgeyBmbG9hdDpub25lICFpbXBvcnRhbnQ7IH1cbi5mLWZpeCAgICAgICAgeyBmbG9hdDpsZWZ0OyB3aWR0aDoxMDAlOyB9XG4ubm8tZGlzcGxheSAgIHsgZGlzcGxheTpub25lOyB9XG4ubm8tbWFyZ2luICAgIHsgbWFyZ2luOjAgIWltcG9ydGFudDsgfVxuLm5vLXBhZGRpbmcgICB7IHBhZGRpbmc6MCAhaW1wb3J0YW50OyB9XG4ubm8tYmcgICAgICAgIHsgYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7IH1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIExheW91dCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLndyYXBwZXIge31cbi5wYWdlIHsgbWFyZ2luOjAgYXV0bzsgdGV4dC1hbGlnbjpsZWZ0OyB9XG4ucGFnZS1wcmludCB7IGJhY2tncm91bmQ6I2ZmZjsgcGFkZGluZzoyMHB4OyB0ZXh0LWFsaWduOmxlZnQ7IH1cbi5wYWdlLWVtcHR5IHsgYmFja2dyb3VuZDojZmZmOyBwYWRkaW5nOjIwcHg7IHRleHQtYWxpZ246bGVmdDsgfVxuLnBhZ2UtcG9wdXAgeyBwYWRkaW5nOjIwcHg7IHRleHQtYWxpZ246bGVmdDsgYmFja2dyb3VuZDojZmZmfVxuLm1haW4tY29udGFpbmVyIHt9XG4ubWFpbiB7IG1hcmdpbjoxMHB4IDA7IH1cblxuLyogQmFzZSBDb2x1bW5zICovXG4vKi5jb2wtbGVmdCB7IGZsb2F0OmxlZnQ7IHBhZGRpbmc6MDsgfVxuLmNvbC1tYWluIHsgZmxvYXQ6bGVmdDsgcGFkZGluZzowOyB9Ki9cbi5jb2wtcmlnaHQgey8qIGZsb2F0OnJpZ2h0OyBwYWRkaW5nOjA7ICovfVxuXG4vKiAxIENvbHVtbiBMYXlvdXQgKi9cbi5jb2wxLWxheW91dCAuY29sLW1haW4geyBmbG9hdDpub25lOyB3aWR0aDphdXRvOyB9XG5cbi8qIDIgQ29sdW1ucyBMYXlvdXQgKi9cbi5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiB7IGZsb2F0OnJpZ2h0OyB9XG4uY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIHt9XG5cbi8qIDMgQ29sdW1ucyBMYXlvdXQgKi9cbi5jb2wzLWxheW91dCAuY29sLW1haW4geyB3aWR0aDo0ODRweDsgbWFyZ2luLWxlZnQ6MTBweDsgfVxuLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciB7IGZsb2F0OmxlZnQ7IHdpZHRoOjc0OHB4OyB9XG4uY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbWFpbiB7IGZsb2F0OnJpZ2h0OyB9XG5cbi8qIENvbnRlbnQgQ29sdW1ucyAqL1xuLmNvbDItc2V0IC5jb2wtMSB7IGZsb2F0OmxlZnQ7IHdpZHRoOjQ5JTsgfVxuLmNvbDItc2V0IC5jb2wtMiB7IGZsb2F0OnJpZ2h0OyB3aWR0aDo0OSU7IH1cbi5jb2wyLXNldCAuY29sLW5hcnJvdyB7IHdpZHRoOjMzJTsgfVxuLmNvbDItc2V0IC5jb2wtd2lkZSB7IHdpZHRoOjY1JTsgfVxuXG4uY29sMy1zZXQgLmNvbC0xIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MzIlOyB9XG4uY29sMy1zZXQgLmNvbC0yIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MzIlOyBtYXJnaW4tbGVmdDoyJTsgfVxuLmNvbDMtc2V0IC5jb2wtMyB7IGZsb2F0OnJpZ2h0OyB3aWR0aDozMiU7IH1cblxuLmNvbDQtc2V0IC5jb2wtMSB7IGZsb2F0OmxlZnQ7IHdpZHRoOjIzLjUlOyB9XG4uY29sNC1zZXQgLmNvbC0yIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MjMuNSU7IG1hcmdpbjowIDIlOyB9XG4uY29sNC1zZXQgLmNvbC0zIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MjMuNSU7IH1cbi5jb2w0LXNldCAuY29sLTQgeyBmbG9hdDpyaWdodDsgd2lkdGg6MjMuNSU7IH1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEdsb2JhbCBTdHlsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9ybSBFbGVtZW50cyAqL1xubGFiZWx7IGN1cnNvcjpkZWZhdWx0fVxuaW5wdXQsc2VsZWN0LHRleHRhcmVhLGJ1dHRvbiB7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfVxuaW5wdXQuaW5wdXQtdGV4dCxzZWxlY3QsdGV4dGFyZWEgeyBib3JkZXI6MXB4IHNvbGlkICNkZGQ7IH1cbmlucHV0LmlucHV0LXRleHQsdGV4dGFyZWEgeyBwYWRkaW5nOjJweDsgfVxuc2VsZWN0IHsgcGFkZGluZzoxcHg7IH1cbnNlbGVjdCBvcHRpb24geyBwYWRkaW5nLXJpZ2h0OjEwcHg7IH1cbnNlbGVjdC5tdWx0aXNlbGVjdCBvcHRpb24geyBwYWRkaW5nOjJweCA1cHg7IH1cbnRleHRhcmVhIHsgb3ZlcmZsb3c6YXV0bzsgfVxuaW5wdXQucmFkaW8geyBtYXJnaW4tcmlnaHQ6M3B4OyB9XG5pbnB1dC5jaGVja2JveCB7IG1hcmdpbi1yaWdodDozcHg7IH1cbmlucHV0LnF0eSB7IHdpZHRoOjIuNWVtICFpbXBvcnRhbnQ7fVxuYnV0dG9uLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7IHBhZGRpbmc6MDsgYm9yZGVyOjA7IH0gLyogRkYgRml4ICovXG5idXR0b24uYnV0dG9uIHsgb3ZlcmZsb3c6dmlzaWJsZTsgd2lkdGg6YXV0bzsgY3Vyc29yOnBvaW50ZXI7IH1cbmJ1dHRvbi5idXR0b24gc3BhbiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7IH1cbmJ1dHRvbi5idXR0b24gc3BhbiBzcGFuIHsvKiBwYWRkaW5nOjAgMTVweCAwIDA7IGhlaWdodDozMHB4OyBsaW5lLWhlaWdodDozMHB4Ki8gfVxuYnV0dG9uLmRpc2FibGVkIHt9XG5idXR0b24uZGlzYWJsZWQgc3BhbiB7fVxuXG5idXR0b24uYnRuLWNoZWNrb3V0IHNwYW4ge31cbmJ1dHRvbi5idG4tY2hlY2tvdXQubm8tY2hlY2tvdXQge31cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gcCBpbnB1dCxcbnAuY29udHJvbCBpbnB1dC5jaGVja2JveCxcbnAuY29udHJvbCBpbnB1dC5yYWRpbyB7IG1hcmdpbi1yaWdodDo2cHg7IG1hcmdpbi10b3A6LTRweH1cbi8qIEZvcm0gSGlnaGxpZ2h0ICovXG4vKmlucHV0LmlucHV0LXRleHQ6Zm9jdXMsc2VsZWN0OmZvY3VzLHRleHRhcmVhOmZvY3VzIHt9Ki9cbi8qLmhpZ2hsaWdodCB7IGJhY2tncm91bmQ6I2VmZWZlZjsgfSovXG5cbi8qIEZvcm0gbGlzdHMgKi9cbi8qIEdyb3VwZWQgZmllbGRzICovXG4vKi5mb3JtLWxpc3QgeyB3aWR0aDo1MzVweDsgbWFyZ2luOjAgYXV0bzsgb3ZlcmZsb3c6aGlkZGVuOyB9Ki9cbi5mb3JtLWxpc3QgbGkuY29udHJvbHsgbWFyZ2luLWJvdHRvbTo1cHg7fVxuLmZvcm0tbGlzdCBsYWJlbCB7IGZsb2F0OmxlZnQ7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjA7IHBhZGRpbmc6N3B4IDA7fVxuLmZvcm0tbGlzdCBsYWJlbC5yZXF1aXJlZCBlbSB7IGZsb2F0OnJpZ2h0OyBmb250LXN0eWxlOm5vcm1hbDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDo4cHg7IHJpZ2h0Oi05cHg7IH1cbi5mb3JtLWxpc3QgbGkuY29udHJvbCBsYWJlbCB7IGZsb2F0Om5vbmU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nOjA7IH1cbi5mb3JtLWxpc3QgbGkuY29udHJvbCBpbnB1dC5yYWRpbyxcbi5mb3JtLWxpc3QgbGkuY29udHJvbCBpbnB1dC5jaGVja2JveCB7IG1hcmdpbi1yaWdodDo2cHg7IG1hcmdpbi10b3A6LTNweDsgbWFyZ2luLWxlZnQ6MXB4O31cbi5mb3JtLWxpc3QgbGkuY29udHJvbCAuaW5wdXQtYm94IHsgY2xlYXI6bm9uZTsgZGlzcGxheTppbmxpbmU7IHdpZHRoOmF1dG87IH1cbi5mb3JtLWxpc3QgLmlucHV0LWJveCwuZm9ybS1saXN0IC5pbnB1dC1yYW5nZSB7IGRpc3BsYXk6YmxvY2s7IGNsZWFyOmJvdGg7IG1hcmdpbi1ib3R0b206MHB4fVxuLmZvcm0tbGlzdCAuZmllbGQgeyBmbG9hdDpsZWZ0OyB3aWR0aDozMDJweDsgLypwYWRkaW5nLWJvdHRvbTo4cHg7ICovfVxuLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1saXN0IC5maWVsZHtjbGVhcjpib3RoO31cbi5mb3JtLWxpc3QgaW5wdXQuaW5wdXQtdGV4dCB7IHdpZHRoOjMzMHB4OyB9XG4uZm9ybS1saXN0IHRleHRhcmVhIHsgd2lkdGg6MzMwcHg7IGhlaWdodDo2ZW07IGxpbmUtaGVpZ2h0OjE2cHh9XG4uZm9ybS1saXN0IHNlbGVjdCB7IHdpZHRoOjM0OHB4OyB9XG4uZm9ybS1saXN0IGxpLndpZGUgLmlucHV0LWJveCB7IHdpZHRoOjM1MHB4OyB9XG4uZm9ybS1saXN0IGxpLndpZGUgaW5wdXQuaW5wdXQtdGV4dCB7IHdpZHRoOjMzMHB4OyBtYXJnaW4tYm90dG9tOjEwcHh9XG4uZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWEgeyB3aWR0aDozMzBweDsgfVxuLmZvcm0tbGlzdCBsaS53aWRlIHNlbGVjdCB7IHdpZHRoOjM0OHB4OyB9XG4uZm9ybS1saXN0IGxpLmFkZGl0aW9uYWwtcm93IHsgYm9yZGVyLXRvcDoxcHggc29saWQgI2NjYzsgbWFyZ2luLXRvcDozNXB4OyBwYWRkaW5nLXRvcDo3cHg7IH1cbi5mb3JtLWxpc3QgbGkuYWRkaXRpb25hbC1yb3cgcHttYXJnaW4tYm90dG9tOjB9XG4uZm9ybS1saXN0IGxpLmFkZGl0aW9uYWwtcm93IC5idG4tcmVtb3ZlIHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbjo1cHggMCAwOyB9XG4uZm9ybS1saXN0IC5pbnB1dC1yYW5nZSBpbnB1dC5pbnB1dC10ZXh0IHsgd2lkdGg6MTI1cHg7IH1cbi8qIEN1c3RvbWVyICovXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeCAuaW5wdXQtYm94LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1zdWZmaXggLmlucHV0LWJveCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtcHJlZml4LXN1ZmZpeCAuaW5wdXQtYm94LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtbWlkZGxlbmFtZSAuaW5wdXQtYm94LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1taWRkbGVuYW1lLXN1ZmZpeCAuaW5wdXQtYm94LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtbWlkZGxlbmFtZS1zdWZmaXggLmlucHV0LWJveCB7IHdpZHRoOmF1dG87IH1cblxuLmZvcm0tbGlzdCAubmFtZS1wcmVmaXggeyB3aWR0aDo2NXB4OyB9XG4uZm9ybS1saXN0IC5uYW1lLXByZWZpeCBzZWxlY3QgeyB3aWR0aDo1NXB4OyB9XG4uZm9ybS1saXN0IC5uYW1lLXByZWZpeCBpbnB1dC5pbnB1dC10ZXh0IHsgd2lkdGg6NDlweDsgfVxuXG4uZm9ybS1saXN0IC5uYW1lLXN1ZmZpeCB7IHdpZHRoOjY1cHg7IH1cbi5mb3JtLWxpc3QgLm5hbWUtc3VmZml4IHNlbGVjdCB7IHdpZHRoOjU1cHg7IH1cbi5mb3JtLWxpc3QgLm5hbWUtc3VmZml4IGlucHV0LmlucHV0LXRleHQgeyB3aWR0aDo0OXB4OyB9XG5cbi5mb3JtLWxpc3QgLm5hbWUtbWlkZGxlbmFtZSB7IHdpZHRoOjcwcHg7IH1cbi5mb3JtLWxpc3QgLm5hbWUtbWlkZGxlbmFtZSBpbnB1dC5pbnB1dC10ZXh0IHsgd2lkdGg6NDlweDsgfVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeC1taWRkbGVuYW1lLXN1ZmZpeCAubmFtZS1maXJzdG5hbWUsXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeC1taWRkbGVuYW1lIC5uYW1lLWZpcnN0bmFtZSB7IHdpZHRoOjE0MHB4OyB9XG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeC1taWRkbGVuYW1lLXN1ZmZpeCAubmFtZS1maXJzdG5hbWUgaW5wdXQuaW5wdXQtdGV4dCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtcHJlZml4LW1pZGRsZW5hbWUgLm5hbWUtZmlyc3RuYW1lIGlucHV0LmlucHV0LXRleHQgeyB3aWR0aDoxMjRweDsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtbWlkZGxlbmFtZS1zdWZmaXggLm5hbWUtbGFzdG5hbWUgeyB3aWR0aDoyMDVweDsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtbWlkZGxlbmFtZS1zdWZmaXggLm5hbWUtbGFzdG5hbWUgaW5wdXQuaW5wdXQtdGV4dCB7IHdpZHRoOjE4OXB4OyB9XG5cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtcHJlZml4LXN1ZmZpeCAubmFtZS1maXJzdG5hbWUgeyB3aWR0aDoyMTBweDsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtc3VmZml4IC5uYW1lLWxhc3RuYW1lIHsgd2lkdGg6MjA1cHg7IH1cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtcHJlZml4LXN1ZmZpeCAubmFtZS1maXJzdG5hbWUgaW5wdXQuaW5wdXQtdGV4dCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtcHJlZml4LXN1ZmZpeCAubmFtZS1sYXN0bmFtZSBpbnB1dC5pbnB1dC10ZXh0IHsgd2lkdGg6MTg5cHg7IH1cblxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtc3VmZml4IC5uYW1lLWZpcnN0bmFtZSB7IHdpZHRoOjIxMHB4OyB9XG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeC1zdWZmaXggLm5hbWUtbGFzdG5hbWUgeyB3aWR0aDoyMDVweDsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtc3VmZml4IC5uYW1lLWZpcnN0bmFtZSBpbnB1dC5pbnB1dC10ZXh0LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXgtc3VmZml4IC5uYW1lLWxhc3RuYW1lIGlucHV0LmlucHV0LXRleHQgeyB3aWR0aDoxODlweDsgfVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXByZWZpeCAubmFtZS1maXJzdG5hbWUsXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUgLm5hbWUtZmlyc3RuYW1lIHsgd2lkdGg6MjEwcHg7IH1cblxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1zdWZmaXggLm5hbWUtbGFzdG5hbWUsXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUgLm5hbWUtZmlyc3RuYW1lLFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1taWRkbGVuYW1lLXN1ZmZpeCAubmFtZS1maXJzdG5hbWUsXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUtc3VmZml4IC5uYW1lLWxhc3RuYW1lIHsgd2lkdGg6MjA1cHg7IH1cblxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1wcmVmaXggLm5hbWUtZmlyc3RuYW1lIGlucHV0LmlucHV0LXRleHQsXG4uZm9ybS1saXN0IC5jdXN0b21lci1uYW1lLXN1ZmZpeCAubmFtZS1sYXN0bmFtZSBpbnB1dC5pbnB1dC10ZXh0LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1taWRkbGVuYW1lIC5uYW1lLWZpcnN0bmFtZSBpbnB1dC5pbnB1dC10ZXh0LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItbmFtZS1taWRkbGVuYW1lLXN1ZmZpeCAubmFtZS1maXJzdG5hbWUgaW5wdXQuaW5wdXQtdGV4dCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLW5hbWUtbWlkZGxlbmFtZS1zdWZmaXggLm5hbWUtbGFzdG5hbWUgaW5wdXQuaW5wdXQtdGV4dCB7IHdpZHRoOjE4OXB4OyB9XG5cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLW1vbnRoLFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIC5kb2ItZGF5LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIC5kb2IteWVhciB7IGZsb2F0OmxlZnQ7IHdpZHRoOjg1cHg7IH1cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiBpbnB1dC5pbnB1dC10ZXh0IHsgZGlzcGxheTpibG9jazsgd2lkdGg6NzRweDsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIGxhYmVsIHsgZm9udC1zaXplOjEwcHg7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgY29sb3I6Izg4ODsgfVxuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIC5kb2ItZGF5LFxuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIC5kb2ItbW9udGggeyB3aWR0aDo2MHB4OyB9XG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi1kYXkgaW5wdXQuaW5wdXQtdGV4dCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLW1vbnRoIGlucHV0LmlucHV0LXRleHQgeyB3aWR0aDo0NnB4OyB9XG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi15ZWFyIHsgd2lkdGg6MTQwcHg7IH1cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLXllYXIgaW5wdXQuaW5wdXQtdGV4dCB7IHdpZHRoOjEzNHB4OyB9XG4uYnV0dG9ucy1zZXQgcC5iYWNrLWxpbmt7IG1hcmdpbjowOyB9XG4uYnV0dG9ucy1zZXQgeyBjbGVhcjpib3RoOyBwYWRkaW5nOjA7IG1hcmdpbjoyMHB4IDAgMH1cbi5idXR0b25zLXNldCAuYmFjay1saW5rIHNtYWxsIHsgZGlzcGxheTpub25lO31cbi5idXR0b25zLXNldCBidXR0b24uYnV0dG9uIHsgZmxvYXQ6bGVmdDsgIG1hcmdpbi1yaWdodDo1cHg7fVxuLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWQgeyBtYXJnaW46MCAwIDEwcHg7IH1cblxuLmJ1dHRvbnMtc2V0LW9yZGVyIHt9XG5cbi5maWVsZHNldCB7IGZsb2F0OmxlZnQ7IHdpZHRoOjQ5JX1cbi5maWVsZHNldCAubGVnZW5kIHsgIHBvc2l0aW9uOnJlbGF0aXZlOyB9XG5cbi8qIEZvcm0gVmFsaWRhdGlvbiAqL1xuLnZhbGlkYXRpb24tYWR2aWNlIHsgY2xlYXI6Ym90aDsgbWluLWhlaWdodDoxM3B4OyBtYXJnaW46NXB4IDA7IHBhZGRpbmctdG9wOjJweDsgZm9udC1zaXplOjExcHg7IGxpbmUtaGVpZ2h0OjEzcHg7IGNvbG9yOiNlNzA4MDg7IGZsb2F0OmxlZnQ7IHdpZHRoOjk5JTsgdGV4dC1hbGlnbjpsZWZ0fVxuLnZhbGlkYXRpb24tZmFpbGVkIHsgYm9yZGVyOjFweCBzb2xpZCAjZGE0MDQwICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6I2ZmZjhmOCAhaW1wb3J0YW50fVxuLnZhbGlkYXRpb24tcGFzc2VkIHt9XG4vKiBFeHBpcmF0aW9uIGRhdGUgYW5kIENWViBudW1iZXIgdmFsaWRhdGlvbiBmaXggKi9cbi52LWZpeCB7IGZsb2F0OmxlZnQ7IH1cbi52LWZpeCAudmFsaWRhdGlvbi1hZHZpY2UgeyBkaXNwbGF5OmJsb2NrOyB3aWR0aDphdXRvOyAgcG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bm9uZSB9XG5cbi8qIEdsb2JhbCBNZXNzYWdlcyAgKi9cbi5zdWNjZXNzIHsgY29sb3I6IzNkNjYxMTsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuLmVycm9yIHsgY29sb3I6I2YwMDsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuLm5vdGljZSB7IGNvbG9yOiNjY2M7IH1cblxuLm1lc3NhZ2VzeyBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAxMHB4OyBwYWRkaW5nOjAgOyB9XG4ubWVzc2FnZXMgdWwgeyBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDsgcGFkZGluZzowIDsgbWFyZ2luLWJvdHRvbTowfVxuLm1lc3NhZ2VzIHsgd2lkdGg6MTAwJTsgb3ZlcmZsb3c6aGlkZGVuOyAvKm1hcmdpbi10b3A6MzBweDsqLyB9XG4ubWVzc2FnZXMgbGkgbGkgeyBtYXJnaW46MDsgfVxuLmVycm9yLW1zZyxcbi5ub3RlLW1zZyxcbi5ub3RpY2UtbXNnIHsgYm9yZGVyLXN0eWxlOnNvbGlkOyBib3JkZXItd2lkdGg6MXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwcHggOXB4OyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IG1pbi1oZWlnaHQ6MTRweDsgcGFkZGluZzo4cHggLyo4cHggOHB4IDMycHgqLzsgb3ZlcmZsb3c6aGlkZGVuIH1cbi5lcnJvci1tc2cgeyBib3JkZXItY29sb3I6I2YxNjA0ODsgYmFja2dyb3VuZC1jb2xvcjojZmZlM2UzOyAvKmJhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9pX21zZy1lcnJvci5naWYpOyovIGNvbG9yOiNkZjI4MGE7IH1cbi5ub3RlLW1zZyxcbi5ub3RpY2UtbXNnIHsgYm9yZGVyLWNvbG9yOiNmY2QzNDQ7IGJhY2tncm91bmQtY29sb3I6I2ZhZmFlYzsgLypiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvaV9tc2ctbm90ZS5naWYpOyAqL2NvbG9yOiMzZDY2MTE7IH1cblxuLyogQnJlYWRDcnVtYnMgKi9cbi8qIFBhZ2UgSGVhZGluZyAqL1xuLnBhZ2UtdGl0bGUgeyBwYWRkaW5nOjBweDsvKm15IGFjYyovIG1hcmdpbjozcHggMCAyMnB4OyB9XG4ucGFnZS10aXRsZSBoMSxcbi5wYWdlLXRpdGxlIGgyIHsgfVxuLnBhZ2UtdGl0bGUgLnNlcGFyYXRvciB7IG1hcmdpbjowIDNweDsgfVxuLnBhZ2UtdGl0bGUgLmxpbmstcnNzIHsgZmxvYXQ6cmlnaHQ7IH1cbi50aXRsZS1idXR0b25zIHsgdGV4dC1hbGlnbjpyaWdodDsgfVxuLnRpdGxlLWJ1dHRvbnMgaDEsXG4udGl0bGUtYnV0dG9ucyBoMixcbi50aXRsZS1idXR0b25zIGgzLFxuLnRpdGxlLWJ1dHRvbnMgaDQsXG4udGl0bGUtYnV0dG9ucyBoNSxcbi50aXRsZS1idXR0b25zIGg2IHsgZmxvYXQ6bGVmdDsgfVxuXG4uc3VidGl0bGUsXG4uc3ViLXRpdGxlIHsgY2xlYXI6Ym90aDsgfVxuXG4vKiBQYWdlciAqL1xuLnBhZ2VyIHsgcGFkZGluZzowOyBtYXJnaW46MDsgdGV4dC1hbGlnbjpjZW50ZXI7IH1cbi5wYWdlciAuYW1vdW50IHsgZmxvYXQ6bGVmdDsgfVxuLnBhZ2VyIC5saW1pdGVyIHsgZmxvYXQ6cmlnaHQ7IH1cbi5wYWdlciAucGFnZXMgeyBtYXJnaW46MCBhdXRvOyBsaW5lLWhlaWdodDoyOXB4OyBkaXNwbGF5OmlubGluZS1ibG9ja31cbi5teS1hY2NvdW50IC5wYWdlciAucGFnZXN7Y2xlYXI6Ym90aH1cbi5wYWdlciAucGFnZXMgb2wgeyBkaXNwbGF5OmlubGluZTsgfVxuLnRvb2xiYXItYm90dG9tIC5wYWdlcyBsaS8qLC5wYWdlciAucGFnZXMgbGkqLyB7ZGlzcGxheTppbmxpbmU7bWFyZ2luOjAgNXB4IDAgMDtcbnRleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEzcHg7fVxuLnRvb2xiYXItYm90dG9tIC5wYWdlcyBsaSBhIC52LW1pZGRsZSxcbi5wYWdlciAucGFnZXMgbGkgYSAudi1taWRkbGV7bWFyZ2luLXRvcDotNHB4OyBkaXNwbGF5Om5vbmV9XG4ucGFnZXIgLnBhZ2VzIGxpIGEucHJldmlvdXMsXG4ucGFnZXIgLnBhZ2VzIGxpIGEubmV4dHt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO21hcmdpbjowO2hlaWdodDoxOXB4O31cblxuLyogU29ydGVyICovXG4uc29ydGVyIHtwYWRkaW5nOjA7IG1hcmdpbjowOyB9XG5cbi5wYWdlciBsYWJlbCxcbi5saW1pdGVyIGxhYmVsLFxuLnNvcnQtYnkgbGFiZWx7bWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi10b3A6NnB4OyBmbG9hdDpsZWZ0OyB9XG5cbi5zb3J0ZXIgLnZpZXctbW9kZSB7IGZsb2F0OmxlZnQ7IG1hcmdpbjowIDBweCAwOyBtaW4taGVpZ2h0OjI0cHggfVxuLnZpZXctbW9kZSBsYWJlbHtmbG9hdDpsZWZ0fVxuLnNvcnRlciAubGltaXRlcntmbG9hdDpyaWdodDsgbWFyZ2luLWJvdHRvbTo2cHg7IHRleHQtYWxpZ246cmlnaHQ7IG1pbi1oZWlnaHQ6MjRweH1cbi5zb3J0ZXIgLnNvcnQtYnkgeyBmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0OyBtYXJnaW4tbGVmdDowOyBtaW4taGVpZ2h0OjI0cHh9XG4uc29ydGVyIC5zb3J0LWJ5IGEuc29ydHsgd2lkdGg6MTdweDsgZmxvYXQ6bGVmdH1cblxuLyogVG9vbGJhciAqL1xuLnRvb2xiYXIgey8qcGFkZGluZy1ib3R0b206MzVweDsgcGFkZGluZy10b3A6MTVweCovfVxuLnRvb2xiYXItYm90dG9tIC50b29sYmFye3BhZGRpbmctdG9wOjA7IHBhZGRpbmctYm90dG9tOjB9XG4udG9vbGJhci1ib3R0b20gLnBhZ2VyIHtkaXNwbGF5OmJsb2NrfVxuLnRvb2xiYXItYm90dG9tIC5zb3J0ZXJ7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7fVxuLnRvb2xiYXIgLnNvcnRlciB7ZmxvYXQ6cmlnaHQ7d2lkdGg6NDAwcHh9XG4ucGFnZXIgLmFtb3VudHsgbWFyZ2luOjlweCAwIDdweDt9XG5cblxuLyogU2hvcHBpbmcgY2FydCB0b3RhbCBzdW1tYXJ5IHJvdyBleHBhbmRhYmxlIHRvIGRldGFpbHMgKi9cbnRyLnN1bW1hcnktdG90YWwgeyBjdXJzb3I6cG9pbnRlcjsgfVxudHIuc3VtbWFyeS10b3RhbCB0ZCB7fVxudHIuc3VtbWFyeS10b3RhbCAuc3VtbWFyeS1jb2xsYXBzZSB7IGZsb2F0OnJpZ2h0OyB0ZXh0LWFsaWduOnJpZ2h0OyBwYWRkaW5nLWxlZnQ6MjBweDsgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2JrZ19jb2xsYXBzZS5naWYpIDAgNHB4IG5vLXJlcGVhdDsgY3Vyc29yOnBvaW50ZXI7IH1cbnRyLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZSB7IGJhY2tncm91bmQtcG9zaXRpb246MCAtNTNweDsgfVxudHIuc2hvdy1kZXRhaWxzIHRkIHt9XG50ci5zdW1tYXJ5LWRldGFpbHMgdGQgeyBmb250LXNpemU6MTFweDsgYmFja2dyb3VuZC1jb2xvcjojZGFlMWU0OyBjb2xvcjojNjI2NDY1OyB9XG50ci5zdW1tYXJ5LWRldGFpbHMtZmlyc3QgdGQgeyBib3JkZXItdG9wOjFweCBzb2xpZCAjZDJkOGRiOyB9XG50ci5zdW1tYXJ5LWRldGFpbHMtZXhjbHVkZWQgeyBmb250LXN0eWxlOml0YWxpYzsgfVxuXG4vKiBTaG9wcGluZyBjYXJ0IHRheCBpbmZvICovXG4uY2FydC10YXgtaW5mbyB7IGRpc3BsYXk6YmxvY2s7IH1cbi5jYXJ0LXRheC1pbmZvLFxuLmNhcnQtdGF4LWluZm8gLmNhcnQtcHJpY2UgeyBwYWRkaW5nLXJpZ2h0OjIwcHg7IH1cbi5jYXJ0LXRheC10b3RhbCB7IGRpc3BsYXk6YmxvY2s7IHBhZGRpbmctcmlnaHQ6MjBweDsgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2JrZ19jb2xsYXBzZS5naWYpIDEwMCUgNHB4IG5vLXJlcGVhdDsgY3Vyc29yOnBvaW50ZXI7IH1cbi5jYXJ0LXRheC1pbmZvIC5wcmljZSxcbi5jYXJ0LXRheC10b3RhbCAucHJpY2UgeyBkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50OyBmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudDsgfVxuLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIC01M3B4OyB9XG5cbi8qIENsYXNzOiBzdGQgLSBzdHlsZXMgZm9yIGFkbWluLWNvbnRyb2xsZWQgY29udGVudCAqL1xuLyouc3RkIC5zdWJ0aXRsZSB7IHBhZGRpbmc6MDsgfVxuLnN0ZCBvbC5vbCB7IGxpc3Qtc3R5bGU6ZGVjaW1hbCBvdXRzaWRlOyBwYWRkaW5nLWxlZnQ6MS41ZW07IH1cbi5zdGQgdWwuZGlzYyB7IGxpc3Qtc3R5bGU6ZGlzYyBvdXRzaWRlOyBwYWRkaW5nLWxlZnQ6MThweDsgbWFyZ2luOjAgMCAxMHB4OyB9XG4uc3RkIGRsIGR0IHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuLnN0ZCBkbCBkZCB7IG1hcmdpbjowIDAgMTBweDsgfVxuLnN0ZCB1bCxcbi5zdGQgb2wsXG4uc3RkIGRsLFxuLnN0ZCBwLFxuLnN0ZCBhZGRyZXNzLFxuLnN0ZCBibG9ja3F1b3RlIHsgbWFyZ2luOjAgMCAxZW07IHBhZGRpbmc6MDsgfVxuLnN0ZCB1bCB7IGxpc3Qtc3R5bGU6ZGlzYyBvdXRzaWRlOyBwYWRkaW5nLWxlZnQ6MS41ZW07IH1cbi5zdGQgb2wgeyBsaXN0LXN0eWxlOmRlY2ltYWwgb3V0c2lkZTsgcGFkZGluZy1sZWZ0OjEuNWVtOyB9XG4uc3RkIHVsIHVsIHsgbGlzdC1zdHlsZS10eXBlOmNpcmNsZTsgfVxuLnN0ZCB1bCB1bCxcbi5zdGQgb2wgb2wsXG4uc3RkIHVsIG9sLFxuLnN0ZCBvbCB1bCB7IG1hcmdpbjouNWVtIDA7IH1cbi5zdGQgZHQgeyBmb250LXdlaWdodDpib2xkOyB9XG4uc3RkIGRkIHsgcGFkZGluZzowIDAgMCAxLjVlbTsgfVxuLnN0ZCBibG9ja3F1b3RlIHsgZm9udC1zdHlsZTppdGFsaWM7IHBhZGRpbmc6MCAwIDAgMS41ZW07IH1cbi5zdGQgYWRkcmVzcyB7IGZvbnQtc3R5bGU6bm9ybWFsOyB9XG4uc3RkIGIsXG4uc3RkIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cbi5zdGQgaSxcbi5zdGQgZW0geyBmb250LXN0eWxlOml0YWxpYzsgfSovXG5cbi8qIE1pc2MgKi9cbi5saW5rcyBsaSB7IGRpc3BsYXk6aW5saW5lO31cbi5saW5rcyBsaS5maXJzdCB7IHBhZGRpbmctbGVmdDowfVxuLmxpbmtzIGxpLmxhc3QgeyAvKmJhY2tncm91bmQ6bm9uZSAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OjAgIWltcG9ydGFudDsgKi99XG5cbi5saW5rLWNhcnQgeyBmb250LXdlaWdodDpib2xkOyB9XG4uY2F0YWxvZy1wcm9kdWN0LWNvbXBhcmUtaW5kZXggLmxpbmstcHJpbnQ6aG92ZXIsXG4uY2F0YWxvZy1wcm9kdWN0LWNvbXBhcmUtaW5kZXggLmxpbmstcHJpbnQgeyBcbmJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pX3ByaW50LnBuZykgbGVmdCBjZW50ZXIgbm8tcmVwZWF0OyBcbmRpc3BsYXk6aW5saW5lLWJsb2NrO1xucGFkZGluZzowIDAgMCAyMHB4OyBib3JkZXI6MDttYXJnaW4tdG9wOjEwcHg7fVxuLmxpbmstcnNzIHsgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2lfcnNzLmdpZikgMCAxcHggbm8tcmVwZWF0OyBwYWRkaW5nLWxlZnQ6MThweDsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4uYnRuLXJlbW92ZSxcbi5idG4tcmVtb3ZlMiB7IGRpc3BsYXk6YmxvY2s7IFxud2lkdGg6MjBweDsgXG5oZWlnaHQ6MjBweDsgXG5mb250LXNpemU6MDsgXG5saW5lLWhlaWdodDowOyBcbmJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pY29ucy5wbmcpIDAgLTYzOXB4IG5vLXJlcGVhdDsgXG50ZXh0LWluZGVudDotOTk5ZW07IG92ZXJmbG93OmhpZGRlbjsgfVxuLmJ0bi1yZW1vdmUyOmZvY3VzLFxuLmJ0bi1yZW1vdmU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2ljb25zLnBuZykgMCAtNjM5cHggbm8tcmVwZWF0OyB9XG4uYnRuLWVkaXQgICAgeyBcbmRpc3BsYXk6YmxvY2s7IFxud2lkdGg6MTFweDsgXG5oZWlnaHQ6MTFweDsgXG5mb250LXNpemU6MDsgXG5saW5lLWhlaWdodDowOyBcbmJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9idG5fZWRpdC5naWYpIDAgMCBuby1yZXBlYXQ7IFxudGV4dC1pbmRlbnQ6LTk5OWVtOyBcbm92ZXJmbG93OmhpZGRlbjsgXG5tYXJnaW4tcmlnaHQ6MnB4OyB9XG5cbi5jYXJkcy1saXN0IGR0IHsgbWFyZ2luOjVweCAwIDA7IH1cbi5jYXJkcy1saXN0IC5vZmZzZXQgeyBwYWRkaW5nOjJweCAwIDJweCAyMHB4OyB9XG5cblxuLnNlcGFyYXRvciB7IG1hcmdpbjowIDBweCAwIDNweDsgfVxuXG4uZGl2aWRlciB7IGNsZWFyOmJvdGg7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZTowOyBsaW5lLWhlaWdodDowOyBoZWlnaHQ6MXB4OyBtYXJnaW46MTBweCAwOyBiYWNrZ3JvdW5kOiNkZGQ7IHRleHQtaW5kZW50Oi05OTllbTsgb3ZlcmZsb3c6aGlkZGVuOyB9XG5cbi8qIE5vc2NyaXB0IE5vdGljZSAqL1xuLm5vc2NyaXB0IHsgYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBib3JkZXItd2lkdGg6MCAwIDFweDsgYmFja2dyb3VuZDojZmZmZjkwOyBmb250LXNpemU6MTJweDsgbGluZS1oZWlnaHQ6MS4yNTsgdGV4dC1hbGlnbjpjZW50ZXI7IGNvbG9yOiMyZjJmMmY7IH1cbi5ub3NjcmlwdCAubm9zY3JpcHQtaW5uZXIgeyB3aWR0aDoxMDAwcHg7IG1hcmdpbjowIGF1dG87IHBhZGRpbmc6MTJweCAwIDEycHg7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pX25vdGljZS5naWYpIDIwcHggNTAlIG5vLXJlcGVhdDsgfVxuLm5vc2NyaXB0IHAgeyBtYXJnaW46MDsgfVxuXG4vKiBEZW1vIE5vdGljZSAqL1xuLmRlbW8tbm90aWNlIHsgbWFyZ2luOjA7IHBhZGRpbmc6NnB4IDEwcHg7IGJhY2tncm91bmQ6I2Q3NWYwNzsgZm9udC1zaXplOjEycHg7IGxpbmUtaGVpZ2h0OjEuMTU7IHRleHQtYWxpZ246Y2VudGVyOyBjb2xvcjojZmZmOyB9XG5cbi8qIENvb2tpZSBOb3RpY2UgKi9cbi5ub3RpY2UtY29va2llIHsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2NmY2ZjZjsgYmFja2dyb3VuZDojZmZmZjkwOyBmb250LXNpemU6MTJweDsgbGluZS1oZWlnaHQ6MS4yNTsgdGV4dC1hbGlnbjpjZW50ZXI7IGNvbG9yOiMyZjJmMmY7IH1cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIgeyB3aWR0aDo4NzBweDsgbWFyZ2luOjAgYXV0bzsgcGFkZGluZzoxMnB4IDAgMTJweCA4MHB4OyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaV9ub3RpY2UuZ2lmKSAyMHB4IDI1cHggbm8tcmVwZWF0OyB0ZXh0LWFsaWduOmxlZnQ7IH1cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIgcCB7IG1hcmdpbjowIDAgMTBweDsgYm9yZGVyOjFweCBkb3R0ZWQgI2NjY2M3MzsgcGFkZGluZzoxMHB4OyB9XG4ubm90aWNlLWNvb2tpZSAubm90aWNlLWlubmVyIC5hY3Rpb25zIHsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBIZWFkZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkZXIgey8qIHBhZGRpbmc6MTBweDsgYm9yZGVyOjFweCBzb2xpZCAjZGRkOyovfVxuLmhlYWRlciAubG9nbyB7IGZsb2F0OmxlZnQ7IHRleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7IH1cbi5oZWFkZXIgLmxvZ28gc3Ryb25nIHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDotOTk5ZW07IGxlZnQ6LTk5OWVtOyB3aWR0aDowOyBoZWlnaHQ6MDsgZm9udC1zaXplOjA7IGxpbmUtaGVpZ2h0OjA7IHRleHQtaW5kZW50Oi05OTllbTsgb3ZlcmZsb3c6aGlkZGVuOyB9XG4uaGVhZGVyIGgxLmxvZ28geyBwYWRkaW5nOjA7IH1cbi5xdWljay1hY2Nlc3N7fVxuLmVtLWhlYWRlciAud2VsY29tZS1tc2d7fVxuLmhlYWRlciAud2VsY29tZS1tc2cge2Zsb2F0OnJpZ2h0OyBmbG9hdDogbGVmdDt9XG4uaGVhZGVyIC53ZWxjb21lLW1zZyBhIHt9XG4uaGVhZGVyIC5saW5rcyB7IG1hcmdpbi1ib3R0b206MH1cblxuLmhlYWRlciAuZm9ybS1zZWFyY2ggeyB0ZXh0LWFsaWduOmxlZnQ7IH1cbi5oZWFkZXIgLmZvcm0tc2VhcmNoIGxhYmVseyBkaXNwbGF5Om5vbmU7IH1cblxuLmhlYWRlciAuZm9ybS1zZWFyY2ggLnNlYXJjaC1hdXRvY29tcGxldGUgeyB6LWluZGV4Ojk5OTsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDAgIWltcG9ydGFudDsgdG9wOiAzNXB4ICFpbXBvcnRhbnQ7ei1pbmRleDogOTk5O31cbi5oZWFkZXIgLmZvcm0tc2VhcmNoICNzZWFyY2hfYXV0b2NvbXBsZXRlX2llZml4eyBsZWZ0OiAwICFpbXBvcnRhbnQ7IHRvcDogMzVweCAhaW1wb3J0YW50fVxuLmhlYWRlciAuZm9ybS1zZWFyY2ggLnNlYXJjaC1hdXRvY29tcGxldGUgdWwge2JhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7Ym9yZGVyOiAxcHggc29saWQgI0RERERERDt9XG4uaGVhZGVyIC5mb3JtLXNlYXJjaCAuc2VhcmNoLWF1dG9jb21wbGV0ZSBsaS5zZWxlY3RlZCB7IGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0Y3RThERDt9XG4uaGVhZGVyIC5mb3JtLXNlYXJjaCAuc2VhcmNoLWF1dG9jb21wbGV0ZSBsaSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDNweDt9XG4uaGVhZGVyIC5mb3JtLXNlYXJjaCAuc2VhcmNoLWF1dG9jb21wbGV0ZSBsaSAuYW1vdW50IHsgZmxvYXQ6cmlnaHQ7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cbi5oZWFkZXIgLmZvcm0tbGFuZ3VhZ2UgeyBjbGVhcjpib3RoOyB0ZXh0LWFsaWduOnJpZ2h0OyBtYXJnaW4tdG9wOjRweH1cbi5oZWFkZXItY29udGFpbmVyIC50b3AtY29udGFpbmVyIHsgY2xlYXI6Ym90aDsgdGV4dC1hbGlnbjpyaWdodDt9XG4uZm9ybS1sYW5ndWFnZSBsYWJlbHsgZGlzcGxheTpub25lO31cblxuXG4uZW1hcmVhMiB1bC5ob3ogc3Ryb25ne2ZvbnQtZmFtaWx5OiBBcmlhbH1cbi5pY29uLmYtbGVmdHttYXJnaW4tcmlnaHQ6NXB4fVxuXG4uYmxvY2stY2FydC10b3AuYmxvY2sgLmJ0bi1yZW1vdmUsIFxuLmJsb2NrLWNhcnQtdG9wLmJsb2NrIC5idG4tZWRpdHttYXJnaW46MDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDotNXB4OyBsZWZ0Oi01cHg7IH1cbi5ibG9jay1jYXJ0LXRvcC5ibG9jayAuYnRuLWVkaXR7dG9wOjIwcHg7bGVmdDowO31cblxuLyoqKioqKioqKiogPCBOYXZpZ2F0aW9uICovXG5cbiNuYXYge21hcmdpbjowOyB9XG5cbi8qIEFsbCBMZXZlbHMgKi9cbiNuYXYgbGkgeyB0ZXh0LWFsaWduOmxlZnQ7IHBvc2l0aW9uOnJlbGF0aXZlOyB9XG4jbmF2IGxpLm92ZXIgeyB6LWluZGV4OjEwOyB9XG4jbmF2IGxpIGEgeyBkaXNwbGF5OmJsb2NrOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfVxuI25hdiBsaSBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH1cbiNuYXYgbGkgYSBzcGFuIHsgZGlzcGxheTpibG9jazsgd2hpdGUtc3BhY2U6bm9ybWFsOyBjdXJzb3I6cG9pbnRlcjsgfVxuI25hdiBsaSB1bCBhIHNwYW4geyB3aGl0ZS1zcGFjZTpub3JtYWw7IH1cblxuLyogMXN0IExldmVsICovXG4jbmF2IGxpIHsgZmxvYXQ6bGVmdDsgfVxuI25hdiBsaSBhIHtwYWRkaW5nOjE1cHggMjBweDt9XG4jbmF2IGxpIGxpIGE6Zmlyc3QtY2hpbGR7LypwYWRkaW5nLWxlZnQ6MTBweCovfVxuXG5cbi8qIDJuZCBMZXZlbCAqL1xuI25hdiB1bCxcbiNuYXYgZGl2IHsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MTAwJTsgfVxuI25hdiBkaXYgdWwgeyBwb3NpdGlvbjpzdGF0aWM7IHdpZHRoOmF1dG87IGJvcmRlcjpub25lOyB9XG4jbmF2IHVsLmxldmVsMHtsZWZ0OjA7fVxuLyogM3JkKyBsZXZlbiAqL1xuI25hdiB1bCB1bCxcbiNuYXYgdWwgZGl2IHsgdG9wOi0xMHB4IWltcG9ydGFudDsgfVxuXG4jbmF2IHVsIGxpIHsgZmxvYXQ6bm9uZTsgYm9yZGVyOm5vbmU7IH1cbiNuYXYgdWwgbGkubGFzdCB7IGJvcmRlci1ib3R0b206MDsgfVxuI25hdiB1bCBsaSBhIHsgZmxvYXQ6bm9uZTsgcGFkZGluZzozcHggMTBweDsgZm9udC13ZWlnaHQ6bm9ybWFsOyB9XG4vKiBTaG93IG1lbnUgKi9cblxuI25hdiBsaSB1bC5zaG93bi1zdWIsXG4jbmF2IGxpIGRpdi5zaG93bi1zdWIgeyBsZWZ0OjA7IHotaW5kZXg6OTk5OyB9XG4jbmF2IGxpIC5zaG93bi1zdWIgdWwuc2hvd24tc3ViLFxuI25hdiBsaSAuc2hvd24tc3ViIGxpIGRpdi5zaG93bi1zdWIgeyBsZWZ0OjEwMCU7IH1cblxuLmxldmVsMCwuc2hvd24tc3Vie1xuXHR6LWluZGV4Ojk5OTk5OTk5ICFpbXBvcnRhbnQ7XG59XG5cbiNuYXYgbGkgYS5hcnJvdyBzcGFuLFxuLmVtX25hdiBhLmFycm93IHNwYW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2ljb24tbmF2LnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIHRyYW5zcGFyZW50O31cbi5lbV9uYXYgLm5hdi1yaWdodCBhLmFycm93IHNwYW4sXG4ubmF2LXJpZ2h0IHVsLmxldmVsMCBhLmFycm93IHNwYW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2ljb24tbmF2LXJpZ2h0LnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIGNlbnRlciB0cmFuc3BhcmVudDt9XG5cbi5hZGFwdC0wICNuYXYgbGkgYS5hcnJvdyBzcGFuLFxuLmFkYXB0LTAgLmVtX25hdiBhLmFycm93IHNwYW4geyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaWNvbi1uYXYtZHJvcC5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0IWltcG9ydGFudDt9XG4vKioqKioqKioqKiBOYXZpZ2F0aW9uID4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFNpZGViYXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpZGViYXIgLndpZGdldHttYXJnaW4tYm90dG9tOjIwcHh9XG4uYmxvY2sgLmJsb2NrLXRpdGxlIHsgfVxuLmJsb2NrIC5ibG9jay10aXRsZSBzdHJvbmcgc3BhbiB7fVxuLmJsb2NrIC5ibG9jay10aXRsZSBhIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDsgfVxuLmJsb2NrIC5ibG9jay1zdWJ0aXRsZSB7IG1hcmdpbi1ib3R0b206NXB4fVxuLmJsb2NrIC5idG4tcmVtb3ZlLFxuLmJsb2NrIC5idG4tZWRpdCB7IGZsb2F0OnJpZ2h0OyBtYXJnaW4tbGVmdDo1cHh9XG4uYmxvY2sgLmFjdGlvbnMgeyB9XG4uYmxvY2sgLmFjdGlvbnMgYSB7IGZsb2F0OmxlZnQ7IH1cbi5ibG9jayAuZW1wdHkge21hcmdpbi1ib3R0b206MH1cblxuLmJsb2NrIGxpLm9kZCB7fVxuLmJsb2NrIGxpLmV2ZW4geyAgfVxuXG4uYmxvY2stY29tcGFyZSAuYnRuLXJlbW92ZXtmbG9hdDpsZWZ0O21hcmdpbjowO31cbi8qIE1pbmkgUHJvZHVjdHMgTGlzdCAqL1xuLmJsb2NrIC5ibG9jay1jb250ZW50IGxpLml0ZW1zLFxuLm1pbmktcHJvZHVjdHMtbGlzdCBsaSB7IHBhZGRpbmc6NXB4IDA7IGNsZWFyOmJvdGh9XG5cbi5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaW1hZ2UgeyBmbG9hdDpsZWZ0O2JvcmRlcjowIWltcG9ydGFudDtwYWRkaW5nOjA7bWFyZ2luLXJpZ2h0OjEwcHg7IH1cbi5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtZGV0YWlscyB7IG92ZXJmbG93OmhpZGRlbjsgfVxuLm1pbmktcHJvZHVjdHMtbGlzdCAucHJvZHVjdC1kZXRhaWxzIGg0IHsgZm9udC1zaXplOjFlbTsgZm9udC13ZWlnaHQ6Ym9sZDsgbWFyZ2luOjA7IH1cbi5ibG9jay1jYXJ0IC5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1uYW1lLFxuLmJsb2NrLWNhcnQgLm1pbmktcHJvZHVjdHMtbGlzdCAucHJvZHVjdC1kZXRhaWxzIC5ub2JyIHNtYWxsIHsgd29yZC13cmFwOmJyZWFrLXdvcmQ7IH1cbi5ibG9jay1jYXJ0IC5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtZGV0YWlscyAubm9iciB7IHdoaXRlLXNwYWNlOm5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi8qIEJsb2NrOiBBY2NvdW50ICovXG4uYmxvY2suYmxvY2stYWNjb3VudCB7bWFyZ2luLXRvcDowcHg7cGFkZGluZzowcHggIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMH1cbi5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSB7bWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTZweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM5OWQ0OyBjb2xvcjogI2ZmZn1cbi5ibG9jay1hY2NvdW50IC5ibG9jay1jb250ZW50e3BhZGRpbmc6IDEwcHggIWltcG9ydGFudDt9XG4uYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaSB7cGFkZGluZzogMCAwfVxuLmJsb2NrLWFjY291bnQgLmJsb2NrLWNvbnRlbnQgbGkgYSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3BhZGRpbmc6IDdweCAwICFpbXBvcnRhbnR9XG4uYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaSBzdHJvbmd7cGFkZGluZzogN3B4IDAgIWltcG9ydGFudH1cbi5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSBzdHJvbmcgc3Bhbntjb2xvcjojZmZmICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDt9XG4uYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaS5sYXN0IGEgeyBib3JkZXItYm90dG9tOjA7IH1cbi5ibG9jay1hY2NvdW50IC5ibG9jay1jb250ZW50IGxpLmN1cnJlbnQubGFzdCB7IGJvcmRlci1ib3R0b206MDsgfVxuXG4vKiBCbG9jazogQ3VycmVuY3kgU3dpdGNoZXIgKi9cbi5ibG9jay5ibG9jay1jdXJyZW5jeSAuYmxvY2stdGl0bGV7bGluZS1oZWlnaHQ6MTdweDsgcGFkZGluZy1yaWdodDoxMHB4O31cbi5ibG9jay1jdXJyZW5jeSAuYmxvY2stdGl0bGUgc3BhbiB7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgZm9udC1zaXplOjEwcHg7fVxuLmJsb2NrLWN1cnJlbmN5IHNlbGVjdCB7IC8qd2lkdGg6OTBweDsgYm9yZGVyOjFweCBzb2xpZCAjNTE1MDRmOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBmb250LXNpemU6MTBweDsgcGFkZGluZzowOyA7Ki99XG4uYmxvY2suYmxvY2stY3VycmVuY3kgPmRpdnsgZmxvYXQ6bGVmdDsgcGFkZGluZzowO31cbi5zaWRlYmFyIC5ibG9jay5ibG9jay1jdXJyZW5jeSBzZWxlY3R7IHdpZHRoOjEwMCU7fVxuLmJveC1hY2NvdW50LmJveC1pbmZvIC5ib3ggeyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7ICAgIHdpZHRoOiAxMDAlO31cblxuXG4vKiBCbG9jazogTGF5ZXJlZCBOYXZpZ2F0aW9uICovXG4vKi5ibG9jay1sYXllcmVkLW5hdiBsaSB7IHBhZGRpbmc6M3B4IDA7IHBvc2l0aW9uOnJlbGF0aXZlO31cbi5ibG9jay1sYXllcmVkLW5hdiBkdCB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtZmFtaWx5OkFyaWFsfVxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZXsgcGFkZGluZy1ib3R0b206MWVtO31cbi5ibG9jay1sYXllcmVkLW5hdiAuYnRuLXJlbW92ZSB7IHBvc2l0aW9uOmFic29sdXRlOyByaWdodDowOyB0b3A6NnB4OyB9Ki9cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUge21hcmdpbi1ib3R0b206MDtwYWRkaW5nOjhweCAwIDdweDtjbGVhcjpib3RoO2Rpc3BsYXk6bm9uZTt9XG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQge31cbi5ibG9jay1sYXllcmVkLW5hdiBkbHttYXJnaW4tYm90dG9tOjB9XG4uYmxvY2stbGF5ZXJlZC1uYXYgZGQgeyBtYXJnaW4tYm90dG9tOjE1cHh9XG4uYmxvY2stbGF5ZXJlZC1uYXYgZGQgb2x7IG1hcmdpbi1ib3R0b206MH1cbi5ibG9jay1sYXllcmVkLW5hdiBkZCBsaSBvbHtwYWRkaW5nLWxlZnQ6MTBweCFpbXBvcnRhbnQ7fVxuLmJsb2NrLWxheWVyZWQtbmF2IGRkIGxpOmhvdmVyIGF7fVxuLmJsb2NrLWxheWVyZWQtbmF2IGRkLmxhc3QgeyBiYWNrZ3JvdW5kOm5vbmU7IG1hcmdpbi1ib3R0b206MH1cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IGxpIHtwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDoxOyBsaW5lLWhlaWdodDoxLjU7IHBhZGRpbmctcmlnaHQ6MTVweCB9XG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSAubGFiZWwgeyBmb250LXdlaWdodDpib2xkO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7bWFyZ2luOjE1cHggMCAwIDA7IH1cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IC52YWx1ZSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7bWFyZ2luOjEwcHggMCAwIDA7fVxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJ0bi1yZW1vdmV7cG9zaXRpb246YWJzb2x1dGU7IHJpZ2h0OjA7IHRvcDoxNXB4O31cblxuXG4vKiBCbG9jazogQ2FydCAqL1xuLmJsb2NrLWNhcnQge31cbi5ibG9jay1jYXJ0IC5zdW1tYXJ5IHt9XG4uYmxvY2stY2FydCAuYW1vdW50IHt9XG4uYmxvY2stY2FydCAuc3VidG90YWwgeyB9XG4uYmxvY2stY2FydCAuYWN0aW9ucyB7IHBhZGRpbmctYm90dG9tOjEwcHg7fVxuLmJsb2NrLWNhcnQgLmFjdGlvbnMgLnBheXBhbC1sb2dvIHsgZmxvYXQ6bGVmdDsgd2lkdGg6MTAwJTsgbWFyZ2luOjNweCAwIDA7IHRleHQtYWxpZ246cmlnaHQ7IH1cbi5ibG9jay1jYXJ0IC5hY3Rpb25zIC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHsgY2xlYXI6Ym90aDsgZGlzcGxheTpibG9jazsgcGFkZGluZzowIDU1cHggNXB4IDA7IH1cblxuLyogQmxvY2s6IFdpc2hsaXN0ICovXG4uYmxvY2std2lzaGxpc3QgLmJsb2NrLWNvbnRlbnQgbGkuaXRlbSB7cGFkZGluZzoxMnB4IDAgMjBweH1cbiN3aXNobGlzdC10YWJsZSBpbnB1dHsgY2xlYXI6bGVmdDsgZGlzcGxheTpibG9jazsgbWFyZ2luOjVweCAwOyB9XG4jd2lzaGxpc3QtdGFibGUgdGh7d2hpdGUtc3BhY2U6bm9ybWFsICFpbXBvcnRhbnR9XG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCBweyBjbGVhcjpsZWZ0OyBmbG9hdDpsZWZ0OyBtYXJnaW46NXB4IDA7d2lkdGg6MTAwJTt9XG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCAucHJpY2UtYm94IHB7IG1hcmdpbi10b3A6MHB4OyB9XG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCAucHJpY2UtYm94eyBkaXNwbGF5OmlubGluZS1ibG9jazsgbWFyZ2luLXRvcDoycHh9XG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCBwLm9sZC1wcmljZXsgbWFyZ2luLXRvcDowfVxuI3dpc2hsaXN0LXRhYmxlIC5jYXJ0LWNlbGx7ZGlzcGxheTppbmxpbmV9XG4jd2lzaGxpc3QtdGFibGUgdGQgLmJ0bi1yZW1vdmUye21hcmdpbjo1cHggYXV0bzt9XG4uYmxvY2std2lzaGxpc3QgLmJsb2NrLWNvbnRlbnR7bWFyZ2luLWJvdHRvbToxNXB4fVxuLmJsb2NrLXdpc2hsaXN0ICN3aXNobGlzdC1zaWRlYmFye21hcmdpbi1ib3R0b206MH1cbi5ibG9jay13aXNobGlzdCBsaSAucHJvZHVjdC1uYW1le21hcmdpbi1yaWdodDoyMHB4fVxuLmJsb2NrLmJsb2NrLXdpc2hsaXN0IC5wcmljZS1ib3h7IHBhZGRpbmctdG9wOjVweH1cbi5ibG9jay5ibG9jay13aXNobGlzdCAubGluay1jYXJ0eyBtYXJnaW4tdG9wOjdweH1cbi5ibG9jay13aXNobGlzdCBsaS5pdGVte3RleHQtYWxpZ246Y2VudGVyfVxuLmJsb2NrLXdpc2hsaXN0IGxpLml0ZW0gYS5wcm9kdWN0LWltYWdle3BhZGRpbmctcmlnaHQ6MDsgbWFyZ2luLXJpZ2h0OjEwcHh9XG4uYmxvY2std2lzaGxpc3QgLnByb2R1Y3QtZGV0YWlsc3t0ZXh0LWFsaWduOmxlZnQ7IG1hcmdpbjowIDsgb3ZlcmZsb3c6aGlkZGVuO31cbi5ibG9jay13aXNobGlzdCAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWV7bWFyZ2luLWJvdHRvbTowfVxuLmJsb2NrLXdpc2hsaXN0IC5ibG9jay1zdWJ0aXRsZXttYXJnaW4tYm90dG9tOjEwcHh9XG4vKiBCbG9jazogUmVsYXRlZCAqL1xuLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgbGkuaXRlbSB7cG9zaXRpb246cmVsYXRpdmU7IH1cbi5ibG9jay1yZWxhdGVkIGlucHV0LmNoZWNrYm94IHsgZmxvYXQ6bGVmdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTVweDtsZWZ0OjA7ei1pbmRleDoxO31cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0IC5wcm9kdWN0LWltYWdlIHsgZmxvYXQ6bGVmdDsgcGFkZGluZzowO21hcmdpbjowIDEwcHggMCAwO31cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7bWFyZ2luLWJvdHRvbToxMHB4IH1cbi5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IGxpLml0ZW0gLnByaWNlLWJveHtwYWRkaW5nOjAgMCAxMHB4fVxuLmFkYXB0LTEgLmVtLXNpZGViYXIgLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlsc3tjbGVhcjpib3RoO21hcmdpbi10b3A6MTBweDtmbG9hdDpsZWZ0O31cblxuLyogQmxvY2s6IENvbXBhcmUgUHJvZHVjdHMgKi9cbi5ibG9jay5ibG9jay1jb21wYXJlIHt9XG4uYmxvY2suYmxvY2stY29tcGFyZSAuYmxvY2stY29udGVudCBsaS5pdGVte3BhZGRpbmc6MTBweCAwO31cbi5ibG9jay5ibG9jay1jb21wYXJlIC5ibG9jay1jb250ZW50IGxpLml0ZW06Zmlyc3QtY2hpbGR7cGFkZGluZzozcHggMCAxMHB4O31cbi5ibG9jay1jb21wYXJlIGxpIC5wcm9kdWN0LW5hbWV7bWFyZ2luOjAgMCAwIDMwcHg7fVxuLmJsb2NrLmJsb2NrLWNvbXBhcmUgbGkuZXZlbiB7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt9XG4uYmxvY2stY29tcGFyZSBvbCB7IGxpc3Qtc3R5bGU6bm9uZTsgcGFkZGluZy1sZWZ0OjA7bWFyZ2luOjA7IH1cbi5ibG9jay1jb21wYXJlIC5hY3Rpb25zIGJ1dHRvbi5idXR0b257ZmxvYXQ6bGVmdDttYXJnaW46MCAxMHB4IDAgMDt9XG4jY2hlY2tvdXQtc3RlcC1iaWxsaW5nIGJ1dHRvbi5idXR0b24gc3BhbiwuYmxvY2stY29tcGFyZSAuYWN0aW9ucyBidXR0b24uYnV0dG9uIHNwYW57Y29sb3I6ICM0Mzk5ZDQ7fVxuLmJsb2NrLWNvbXBhcmUgLmFjdGlvbnMgYSB7bWFyZ2luLXRvcDo3cHg7IGZsb2F0OnJpZ2h0OyBtYXJnaW4tYm90dG9tOjEwcHh9XG4uYmxvY2stY29tcGFyZSAuYWN0aW9uc3ttYXJnaW46MTBweCAwIDA7fVxuLmNvbXBhcmUtdGFibGUgdGQgLnByaWNlLWJveHttYXJnaW4tYm90dG9tOjE3cHg7fVxuLmNvbXBhcmUtdGFibGUgdGQgLnByaWNlLWJveCBweyBmbG9hdDpub25lfVxuLmNvbXBhcmUtdGFibGUgdGQgcHsgbWFyZ2luLWJvdHRvbTowfVxuLmNvbXBhcmUtdGFibGUgdGQgYnV0dG9uLmJ1dHRvbnsgbWFyZ2luOjEwcHggMTBweCAwIDA7fVxuLmNvbXBhcmUtdGFibGUgdGQgLmFkZC10by1saW5rc3sgbWFyZ2luOjEwcHggMCAwOyBmbG9hdDpsZWZ0O2NsZWFyOm5vbmU7IH1cbi5jb21wYXJlLXRhYmxlIHRkIC5hZGQtdG8tbGlua3MgbGl7Ym9yZGVyOjA7fVxuLmNvbXBhcmUtdGFibGUgdGQgLnByb2R1Y3QtaW1hZ2V7IG1hcmdpbjowIGF1dG8gMjBweCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxuLmNvbXBhcmUtdGFibGUgdGQgLmJ0bi1yZW1vdmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxuLmNvbXBhcmUtdGFibGUgdGh7Y29sb3I6IzMwMzAzMDsgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX1cbi5jb21wYXJlLXRhYmxlIHRoZWFkIHRkLmEtcmlnaHQge3RleHQtYWxpZ246Y2VudGVyICFpbXBvcnRhbnQ7fVxuLmNvbXBhcmUtdGFibGUgdGhlYWQgdGR7cGFkZGluZy1ib3R0b206MDt9XG4ucGFnZS1wb3B1cCAuYnV0dG9ucy1zZXQgeyBwYWRkaW5nLXJpZ2h0OjA7fVxuLnBhZ2UtcG9wdXAgLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b257ZmxvYXQ6cmlnaHQ7IH1cblxuLyogQmxvY2s6IFJlY2VudGx5IFZpZXdlZCAqL1xuLmJsb2NrLWNvbXBhcmVkIG9sIHAucHJvZHVjdC1uYW1lLFxuLmJsb2NrLXZpZXdlZCBvbCBwLnByb2R1Y3QtbmFtZSB7IG1hcmdpbi1ib3R0b206MDsgfVxuXG4vKiBCbG9jazogUmVjZW50bHkgQ29tcGFyZWQgKi9cbi5ibG9jay1jb21wYXJlZCB7fVxuXG4vKiBCbG9jazogUG9sbCAqL1xuLmJsb2NrLXBvbGwgaW5wdXQucmFkaW8geyBmbG9hdDpsZWZ0OyBtYXJnaW46MXB4IC0xOHB4IDAgMDsgfVxuLmJsb2NrLXBvbGwgLmxhYmVsIHsgZGlzcGxheTpibG9jazsgbWFyZ2luLWxlZnQ6MThweDsgfVxuLmJsb2NrLXBvbGwgbGkgeyBwYWRkaW5nOjZweCAwOyB9XG4uYmxvY2stcG9sbCAuYWN0aW9ucyB7IG1hcmdpbjo1cHggYXV0byAwOyB9XG4uYmxvY2stcG9sbCAuYW5zd2VyIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuLmJsb2NrLXBvbGwgLnZvdGVzIHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbi1sZWZ0OjEwcHg7IH1cblxuLyogQmxvY2s6IFN1YnNjcmliZSAqL1xuXG4vKiBCbG9jazogUmVvcmRlciAqL1xuLmJsb2NrLXJlb3JkZXIge31cbi5ibG9jay1yZW9yZGVyIGxpIHsgcGFkZGluZzo1cHggMDsgfVxuLmJsb2NrLXJlb3JkZXIgaW5wdXQuY2hlY2tib3ggeyBmbG9hdDpsZWZ0OyBtYXJnaW46NHB4IDEwcHggMCAwOyB9XG4uYmxvY2stcmVvcmRlciAucHJvZHVjdC1uYW1lIHsgbWFyZ2luLWxlZnQ6MjBweDsgbWFyZ2luLWJvdHRvbTowO31cbi5ibG9jay1yZW9yZGVyIC5hY3Rpb25zIGF7IGZsb2F0OmxlZnQ7IGNsZWFyOmJvdGg7bWFyZ2luLXRvcDoxMHB4O31cbi5ibG9jay1yZW9yZGVyIC5hY3Rpb25zIGEgLmFycm93LWJveHtkaXNwbGF5Om5vbmU7fVxuLmJsb2NrLXJlb3JkZXIgLmFjdGlvbnMgYnV0dG9uLmJ1dHRvbnttYXJnaW4tcmlnaHQ6MjBweDsgZmxvYXQ6bGVmdH1cblxuLyogQmxvY2s6IEJhbm5lciAqL1xuLmJsb2NrLWJhbm5lciB7ZmxvYXQ6bGVmdH1cbi5ibG9jay1iYW5uZXIgLmJsb2NrLWNvbnRlbnQgeyB0ZXh0LWFsaWduOmNlbnRlcjsgfVxuXG4vKiBCbG9jazogTG9naW4gKi9cbi5ibG9jay1sb2dpbiBsYWJlbCB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiM2NjY7IH1cbi5ibG9jay1sb2dpbiBpbnB1dC5pbnB1dC10ZXh0IHsgZGlzcGxheTpibG9jazsgd2lkdGg6MTY3cHg7IG1hcmdpbjozcHggMDsgfVxuXG4vKiBQYXlwYWwgKi9cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyB7IGRpc3BsYXk6bm9uZTsgbWFyZ2luOjEwcHggMDsgdGV4dC1hbGlnbjpjZW50ZXI7IH1cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyBhIHsgZmxvYXQ6bm9uZTsgfVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogQ2F0ZWdvcnkgUGFnZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VuZGZyaWVuZC1wcm9kdWN0LXNlbmQgLnBhZ2UtdGl0bGUsXG4udGFnLXByb2R1Y3QtbGlzdCAucGFnZS10aXRsZSxcbi50YWctbGlzdC1pbmRleCAucGFnZS10aXRsZSxcbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS10aXRsZSxcbi5jYXRlZ29yeS10aXRsZSB7IGJvcmRlcjowOyBtYXJnaW46MCAwIDEwcHg7fVxuLmNhdGVnb3J5LWltYWdlIHt3aWR0aDoyNSU7IG92ZXJmbG93OmhpZGRlbjsgbWFyZ2luOjAgMCA0MHB4O31cbi5jYXRlZ29yeS1pbWFnZSBpbWcge3dpZHRoOjEwMCV9XG4uY2F0ZWdvcnktZGVzY3JpcHRpb24ge3BhZGRpbmc6NXB4IDA7bWFyZ2luOjAgMCA4cHggMDsgfVxuLmNhdGVnb3J5LXByb2R1Y3RzIHt9XG4uYWRkLXRvLWxpbmtze2NsZWFyOmJvdGg7fVxuLmFkZC10by1saW5rcyBsaSB7ZmxvYXQ6bGVmdDt9XG4uYWRkLXRvLWxpbmtzIC5zZXBhcmF0b3Ige2Rpc3BsYXk6bm9uZX1cbi5hZGQtdG8tbGlua3MgbGkgLnNlcGFyYXRvcntkaXNwbGF5Om5vbmV9XG4uY2F0ZWdvcnktcHJvZHVjdHMgLnByb2R1Y3RzLWdyaWQsXG4uY2F0ZWdvcnktcHJvZHVjdHMgLnByb2R1Y3RzLWxpc3Qge1xuICAgXG59XG4vKiBWaWV3IFR5cGU6IEdyaWQgKi9cbi5wcm9kdWN0cy1ncmlkIHtwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuLnByb2R1Y3RzLWdyaWQubGFzdCB7IGJvcmRlci1ib3R0b206MDsgfVxuLnByb2R1Y3RzLWdyaWQgbGkuaXRlbSB7IGZsb2F0OmxlZnQ7IC8qd2lkdGg6MTM4cHg7Ki8gLypwYWRkaW5nOjBweCAwcHggMjBweDsgKi99XG4ucHJvZHVjdHMtZ3JpZCAucHJpY2UtYm94IHsgbWFyZ2luOjAgMCA1cHg7ZmxvYXQ6bGVmdDsgfVxuLnByb2R1Y3RzLWdyaWQgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7IG1hcmdpbjowcHg7IH1cbi5wcm9kdWN0cy1ncmlkIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2V7IG1hcmdpbjowcHg7IH1cbi5wcm9kdWN0cy1ncmlkIC5hdmFpbGFiaWxpdHkgeyB9XG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5nc3sgZmxvYXQ6cmlnaHQ7bWFyZ2luOjhweCAwO31cbi5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzIC5yYXRpbmctbGlua3N7ZGlzcGxheTpub25lO31cbi5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzIC5yYXRpbmctYm94IHsgZmxvYXQ6bm9uZTsgZGlzcGxheTpibG9jazttYXJnaW46IDA7fVxuLnByb2R1Y3RzLWdyaWQgLnJhdGluZ3MgLmFtb3VudHt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5Om5vbmU7fVxuLmNvbDItbGVmdC1sYXlvdXQgLnByb2R1Y3RzLWdyaWQsXG4uY29sMi1yaWdodC1sYXlvdXQgLnByb2R1Y3RzLWdyaWQgeyB3aWR0aDo2MzJweDsgbWFyZ2luOjAgYXV0bzsgfVxuLmNvbDEtbGF5b3V0IC5wcm9kdWN0cy1ncmlkIHsgd2lkdGg6NzkwcHg7IG1hcmdpbjowIGF1dG87IH1cbi5wcm9kdWN0cy1ncmlkIC5idG4tY2FydCB7IGZsb2F0OiBsZWZ0OyBjbGVhcjpib3RoLyptYXJnaW46IDE1cHggMTBweCAwIDA7Ki99XG4ucHJvZHVjdHMtZ3JpZCAuYWRkLXRvLWxpbmtzIHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46MCAtMjBweCAwIDA7IGNsZWFyOm5vbmU7fVxuLnByb2R1Y3RzLWdyaWQgLmFkZC10by1saW5rcyBsaSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7IH1cbi5wcm9kdWN0cy1ncmlkIC5idG4tY2FydHttYXJnaW46MCAwIDEwcHg7fVxuXG4vKiBWaWV3IFR5cGU6IExpc3QgKi9cbi5wcm9kdWN0cy1saXN0IGxpLml0ZW0geyBwYWRkaW5nOjEwcHggMDsgcG9zaXRpb246cmVsYXRpdmV9XG4ucHJvZHVjdHMtbGlzdCBsaS5pdGVtLmxhc3QgeyB9XG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pbWFnZSB7IGZsb2F0OmxlZnQ7IG1hcmdpbjowIDEwcHggMCAwOyB9XG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIHsgb3ZlcmZsb3c6aGlkZGVuO31cbi5wcm9kdWN0cy1saXN0IC5wcmljZS1ib3ggeyBtYXJnaW46MCAwIDZweDsgY2xlYXI6Ym90aH1cbi5wcm9kdWN0cy1saXN0IC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgeyBtYXJnaW46MHB4O3doaXRlLXNwYWNlOm5vd3JhcDsgfVxuLnByb2R1Y3RzLWxpc3QgLnByaWNlLWJveCAubWluaW1hbC1wcmljZXsgbWFyZ2luOjBweDsgfVxuLnByb2R1Y3RzLWxpc3QgLmF2YWlsYWJpbGl0eSB7IG1hcmdpbjozcHggMCAwOyBkaXNwbGF5OmJsb2NrOyB9XG4ucHJvZHVjdHMtbGlzdCAuZGVzYyB7IGNsZWFyOmJvdGg7IHBhZGRpbmc6IDA7IG1hcmdpbjowIDAgN3B4OyBsaW5lLWhlaWdodDoxLjM1OyB9XG4ucHJvZHVjdHMtbGlzdCAuYWRkLXRvLWxpbmtzIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjowOyBwYWRkaW5nOjA7Y2xlYXI6Ym90aDsgfVxuLnByb2R1Y3RzLWxpc3QgLmFkZC10by1saW5rcyBsaSB7IGRpc3BsYXk6aW5saW5lOyB9XG4ucHJvZHVjdHMtbGlzdCAuYWRkLXRvLWxpbmtzIC5zZXBhcmF0b3IgeyB9XG4ucHJvZHVjdHMtbGlzdCBwLmJ0bi1jYXJ0IHsgIGZsb2F0OiBsZWZ0OyBtYXJnaW4tYm90dG9tOjA7IH1cbi5wcm9kdWN0cy1saXN0IC5yYXRpbmdze21hcmdpbjowIDAgMTVweDt9XG5cbi5lbS1zaWRlYmFyIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWltYWdle21hcmdpbjowIDEwcHggMTBweCAwO31cbi5lbS1zaWRlYmFyIC5wcm9kdWN0cy1saXN0IC5yYXRpbmdze21hcmdpbjowIDAgNHB4O31cbi5lbS1zaWRlYmFyIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LW5hbWV7bWFyZ2luOjAgMCAxMHB4O31cbi5wcm9kdWN0cy1saXN0IC5idXR0b24uYnRuLWNhcnR7bWFyZ2luOjAgMCAxMHB4O31cblxuLmNhdGVnb3J5LXByb2R1Y3RzIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWltYWdle21hcmdpbjowO31cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFByb2R1Y3QgVmlldyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUmF0aW5nICovXG4ubm8tcmF0aW5nLFxuLnJhdGluZ3N7bWFyZ2luOjBweCAwIDVweDsgb3ZlcmZsb3c6aGlkZGVufVxuLnRhZ3MgeyBtYXJnaW46MHB4IDAgNXB4OyBvdmVyZmxvdzpoaWRkZW59XG4ucmF0aW5ncyBzdHJvbmcgeyBmbG9hdDpsZWZ0OyBtYXJnaW46MXB4IDNweCAwIDA7IH1cbi5yYXRpbmdzIC5yYXRpbmctbGlua3MgeyBtYXJnaW4tYm90dG9tOjA7IH1cbi5wcm9kdWN0cy1saXN0IC5yYXRpbmdzIC5yYXRpbmctbGlua3N7ZGlzcGxheTpub25lO31cbi5yYXRpbmdzIC5yYXRpbmctbGlua3MgLnNlcGFyYXRvciB7IG1hcmdpbjowIDdweDsgfVxuLnJhdGluZy1ib3ggeyB3aWR0aDo2NXB4OyBoZWlnaHQ6MTJweDsgZm9udC1zaXplOjA7IGxpbmUtaGVpZ2h0OjA7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9ia2dfcmF0aW5nLnBuZykgMCAxMDAlIHJlcGVhdC14OyB0ZXh0LWluZGVudDotOTk5ZW07IG92ZXJmbG93OmhpZGRlbjsgfVxuLnJhdGluZy1ib3ggLnJhdGluZyB7IGZsb2F0OmxlZnQ7IGhlaWdodDoxMnB4OyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYmtnX3JhdGluZy5wbmcpIDAgMCByZXBlYXQteDsgfVxuLnJhdGluZ3MgLnJhdGluZy1ib3ggeyBmbG9hdDpsZWZ0OyBtYXJnaW4tcmlnaHQ6M3B4OyB9XG4ucmF0aW5ncyAuYW1vdW50IHsgcGFkZGluZy10b3A6MnB4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7fVxuLnJhdGluZ3MtdGFibGUgdGgsIC5yYXRpbmdzLXRhYmxlIHRkIHsgcGFkZGluZzogNXB4IDAgNnB4OyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTt9XG4ucmF0aW5ncy10YWJsZSB0aHsgcGFkZGluZy1yaWdodDoxOHB4fVxuLnByb2R1Y3QtdmlldyAucmF0aW5nc3sgLyp3aWR0aDoxMDAlKi99XG4vKiBBdmFpbGFiaWxpdHkgKi9cbi5hdmFpbGFiaWxpdHkgeyBtYXJnaW46MDsgcGFkZGluZzo1cHggMH1cbi5hdmFpbGFiaWxpdHktb25seSB7IG1hcmdpbjowIDAgN3B4OyB9XG4uYXZhaWxhYmlsaXR5LW9ubHkgYSB7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pX2F2YWlsYWJpbGl0eV9vbmx5X2Fycm93LmdpZikgMTAwJSAwIG5vLXJlcGVhdDsgY3Vyc29yOnBvaW50ZXI7IHBhZGRpbmctcmlnaHQ6MTVweDsgfVxuLmF2YWlsYWJpbGl0eS1vbmx5IC5leHBhbmRlZCB7IGJhY2tncm91bmQtcG9zaXRpb246MTAwJSAtMTVweDsgfVxuLmF2YWlsYWJpbGl0eS1vbmx5IHN0cm9uZyB7fVxuXG4uYXZhaWxhYmlsaXR5LW9ubHktZGV0YWlscyB7IG1hcmdpbjowIDAgN3B4OyB9XG4uYXZhaWxhYmlsaXR5LW9ubHktZGV0YWlscyB0aCB7IGJhY2tncm91bmQ6I2YyZjJmMjsgZm9udC1zaXplOjEwcHg7IHBhZGRpbmc6MCA4cHg7IH1cbi5hdmFpbGFiaWxpdHktb25seS1kZXRhaWxzIHRkIHsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsgZm9udC1zaXplOjExcHg7IHBhZGRpbmc6MnB4IDhweCAxcHg7IH1cbi5hdmFpbGFiaWxpdHktb25seS1kZXRhaWxzIHRyLm9kZCB0ZC5sYXN0IHt9XG4ucHJvZHVjdC12aWV3IC5hdmFpbGFiaWxpdHkuaW4tc3RvY2sge2Zsb2F0OmxlZnQ7Y2xlYXI6Ym90aDsgcGFkZGluZzo4cHggMCAxOHB4O31cbi8qIEVtYWlsIHRvIGEgRnJpZW5kICovXG4ucXVpY2tzaG9wLWluZGV4LXZpZXcgLmVtYWlsLWZyaWVuZHsgcGFkZGluZy10b3A6MDsgbWFyZ2luLXRvcDotM3B4fVxuLmVtYWlsLWZyaWVuZHttYXJnaW4tYm90dG9tOjEwcHg7XG5iYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaWNvbl9lbWFpbC5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjsgcGFkZGluZy1sZWZ0OjI1cHh9XG5cbi8qIEFsZXJ0cyAqL1xuLmFsZXJ0LXByaWNlIHt9XG4uYWxlcnQtc3RvY2sge31cblxuLyoqKioqKioqKiogPCBQcm9kdWN0IFByaWNlcyAqL1xuLnByaWNlIHsgd2hpdGUtc3BhY2U6bm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnByaWNlLWJveCB7fVxuLnByaWNlLWJveCAucHJpY2UgeyBjb2xvcjojNDM5OWQ0fVxuXG4vKiBSZWd1bGFyIHByaWNlICovXG4ucmVndWxhci1wcmljZSB7fVxuLnJlZ3VsYXItcHJpY2UgLnByaWNlIHsgY29sb3I6IzQzOTlkNH1cblxuLyogT2xkIHByaWNlICovXG4ub2xkLXByaWNlIHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA0cHggMCAwO31cbi5vbGQtcHJpY2UgLnByaWNlLWxhYmVsIHsgd2hpdGUtc3BhY2U6bm93cmFwOyBkaXNwbGF5Om5vbmV9XG4ub2xkLXByaWNlIC5wcmljZSB7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDsgfVxuXG4vKiBTcGVjaWFsIHByaWNlICovXG4uc3BlY2lhbC1wcmljZSB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjA7fVxuLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyB3aGl0ZS1zcGFjZTpub3dyYXA7IGRpc3BsYXk6bm9uZX1cblxuLyogTWluaW1hbCBwcmljZSAoYXMgbG93IGFzKSAqL1xuLm1pbmltYWwtcHJpY2Uge31cbi5taW5pbWFsLXByaWNlIC5wcmljZS1sYWJlbCB7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG5cbi5taW5pbWFsLXByaWNlLWxpbmsgeyBkaXNwbGF5OmJsb2NrOyB9XG4ubWluaW1hbC1wcmljZS1saW5rIC5sYWJlbCB7fVxuXG4vKiBFeGNsdWRpbmcgdGF4ICovXG4ucHJpY2UtZXhjbHVkaW5nLXRheCB7IGRpc3BsYXk6YmxvY2s7IH1cbi5wcmljZS1leGNsdWRpbmctdGF4IC5sYWJlbCB7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfVxuLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyB9XG5cbi8qIEluY2x1ZGluZyB0YXggKi9cbi5wcmljZS1pbmNsdWRpbmctdGF4IHsgZGlzcGxheTpibG9jazsgfVxuLnByaWNlLWluY2x1ZGluZy10YXggLmxhYmVsIHsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4ucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2UgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbi8qIENvbmZpZ3VyZWQgcHJpY2UgKi9cbi5jb25maWd1cmVkLXByaWNlIHt9XG4uY29uZmlndXJlZC1wcmljZSAucHJpY2UtbGFiZWwgeyBmb250LXdlaWdodDpib2xkOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH1cbi5jb25maWd1cmVkLXByaWNlIC5wcmljZSB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cblxuLyogRlBUICovXG4ud2VlZSB7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToxMXB4OyBjb2xvcjojNDQ0OyB9XG4ud2VlZSAucHJpY2UgeyBmb250LXNpemU6MTFweDsgZm9udC13ZWlnaHQ6bm9ybWFsOyB9XG5cbi8qIEV4Y2wgdGF4IChmb3Igb3JkZXIgdGFibGVzKSAqL1xuLnByaWNlLWV4Y2wtdGF4ICB7IGRpc3BsYXk6YmxvY2s7IH1cbi5teS1hY2NvdW50IC5kYXRhLXRhYmxlIC5wcmljZS1leGNsLXRheCAgeyBkaXNwbGF5OmlubGluZS1ibG9jazsgfVxuLnByaWNlLWV4Y2wtdGF4IC5sYWJlbCB7IGRpc3BsYXk6YmxvY2s7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfVxuLnByaWNlLWV4Y2wtdGF4IC5wcmljZSB7IGRpc3BsYXk6YmxvY2s7IH1cblxuLyogSW5jbCB0YXggKGZvciBvcmRlciB0YWJsZXMpICovXG4ucHJpY2UtaW5jbC10YXggeyBkaXNwbGF5OmJsb2NrOyB9XG4ucHJpY2UtaW5jbC10YXggLmxhYmVsIHsgZGlzcGxheTpibG9jazsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4ucHJpY2UtaW5jbC10YXggLnByaWNlIHsgZGlzcGxheTpibG9jazsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuXG4vKiBQcmljZSByYW5nZSAqL1xuLnByaWNlLWZyb20ge31cbi5wcmljZS1mcm9tIC5wcmljZS1sYWJlbCB7IGZvbnQtd2VpZ2h0OmJvbGQ7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfVxuXG4ucHJpY2UtdG8ge31cbi5wcmljZS10byAucHJpY2UtbGFiZWwgeyBmb250LXdlaWdodDpib2xkOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH1cblxuLyogUHJpY2Ugbm90aWNlIG5leHQgdG8gdGhlIG9wdGlvbnMgKi9cbi5wcmljZS1ub3RpY2UgeyBwYWRkaW5nLWxlZnQ6MTBweDsgfVxuLnByaWNlLW5vdGljZSAucHJpY2UgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbi8qIFByaWNlIGFzIGNvbmZpZ3VyZWQgKi9cbi5wcmljZS1hcy1jb25maWd1cmVkIHttYXJnaW46MCAwIDEwcHg7fVxuLnByaWNlLWFzLWNvbmZpZ3VyZWQgLnByaWNlLWxhYmVsIHsgZm9udC13ZWlnaHQ6Ym9sZDsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG5cbi5wcmljZS1ib3gtYnVuZGxlIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOjEwMCV9XG4vKioqKioqKioqKiBQcm9kdWN0IFByaWNlcyA+ICovXG5cbi8qIFRpZXIgUHJpY2VzICovXG4udGllci1wcmljZXMgLnByaWNlIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuLnRpZXItcHJpY2VzIC5iZW5lZml0IHt9XG5cbi50aWVyLXByaWNlcy1ncm91cGVkIHt9XG5cbi8qIEFkZCB0byBMaW5rcyAqL1xuLnN0ZCB1bC5hZGQtdG8tbGlua3N7bGlzdC1zdHlsZTpub25lOyBwYWRkaW5nOjB9XG4uYWRkLXRvLWxpbmtzIC5zZXBhcmF0b3Ige21hcmdpbi1sZWZ0OjAgfVxuXG4vKiBBZGQgdG8gQ2FydCAqL1xuLmFkZC10by1jYXJ0IGxhYmVsIHsgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMHB4IDEwcHggMCAwOyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTt9XG4uYWRkLXRvLWNhcnQgLnF0eSB7ICBmbG9hdDpsZWZ0OyB3aWR0aDogMzBweCAhaW1wb3J0YW50OyBjbGVhcjpib3RoOyBtYXJnaW4tdG9wOjEwcHh9XG4uYWRkLXRvLWNhcnQgYnV0dG9uLmJ1dHRvbiB7IGZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjVweDsgfVxuLmFkZC10by1jYXJ0IC5wYXlwYWwtbG9nbyB7IGNsZWFyOmxlZnQ7IHRleHQtYWxpZ246cmlnaHQ7IH1cbi5hZGQtdG8tY2FydCAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7IGNsZWFyOmJvdGg7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjo1cHggNjBweCA1cHggMDsgfVxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnBheXBhbC1sb2dvIHsgbWFyZ2luOjA7IH1cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IGJ1dHRvbi5idXR0b257Y2xlYXI6Ym90aDttYXJnaW46MTBweCAwO31cblxuXG4vKiBBZGQgdG8gTGlua3MgKyBBZGQgdG8gQ2FydCAqL1xuLmFkZC10by1ib3ggeyAvKmRpc3BsYXk6aW5saW5lLWJsb2NrOyovfVxuLmFkZC10by1ib3ggLm9yIHsgZmxvYXQ6bGVmdDsgbWFyZ2luOjAgMTBweDsgZGlzcGxheTpub25lfVxuLmFkZC10by1ib3ggLmFkZC10by1saW5rcyB7IGZsb2F0OmxlZnQ7IH1cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFkZC10by1jYXJ0IGRpdixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1ib3ggLmFkZC10by1jYXJ0IGRpdntwYWRkaW5nLWJvdHRvbToxMHB4fVxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWJveCAuYWRkLXRvLWxpbmtze21hcmdpbi10b3A6NXB4O31cblxuLyogUHJvZHVjdCBJbWFnZXMgKi9cbi5jb2wzLWxheW91dCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggeyBmbG9hdDpub25lOyBtYXJnaW46MCBhdXRvOyB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgeyBtYXJnaW46MCAwIDM1cHg7IHRleHQtYWxpZ246bGVmdDsgZmxvYXQ6bGVmdDsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6MjsgbWF4LXdpZHRoOjEwMCU7fVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlLXpvb20geyBwb3NpdGlvbjpyZWxhdGl2ZTsgb3ZlcmZsb3c6aGlkZGVuOyB6LWluZGV4Ojk7IH1cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZS16b29tIGltZyB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowOyB0b3A6MDtjdXJzb3I6bW92ZTsgfVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC56b29tLW5vdGljZSB7IHRleHQtYWxpZ246Y2VudGVyOyAvKmZsb2F0OmxlZnQ7IGRpc3BsYXk6YmxvY2s7Ki8gY2xlYXI6Ym90aDsgLyp3aWR0aDozMjBweCovfVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC56b29tIHsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6OTsgaGVpZ2h0OjJweDsgbWFyZ2luOjAgYXV0byA0NXB4OyBcbnBhZGRpbmc6MCAyMHB4OyBjdXJzb3I6cG9pbnRlcjsgZmxvYXQ6bGVmdDsgY2xlYXI6bGVmdDsgd2lkdGg6NDUwcHg7XG4vKmJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9zbGlkZXJfYmcuZ2lmKSA1MCUgNTAlIG5vLXJlcGVhdDsqLyB9XG4uYWRhcHQtMiAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLnpvb20geyB3aWR0aDozNzBweH1cbi5hZGFwdC0yIC50aHJlZS1jb2x1bW5zIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW1nLWJveCAuem9vbSB7IHdpZHRoOjQxMHB4fVxuLmFkYXB0LTEgLnRocmVlLWNvbHVtbnMgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC56b29tIHsgd2lkdGg6MjkwcHh9XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW1nLWJveCAuem9vbS5kaXNhYmxlZCB7IC1tb3otb3BhY2l0eTouMzsgLXdlYmtpdC1vcGFjaXR5Oi4zOyAtbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MzApXCI7LypJRTgqLyBvcGFjaXR5Oi4zOyB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLnpvb20gI3RyYWNrIHsgcG9zaXRpb246cmVsYXRpdmU7IGhlaWdodDoycHg7IH1cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW1nLWJveCAuem9vbSAjaGFuZGxlIHsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgdG9wOi0xMHB4OyB3aWR0aDo5cHg7IGhlaWdodDoyMnB4OyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWFnbmlmaWVyX2hhbmRsZS5naWYpIDAgMCBuby1yZXBlYXQ7ICB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLnpvb20gLmJ0bi16b29tLW91dCB7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0OjA7IHRvcDotOHB4OyB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLnpvb20gLmJ0bi16b29tLWluIHsgcG9zaXRpb246YWJzb2x1dGU7IHJpZ2h0OjA7IHRvcDotOHB4OyB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLm1vcmUtdmlld3MgaDIgeyBtYXJnaW4tYm90dG9tOjA7IGRpc3BsYXk6bm9uZSB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLm1vcmUtdmlld3MgdWwgeyBtYXJnaW46MCB9XG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLm1vcmUtdmlld3MgbGkgeyBmbG9hdDpsZWZ0OyBvdmVyZmxvdzpoaWRkZW59XG5cbi5wcm9kdWN0LWltYWdlLXBvcHVwIHsgbWFyZ2luOjAgYXV0bzsgfVxuLnByb2R1Y3QtaW1hZ2UtcG9wdXAgLmJ1dHRvbnMtc2V0IHsgZmxvYXQ6cmlnaHQ7IGNsZWFyOm5vbmU7IGJvcmRlcjowOyBtYXJnaW46MDsgcGFkZGluZzowOyB9XG4ucHJvZHVjdC1pbWFnZS1wb3B1cCAubmF2IHsgbWFyZ2luOjAgMTAwcHg7IHRleHQtYWxpZ246Y2VudGVyOyB9XG4ucHJvZHVjdC1pbWFnZS1wb3B1cCAuaW1hZ2UgeyBkaXNwbGF5OmJsb2NrO21hcmdpbjoyMHB4OyB9XG4ucHJvZHVjdC1pbWFnZS1wb3B1cCAuaW1hZ2UtbGFiZWwge31cblxuLyogUHJvZHVjdCBTaG9wICovXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcuYWRhcHQtMCB7XG4gIC5wcm9kdWN0LXZpZXcge1xuICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMCAwIC0xOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIlO1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG4gIH1cbn1cbi5hZGFwdC0xIC5xdWlja3Nob3AtaW5kZXgtdmlldyAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3B7ZmxvYXQ6bGVmdDtjbGVhcjpib3RoO31cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1zaG9wLXdyYXBwZXIge3Bvc2l0aW9uOnJlbGF0aXZlO31cbi50aHJlZS1jb2x1bW5zIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcHt3aWR0aDoxMDAlO21hcmdpbi1sZWZ0OjA7ZmxvYXQ6bGVmdDt9XG4uYWRhcHQtMCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgeyBwYWRkaW5nLWxlZnQ6MH1cbi5vbmUtY29sdW1uIC5oYXMtcmVsYXRlZC5wcm9kdWN0LXNob3Age3Bvc2l0aW9uOiByZWxhdGl2ZTt9XG4ub25lLWNvbHVtbiAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AuaGFzLXJlbGF0ZWQgLnByb2R1Y3Qtc2hvcC13cmFwcGVye2Zsb2F0OmxlZnQ7d2lkdGg6NTUlO21hcmdpbi1yaWdodDo1JTt9XG4uYWRhcHQtMiAub25lLWNvbHVtbiAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AuaGFzLXJlbGF0ZWQgLnByb2R1Y3Qtc2hvcC13cmFwcGVye3dpZHRoOjUwJTt9XG4uYWRhcHQtMSAub25lLWNvbHVtbiAuaGFzLXJlbGF0ZWQucHJvZHVjdC1zaG9we2NsZWFyOmJvdGg7fVxuLmFkYXB0LTAgLm9uZS1jb2x1bW4gLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLmhhcy1yZWxhdGVkIC5wcm9kdWN0LXNob3Atd3JhcHBlcixcbi5hZGFwdC0wIC5vbmUtY29sdW1uIC5oYXMtcmVsYXRlZC5wcm9kdWN0LXNob3AgeyB3aWR0aDoxMDAlO31cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuaXRlbS1vcHRpb25zIGRkeyBwYWRkaW5nLWxlZnQ6MH1cblxuLyogUHJvZHVjdCBPcHRpb25zICovXG4ucHJvZHVjdC1wcmljaW5neyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjEwMCV9XG4ucHJvZHVjdC1vcHRpb25zIHsgcGFkZGluZzoxMHB4IDA7IG92ZXJmbG93OmhpZGRlbjt9XG4ucHJvZHVjdC1vcHRpb25zIGR0IGxhYmVsIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyB9XG4ucHJvZHVjdC1vcHRpb25zIGR0IC5xdHktaG9sZGVyIHsgZmxvYXQ6cmlnaHQ7IH1cbi5wcm9kdWN0LW9wdGlvbnMgZHQgLnF0eS1ob2xkZXIgbGFiZWwgeyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IH1cbi5wcm9kdWN0LW9wdGlvbnMgZHQgLnF0eS1kaXNhYmxlZCB7IGJhY2tncm91bmQ6bm9uZTsgYm9yZGVyOjA7IHBhZGRpbmc6M3B4OyAgfVxuLnByb2R1Y3Qtb3B0aW9ucyBkZCB7IG1hcmdpbjo0cHggMDsgfVxuLnByb2R1Y3Qtb3B0aW9ucyBkbHttYXJnaW4tYm90dG9tOjB9XG4ucHJvZHVjdC1vcHRpb25zIGRsLmxhc3QgZGQubGFzdCB7fVxuLnByb2R1Y3Qtb3B0aW9ucyBkZCBpbnB1dC5pbnB1dC10ZXh0IHtiYWNrZ3JvdW5kOm5vbmU7IH1cbi5wcm9kdWN0LW9wdGlvbnMgZGQgaW5wdXQuZGF0ZXRpbWUtcGlja2VyIHsgd2lkdGg6MTUwcHg7IH1cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnRpbWUtcGlja2VyIHsgZGlzcGxheTotbW96LWlubGluZS1ib3g7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nOjJweCAwOyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IH1cbi5wcm9kdWN0LW9wdGlvbnMgZGQgdGV4dGFyZWEgeyB3aWR0aDo5OCU7IGhlaWdodDo4ZW07IH1cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCB7bWFyZ2luLWJvdHRvbTo1cHh9XG4ucHJvZHVjdC1vcHRpb25zIGRkIHNlbGVjdCB7IHdpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206NXB4OyBoZWlnaHQ6YXV0b31cbi5wcm9kdWN0LW9wdGlvbnMgLm9wdGlvbnMtbGlzdCBsaXsgbWFyZ2luOjVweCAwfVxuLnByb2R1Y3Qtb3B0aW9ucyAub3B0aW9ucy1saXN0IGlucHV0LnJhZGlvIHsgZmxvYXQ6bGVmdDsgbWFyZ2luOjFweCAtMThweCAwIDFweDsgfVxuLnByb2R1Y3Qtb3B0aW9ucyAub3B0aW9ucy1saXN0IGlucHV0LmNoZWNrYm94IHsgZmxvYXQ6bGVmdDsgbWFyZ2luOjJweCAtMjBweCAwIDA7IH1cbi5wcm9kdWN0LW9wdGlvbnMgLm9wdGlvbnMtbGlzdCAubGFiZWwgeyBkaXNwbGF5OmJsb2NrOyBtYXJnaW4tbGVmdDoyMHB4OyB9XG4ucHJvZHVjdC1vcHRpb25zIHVsLnZhbGlkYXRpb24tZmFpbGVkIHsgcGFkZGluZzowIDdweDsgfVxuLnByb2R1Y3Qtb3B0aW9ucyBwLnJlcXVpcmVkIHsgcGFkZGluZzo1cHggMCAwOyBtYXJnaW4tYm90dG9tOjB9XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIHsgcGFkZGluZzowOyAvKmJvcmRlcjoxcHggc29saWQgI2RkZDsgYm9yZGVyLXRvcDowOyovIH1cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggeyBtYXJnaW46MTBweCAwOyB9XG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWRkLXRvLWxpbmtze292ZXJmbG93OmhpZGRlbjt9XG5cbi8qIEdyb3VwZWQgUHJvZHVjdCAqL1xuLnByb2R1Y3QtdmlldyAuZ3JvdXBlZC1pdGVtcy10YWJsZSB7bWFyZ2luLWJvdHRvbToyMHB4fVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5ncm91cGVkLWl0ZW1zLXRhYmxlIHRke3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1cblxuXG4vKiBCbG9jazogRGVzY3JpcHRpb24gKi9cbi5wcm9kdWN0LXZpZXcgLmJveC1kZXNjcmlwdGlvbiB7fVxuLnByb2R1Y3QtdmlldyAuYm94LWNvbGxhdGVyYWwge21hcmdpbjowcHggMCAzMHB4OyBwYWRkaW5nLXRvcDowcHh9XG4ucHJvZHVjdC12aWV3IC50YWJfY29udGVudCAuYm94LWNvbGxhdGVyYWwge21hcmdpbjowcHggMCAzMHB4fVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1jb2xsYXRlcmFsLnRhYl9jb250ZW50IHtmbG9hdDpsZWZ0OyB3aWR0aDoxMDAlfVxuXG4vKiBCbG9jazogQWRkaXRpb25hbCAqL1xuLnByb2R1Y3QtdmlldyAuYm94LWFkZGl0aW9uYWwge31cblxuLyogQmxvY2s6IFVwc2VsbCAqL1xuLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgeyBjbGVhcjogYm90aDsgIHBhZGRpbmc6IDBweCAwIDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTowfVxuLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgLmJveC1jb2xsYXRlcmFsIGgye21hcmdpbi1ib3R0b206MjJweDt9XG4udWktdGFicyAudGFiX2NvbnRlbnQgLmJveC11cC1zZWxse3BhZGRpbmctdG9wOjI3cHh9XG4vKi5hZGFwdC0yIC50aHJlZS1jb2x1bW5zIC5wcm9kdWN0LXZpZXcgLmJveC11cC1zZWxsIGxpLml0ZW0sXG4uYWRhcHQtMiAucHJvZHVjdC12aWV3IC5ib3gtdXAtc2VsbCBsaS5pdGVte3dpZHRoOjIxOHB4fVxuLmFkYXB0LTEgLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgbGkuaXRlbXt3aWR0aDoyMTlweDt9XG4uYWRhcHQtMCAucHJvZHVjdC12aWV3IC5ib3gtdXAtc2VsbCBsaS5pdGVte3dpZHRoOjIxNXB4fVxuLm9uZS1jb2x1bW4gLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgbGkuaXRlbXt3aWR0aDoyMjBweDt9XG4udGhyZWUtY29sdW1ucyAucHJvZHVjdC12aWV3IC5ib3gtdXAtc2VsbCBsaS5pdGVte3dpZHRoOjE4MHB4O30qL1xuLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgbGkuaXRlbSBidXR0b24uYnV0dG9ue21hcmdpbi1ib3R0b206MDt9XG4ucHJvZHVjdC12aWV3IC5ib3gtdXAtc2VsbCBsaS5pdGVtIC5saW5rLXdpc2hsaXN0e21hcmdpbi1yaWdodDo1cHg7fVxuLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgbGkuaXRlbSAucHJvZHVjdC1pbWFnZXsgZGlzcGxheTpibG9ja31cbi5wcm9kdWN0LXZpZXcgLmJveC11cC1zZWxsIGxpLml0ZW0gLnByaWNlLWJveHtvdmVyZmxvdzpoaWRkZW47fVxuLnByb2R1Y3QtdmlldyAuYm94LXVwLXNlbGwgbGkuaXRlbSAuYWN0aW9uc3tvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7ZGlzcGxheTpub25lO31cblxuLyogQmxvY2s6IFRhZ3MgJiBib3gtdGFncyovXG4uYmxvY2stdGFncyB1bCxcbi5ibG9jay10YWdzIGxpIHsgZGlzcGxheTppbmxpbmU7fVxuLmJsb2NrLXRhZ3MgdWx7bWFyZ2luLWJvdHRvbTowOyBwYWRkaW5nLWJvdHRvbToxNXB4OyBkaXNwbGF5OmJsb2NrfVxuXG4ubXktdGFnLWVkaXR7IHBvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpsZWZ0O31cbi5teS10YWctZWRpdCAuYnRuLXJlbW92ZSB7cG9zaXRpb246YWJzb2x1dGU7IHJpZ2h0Oi0zNXB4OyB0b3A6MDt9XG4ucHJvZHVjdC12aWV3IC5ib3gtdGFncyB7fVxuLnByb2R1Y3QtdmlldyAuYm94LXRhZ3MgaDMgeyBmb250LXNpemU6MTJweDtmb250LXdlaWdodDpub3JtYWw7cGFkZGluZzowOyB9XG4ucHJvZHVjdC12aWV3IC5ib3gtdGFncyAuZm9ybS1hZGQgcCB7IGNsZWFyOmJvdGg7fVxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC10YWdzIGxpeyBmbG9hdDpsZWZ0OyBwYWRkaW5nLXJpZ2h0OjIwcHg7IHBhZGRpbmctYm90dG9tOjVweDsgd2hpdGUtc3BhY2U6bm93cmFwO31cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtdGFncyBsaSBheyB0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2U7IH1cbi5wcm9kdWN0LXZpZXcgLmZvcm0tYWRkeyAvKnBhZGRpbmctdG9wOjEwcHg7Ki99XG4ucHJvZHVjdC12aWV3IC5ib3gtdGFncyAuZm9ybS1hZGR7IGJvcmRlci10b3A6MDsgbWFyZ2luLXRvcDowOyBjbGVhcjpib3RoOyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjEwMCV9XG4ucHJvZHVjdC12aWV3IC5ib3gtdGFncyAuZm9ybS1hZGQgbGFiZWwgeyBkaXNwbGF5OmJsb2NrOyBtYXJnaW46MDsgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtjbGVhcjpib3RoO3BhZGRpbmc6MHB4IDAgN3B4O31cblxuXG4ucHJvZHVjdC12aWV3IC5ib3gtdGFncyAuZm9ybS1hZGQgLmlucHV0LWJveCB7d2lkdGg6NjclO21pbi1oZWlnaHQ6MjZweDtjbGVhcjpib3RoO21hcmdpbjowIDEwcHggMCAwO2Zsb2F0OmxlZnQ7IH1cbi5wcm9kdWN0LXZpZXcgLmJveC10YWdzIC5mb3JtLWFkZCBpbnB1dC5pbnB1dC10ZXh0e3dpZHRoOjk3JSFpbXBvcnRhbnQ7bWFyZ2luOjAgMCA1cHg7cGFkZGluZzo3cHggOHB4IWltcG9ydGFudDt9XG4uYWRhcHQtMCAucHJvZHVjdC12aWV3IC5ib3gtdGFncyAuZm9ybS1hZGQgaW5wdXQuaW5wdXQtdGV4dHt3aWR0aDo4OCUhaW1wb3J0YW50O31cbi5wcm9kdWN0LXZpZXcgLmJveC10YWdzIC5mb3JtLWFkZCBidXR0b24uYnV0dG9uIHNwYW4gc3BhbntwYWRkaW5nOjVweCAyMHB4IDZweDt9XG5wLm5vdGV7IHBhZGRpbmctdG9wOjdweDt9XG4jcmV2aWV3LWZvcm0gLmRhdGEtdGFibGV7IHdpZHRoOjY3JTtiYWNrZ3JvdW5kOm5vbmU7fVxuLmFkYXB0LTEgLnRocmVlLWNvbHVtbnMgI3Jldmlldy1mb3JtIC5kYXRhLXRhYmxle3dpZHRoOjEwMCU7fVxuLmFkYXB0LTAgI3Jldmlldy1mb3JtIC5kYXRhLXRhYmxle3dpZHRoOjEwMCU7fVxuI3Jldmlldy1mb3JtIC5kYXRhLXRhYmxlIHRoLCNyZXZpZXctZm9ybSAgLmRhdGEtdGFibGUgdGR7IGJvcmRlcjpub25lO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7dGV4dC1hbGlnbjpjZW50ZXI7fVxuI3Jldmlldy1mb3JtIC5kYXRhLXRhYmxlIHRoOmZpcnN0LWNoaWxke3RleHQtYWxpZ246bGVmdH1cbiNyZXZpZXctZm9ybSBoNHsgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsgbWFyZ2luLXRvcDoxMnB4OyBtYXJnaW4tYm90dG9tOjdweH1cblxuLyogQmxvY2s6IFJldmlld3MgKi9cbi5ib3gtcmV2aWV3cyBkdDpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOjA7IG1hcmdpbi10b3A6MH1cbi5ib3gtcmV2aWV3cyBkdCB7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgcGFkZGluZy1ib3R0b206MHB4OyBtYXJnaW46MDsgcGFkZGluZy10b3A6MTVweH1cbi5ib3gtcmV2aWV3cyBkdCBheyBkaXNwbGF5OmlubGluZTtmb250LXdlaWdodDo2MDA7fVxuLnByb2R1Y3QtY29sbGF0ZXJhbC50YWJfY29udGVudCAuYm94LXJldmlld3N7bWFyZ2luLXRvcDowICFpbXBvcnRhbnR9XG4uYm94LXJldmlld3MgeyB9XG4uYm94LXJldmlld3MgLnJldmlldy1saXN0IHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogNSU7IHdpZHRoOiA0OCU7fVxuLmJveC1yZXZpZXdzIGgyIHttYXJnaW46IDA7IHBhZGRpbmc6IDA7fVxuLmJveC1yZXZpZXdzIGRsIHsgbWFyZ2luOiAwIDAgMzZweCAwO31cbi5ib3gtcmV2aWV3cyBkZCB7IG1hcmdpbi1ib3R0b206MTlweH1cbi5ib3gtcmV2aWV3cyBkZCBwIHNtYWxse2ZvbnQtc3R5bGU6aXRhbGljfVxuLmJveC1yZXZpZXdzIC5mb3JtLWFkZCB7IG1hcmdpbi1ib3R0b206NDBweH1cbi5ib3gtcmV2aWV3cyAuZm9ybS1hZGQgLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0eyB3aWR0aDo2NSU7fVxuLmJveC1yZXZpZXdzIC5mb3JtLWFkZCAuZm9ybS1saXN0IHRleHRhcmVheyB3aWR0aDo2NSU7ICBoZWlnaHQ6OTNweH1cbi5ib3gtcmV2aWV3cyAuZm9ybS1hZGQgaDMgeyBwYWRkaW5nLXRvcDogMHB4O31cbi5ib3gtcmV2aWV3cyAuZm9ybS1hZGQgaDQgeyBtYXJnaW46IDMzcHggMCAxMHB4OyAgcGFkZGluZzogNXB4IDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7fVxuLmJveC1yZXZpZXdzIC5idXR0b25zLXNldHttYXJnaW4tdG9wOjZweDsgbWFyZ2luLWJvdHRvbTowcHh9XG4uYm94LXJldmlld3MgYnV0dG9uLmJ1dHRvbiBzcGFuIHNwYW57cGFkZGluZzo3cHggMTVweH1cblxuLmdyaWRfMTIuZ3JpZF9jb250ZW50IC5ib3gtcmV2aWV3cyAucmV2aWV3LWxpc3R7d2lkdGg6MTAwJTsgbWFyZ2luLXJpZ2h0OjB9XG4uZ3JpZF8xMi5ncmlkX2NvbnRlbnQgLmJveC1yZXZpZXdzIC5mb3JtLWFkZHt3aWR0aDoxMDAlOyBtYXJnaW4tcmlnaHQ6MH1cblxuLyogU2VuZCBhIEZyaWVuZCAqL1xuLnNlbmQtZnJpZW5kIHsgb3ZlcmZsb3c6aGlkZGVuO31cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypDb250YWN0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmZpZWxkc2V0IC5sZWdlbmR7ZGlzcGxheTpub25lfVxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5ncmlkX2NvbnRlbnQgLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0LFxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5ncmlkX2NvbnRlbnQgLmZvcm0tbGlzdCBsaS53aWRlIHRleHRhcmVhe3dpZHRoOjQyMHB4fVxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5ncmlkX2NvbnRlbnQgLmJ1dHRvbnMtc2V0e2Zsb2F0OmxlZnQ7IHdpZHRoOjEwMCU7IG1hcmdpbi10b3A6MjBweH1cbi5jb250YWN0cy1pbmRleC1pbmRleCAuZ3JpZF9jb250ZW50IGJ1dHRvbi5idXR0b257bWFyZ2luLXJpZ2h0OjIwcHh9XG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmdyaWRfY29udGVudCBidXR0b24uYnV0dG9uIHNwYW4gc3Bhbnt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IHBhZGRpbmc6NXB4IDMzcHh9XG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmdyaWRfY29udGVudCAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZHtmbG9hdDpsZWZ0OyBjbGVhcjpub25lOyBtYXJnaW4tdG9wOjNweH1cbi5hZGFwdC0wLmNvbnRhY3RzLWluZGV4LWluZGV4IC5ncmlkX2NvbnRlbnQgLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0LFxuLmFkYXB0LTAuY29udGFjdHMtaW5kZXgtaW5kZXggLmdyaWRfY29udGVudCAuZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWF7d2lkdGg6MjgwcHh9XG5cbi8qIENvbnRlbnQgU3R5bGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFByb2R1Y3QgVGFncyAqL1xuLnRhZ3MtbGlzdCBsaSB7IGRpc3BsYXk6aW5saW5lOyBwYWRkaW5nLXJpZ2h0OjIwcHg7fVxuXG4vKiBBZHZhbmNlZCBTZWFyY2ggKi9cbi5hZHZhbmNlZC1zZWFyY2gge31cbi5hZHZhbmNlZC1zZWFyY2gtYW1vdW50IHt9XG4uYWR2YW5jZWQtc2VhcmNoLXN1bW1hcnkge31cblxuLyogQ01TIEhvbWUgUGFnZSAqL1xuLmNtcy1pbmRleC1pbmRleCAuc2Vjb25kYXJ5IHVsIHsgcGFkZGluZy1sZWZ0OjA7fVxuLmNtcy1pbmRleC1pbmRleCAuc3VidGl0bGUge31cbi5jYXRhbG9nc2VhcmNoLWFkdmFuY2VkLWluZGV4IC5maWVsZHNldC5hZHZhbmNlZC1zZWFyY2h7IHBhZGRpbmctYm90dG9tOjA7d2lkdGg6MTAwJTt9XG4uY2F0YWxvZ3NlYXJjaC1hZHZhbmNlZC1pbmRleCAuYnV0dG9ucy1zZXR7ZmxvYXQ6bGVmdDsgbWFyZ2luLXRvcDoyMHB4OyBwYWRkaW5nLWJvdHRvbTo1MHB4fVxuLnNhbGVzLWd1ZXN0LWZvcm0gLmZvcm0tYWx0IC5pbnB1dC1ib3h7IG1hcmdpbi1ib3R0b206MTBweDsgY2xlYXI6Ym90aDsgZmxvYXQ6bGVmdDsgd2lkdGg6MzAwcHggIWltcG9ydGFudDsgdGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnR9XG4uc2FsZXMtZ3Vlc3QtZm9ybSAuZm9ybS1hbHQgLmlucHV0LWJveCBpbnB1dHsgd2lkdGg6MjgwcHggIWltcG9ydGFudDt9XG4uc2FsZXMtZ3Vlc3QtZm9ybSAuZm9ybS1hbHQgc2VsZWN0eyB3aWR0aDoyOTdweH1cblxuLyogU2l0ZW1hcCAqL1xuLnBhZ2Utc2l0ZW1hcCAubGlua3MgeyB0ZXh0LWFsaWduOnJpZ2h0OyBtYXJnaW46MCA4cHggMCAwOyB9XG4ucGFnZS1zaXRlbWFwIC5saW5rcyBhIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IHBvc2l0aW9uOnJlbGF0aXZlOyB9XG4ucGFnZS1zaXRlbWFwIC5saW5rcyBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgfVxuLnBhZ2Utc2l0ZW1hcCAuc2l0ZW1hcCB7IG1hcmdpbjoxMnB4IDA7IH1cbi5wYWdlLXNpdGVtYXAgLnNpdGVtYXAgYSB7fVxuLnBhZ2Utc2l0ZW1hcCAuc2l0ZW1hcCBsaSB7IG1hcmdpbjozcHggMDsgfVxuLnBhZ2Utc2l0ZW1hcCAuc2l0ZW1hcCBsaS5sZXZlbC0wIHsgbWFyZ2luOjEwcHggMCAwOyBmb250LXdlaWdodDpib2xkOyB9XG4ucGFnZS1zaXRlbWFwIC5zaXRlbWFwIGxpLmxldmVsLTAgYSB7fVxuXG4vKiBSU1MgKi9cbi5yc3MtdGl0bGUgaDEgeyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaV9yc3MtYmlnLnBuZykgMCA0cHggbm8tcmVwZWF0OyBwYWRkaW5nLWxlZnQ6MjdweDsgfVxuLnJzcy10YWJsZSAubGluay1yc3MgeyBkaXNwbGF5OmJsb2NrOyBsaW5lLWhlaWdodDoxLjM1OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMnB4OyB9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qcXVpY2tzaG9wKi9cbmJvZHkucXVpY2tzaG9wLWluZGV4LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b217cGFkZGluZy1ib3R0b206MTBweDsgb3ZlcmZsb3c6aGlkZGVufVxuYm9keS5xdWlja3Nob3AtaW5kZXgtdmlldyAuYWRkLXRvLWxpbmtze292ZXJmbG93OmhpZGRlbjsgbWFyZ2luLWJvdHRvbTowO31cbmJvZHkucXVpY2tzaG9wLWluZGV4LXZpZXcgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWJveHttYXJnaW4tdG9wOjEwcHh9XG5ib2R5LnF1aWNrc2hvcC1pbmRleC12aWV3IC5wcm9kdWN0LXZpZXcgLm5vLXJhdGluZ3sgd2lkdGg6MTAwJX1cbi8qIFNob3BwaW5nIENhcnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcnQgLnNoaXBwaW5nLWZvcm0gcCB7IG1hcmdpbjowOyBwYWRkaW5nLWJvdHRvbTowcHggfVxuLmNhcnQgLnNoaXBwaW5nLWZvcm0gLmZvcm0tbGlzdCBsaXt9XG4vKiBDaGVja291dCBUeXBlcyAqL1xuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJsb2NrLWNhcnQtdG9wIC5idG4tcmVtb3ZlLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzc2VzIC5ibG9jay1jYXJ0LXRvcCAuYnRuLXJlbW92ZSxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5ibG9jay1jYXJ0LXRvcCAuYnRuLXJlbW92ZSxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmJsb2NrLWNhcnQtdG9wIC5idG4tcmVtb3ZlLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmJsb2NrLWNhcnQtdG9wIC5idG4tcmVtb3ZleyBkaXNwbGF5Om5vbmU7fVxuLm9wYyAuYnV0dG9ucy1zZXR7bWFyZ2luLXRvcDowfVxuLm9wYyAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZHttYXJnaW4tYm90dG9tOjE1cHh9XG4ub3BjIC5mb3JtLWxpc3QgLmZpZWxkeyBtYXJnaW4tcmlnaHQ6MTBweDsgfVxuLm9wYyAuZm9ybS1saXN0IGxpLndpZGUgLmlucHV0LWJveHsgbWFyZ2luLWJvdHRvbTowcHg7IH1cbi5vcGMgLmZvcm0tbGlzdCBsaS53aWRlIGlucHV0LmlucHV0LXRleHR7IHdpZHRoOjU5MnB4OyB9XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3MtbmV3c2hpcHBpbmcgLmZvcm0tbGlzdCBsaS53aWRlIC5pbnB1dC10ZXh0eyBtYXJnaW4tYm90dG9tOjEwcHg7fVxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzcy1uZXdzaGlwcGluZyAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZHsgbWFyZ2luLWJvdHRvbToxNXB4O31cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3MtbmV3c2hpcHBpbmcgLmZvcm0tbGlzdCBsaS5jb250cm9seyBwYWRkaW5nLXRvcDoxMHB4OyB9XG5cblxuLmNhcnQgLmNoZWNrb3V0LXR5cGVzIHsgbWFyZ2luOjA7IHBhZGRpbmc6MTNweCAyMHB4IDA7IH1cbi5jYXJ0IC5wYWdlLXRpdGxlIC5jaGVja291dC10eXBlcyB7ZGlzcGxheTpub25lO31cbi5jYXJ0IC50aXRsZS1idXR0b25zIC5jaGVja291dC10eXBlcyBsaSB7IGZsb2F0OmxlZnQ7IG1hcmdpbjowIDAgNXB4IDVweDsgfVxuLmNhcnQgLmNoZWNrb3V0LXR5cGVzIC5wYXlwYWwtb3IgeyBtYXJnaW46MCA4cHg7IGxpbmUtaGVpZ2h0OjIuMzsgfVxuLmNhcnQgLnRvdGFscyAuY2hlY2tvdXQtdHlwZXMgLnBheXBhbC1vciB7IGNsZWFyOmJvdGg7IGRpc3BsYXk6YmxvY2s7IHBhZGRpbmc6M3B4IDAgOHB4IDA7IGxpbmUtaGVpZ2h0OjEuMDsgZm9udC1zaXplOjExcHg7IH1cbiNjaGVja291dC1zdGVwLWxvZ2luIC5jb2wtMiAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbnsgY2xlYXI6Ym90aDsgbWFyZ2luLXRvcDowcHg7IG1hcmdpbi1yaWdodDoyMHB4fVxuI2NoZWNrb3V0LXN0ZXAtbG9naW4gLmNvbC0xIC5idXR0b25zLXNldHsgY2xlYXI6bGVmdDsgbWFyZ2luLXRvcDozMHB4fVxuI2NoZWNrb3V0LXN0ZXAtbG9naW4gLmNvbC0yIHAucmVxdWlyZWR7ZmxvYXQ6cmlnaHQ7IGNsZWFyOm5vbmU7bWFyZ2luLXRvcDoyMHB4OyB9XG4jY2hlY2tvdXQtc3RlcC1iaWxsaW5ney8qcGFkZGluZzogMCAwIDUwcHg7Ki9wYWRkaW5nOjMwcHggMjBweCA0MHB4O31cbiNyZXZpZXctYnV0dG9ucy1jb250YWluZXIuYnV0dG9ucy1zZXR7cG9zaXRpb246cmVsYXRpdmU7IHBhZGRpbmc6MCAyMHB4O31cbiNyZXZpZXctYnV0dG9ucy1jb250YWluZXIuYnV0dG9ucy1zZXQgLmYtbGVmdHsgbWFyZ2luOjAgMCAyMHB4O2NsZWFyOmJvdGg7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50O21pbi13aWR0aDovKjI4NXB4Ki8yNjRweDt9XG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIC5wbGVhc2Utd2FpdHsgZmxvYXQ6cmlnaHQ7Y2xlYXI6Ym90aDttYXJnaW4tYm90dG9tOjEwcHg7fVxuI2NoZWNrb3V0LXN0ZXAtYmlsbGluZyAuZm9ybS1saXN0IGxpLmNvbnRyb2x7bWFyZ2luLXRvcDo0cHg7IGZsb2F0OmxlZnQ7Y2xlYXI6Ym90aDt9XG4jYmlsbGluZy1uZXctYWRkcmVzcy1mb3JtIGxpLmNvbnRyb2x7bWFyZ2luLXRvcDoxMHB4ICFpbXBvcnRhbnQ7fVxuI2NoZWNrb3V0LXN0ZXAtc2hpcHBpbmcgLmZvcm0tbGlzdCBsaS5jb250cm9se21hcmdpbi10b3A6MTBweH1cbiNzaGlwcGluZy1uZXctYWRkcmVzcy1mb3JtIHVse21hcmdpbi1ib3R0b206MH1cblxuLmFkYXB0LTAgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lci5idXR0b25zLXNldCBidXR0b24uYnV0dG9uIHNwYW4gc3Bhbixcbi5hZGFwdC0wICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIuYnV0dG9ucy1zZXQgLmYtbGVmdHttaW4td2lkdGg6MjBweDt9XG5cbi5zdGVwICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIuYnV0dG9ucy1zZXQgYnV0dG9uLmJ0bi1jaGVja291dCBzcGFuIHNwYW57IFxuXHRtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgXG59XG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyLmJ1dHRvbnMtc2V0IC5mLWxlZnQgYXtcblx0YmFja2dyb3VuZDogbm9uZTtcbn1cbi8qIFNob3BwaW5nIENhcnQgVGFibGUgKi9cbi5jYXJ0LXRhYmxlIC5pdGVtLW1zZyB7IGZvbnQtc2l6ZToxMHB4OyB9XG4uY2FydC10YWJsZSB0Zm9vdCB0ZHsgcGFkZGluZzoxNXB4IDIwcHggMTBweDsgYm9yZGVyOm5vbmU7fVxuLmNhcnQtdGFibGUgdGZvb3QgdGQgYnV0dG9uLmJ1dHRvbnsgZmxvYXQ6cmlnaHQ7IG1hcmdpbi1yaWdodDoyMHB4OyBtYXJnaW4tYm90dG9tOjVweH1cblxuLyogU2hvcHBpbmcgQ2FydCBDb2xsYXRlcmFsIGJveGVzICovXG4uY3Jvc3NzZWxsIGgye3BhZGRpbmctcmlnaHQ6NzVweH1cbi5jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIHttYXJnaW46NjBweCAwIDA7IHBhZGRpbmctdG9wOjB9XG4uY2FydCAuY2FydC1jb2xsYXRlcmFscyBzZWxlY3R7IHdpZHRoOjk5LjklfVxuLmNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLmNvbDItc2V0IHsgZmxvYXQ6bGVmdDsgd2lkdGg6MTAwJTsgcGFkZGluZy1ib3R0b206MHB4fVxuLmNhcnQtY29sbGF0ZXJhbHMgLmNvbDItc2V0IC5jb2wtMSxcbi5jYXJ0LWNvbGxhdGVyYWxzIC5jb2wyLXNldCAuY29sLTIge3BhZGRpbmc6MDt3aWR0aDoxMDAlO2Zsb2F0OmxlZnQ7fVxuLmNhcnQtY29sbGF0ZXJhbHMgLmNvdXBvbi1zaGlwcGluZ3t3aWR0aDo2NyU7ZmxvYXQ6bGVmdDt9XG4uY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmcsXG4uY2FydC1jb2xsYXRlcmFscyAuZGlzY291bnR7d2lkdGg6NDclO2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDozJX1cblxuLmNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLmNoZWNrb3V0LXR5cGVzIGEgeyBmbG9hdDpsZWZ0O21hcmdpbi10b3A6NnB4O31cblxuLmNhcnQgLmNyb3Nzc2VsbCB7bWFyZ2luOjYwcHggMCA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtmbG9hdDpsZWZ0O2NsZWFyOmJvdGg7XG53aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO31cbi5jYXJ0IC5jcm9zc3NlbGwgLnByb2R1Y3QtaW1hZ2Uge2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7fVxuLmNhcnQgLmNyb3Nzc2VsbCAucHJvZHVjdC1kZXRhaWxzIC5hY3Rpb25ze2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cbi5jYXJ0IC5jcm9zc3NlbGwgLnByaWNlLWJveCB7IC8qbWFyZ2luOjNweCAwIDEwcHg7Ki99XG4uY2FydCAuY3Jvc3NzZWxsIGxpLml0ZW0geyBmbG9hdDpsZWZ0O31cbi5jYXJ0IC5jcm9zc3NlbGwgLmluLXN0b2Nre3BhZGRpbmctYm90dG9tOjEwcHh9XG4uY2FydCAuY3Jvc3NzZWxsIGJ1dHRvbi5idXR0b257bWFyZ2luLWJvdHRvbTo1cHg7ZGlzcGxheTpub25lO31cbi5jYXJ0IC5jcm9zc3NlbGwgdWwuYWRkLXRvLWxpbmtze2Rpc3BsYXk6bm9uZTt9XG5cbi8qLmdyaWRfMTIuZ3JpZF9jb250ZW50IC5wcm9kdWN0LXZpZXcgLmJveC11cC1zZWxsIGxpLml0ZW17d2lkdGg6NTQwcHh9XG5cbi5ncmlkXzI0LmdyaWRfY29udGVudCAuY3Jvc3NzZWxsIGxpLml0ZW17d2lkdGg6MzQ3cHh9XG4uYWRhcHQtMiAuZ3JpZF8yNC5ncmlkX2NvbnRlbnQgLmNyb3Nzc2VsbCBsaS5pdGVte3dpZHRoOjI5NHB4OyAgcGFkZGluZy1yaWdodDoyMHB4fVxuLmFkYXB0LTEgLmdyaWRfMjQuZ3JpZF9jb250ZW50IC5jcm9zc3NlbGwgbGkuaXRlbXt3aWR0aDozMzFweDsgcGFkZGluZy1yaWdodDoyMHB4fVxuLmFkYXB0LTAgLmdyaWRfMjQuZ3JpZF9jb250ZW50IC5jcm9zc3NlbGwgbGkuaXRlbXt3aWR0aDozMDBweDsgcGFkZGluZy1yaWdodDowcHh9Ki9cblxuXG4vKiBEaXNjb3VudCBDb2RlcyAmIEVzdGltYXRlIFNoaXBwaW5nIGFuZCBUYXggQm94ZXMgKi9cbi5jYXJ0IC5kaXNjb3VudCBsYWJlbHsgZGlzcGxheTpibG9jazsgbWFyZ2luOjdweCAwIDlweH1cblxuLmNhcnQtY29sbGF0ZXJhbHMgLmRpc2NvdW50IC5kaXNjb3VudC1mb3JtLFxuLmNhcnQgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIHtwYWRkaW5nOjAgMjBweDt9XG5cbi8qIFNob3BwaW5nIENhcnQgVG90YWxzICovXG4uY2FydCAudG90YWxzIHsgZmxvYXQ6bGVmdDsgcGFkZGluZy1ib3R0b206MzVweDsgd2lkdGg6MzMlfVxuLmNhcnQgLnRvdGFscyB0YWJsZSB0ZCB7IHBhZGRpbmc6IDRweCAwIDVweDt9XG4uY2FydCAudG90YWxzIHRhYmxlIHRkLmEtcmlnaHR7IHBhZGRpbmctcmlnaHQ6MjBweH1cbi5jYXJ0IC50b3RhbHMgdGFibGUgdGQ6Zmlyc3QtY2hpbGQge3BhZGRpbmctcmlnaHQ6MTBweDt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50O31cbi5jYXJ0IC50b3RhbHMgdGFibGUgdGgge3BhZGRpbmc6NXB4OyB9XG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGV7d2lkdGg6MTAwJTt9XG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGR7cGFkZGluZzozcHggMjBweDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt9XG5cblxuLyogT3B0aW9ucyBUb29sIFRpcCAqL1xuLml0ZW0tb3B0aW9ucyBkdCB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtc3R5bGU6aXRhbGljOyB9XG4uaXRlbS1vcHRpb25zIGRkIHsgcGFkZGluZy1sZWZ0OjEwcHg7IH1cbiN0b3BfY2FydCAudHJ1bmNhdGVkIHtwYWRkaW5nLXRvcDowO31cbi50cnVuY2F0ZWQgeyBjdXJzb3I6aGVscDsgcGFkZGluZy10b3A6N3B4O2Zsb2F0OmxlZnQ7LypjbGVhcjpib3RoOyovd2lkdGg6MTAwJTt9XG4udHJ1bmNhdGVkIGEuZG90cyB7IGN1cnNvcjpoZWxwOyB9XG4udHJ1bmNhdGVkIGEuZGV0YWlscyB7IGN1cnNvcjpoZWxwOyB9XG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSB7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4Ojk5OTsgfVxuLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9ucyB7IHBvc2l0aW9uOmFic29sdXRlOyBkaXNwbGF5Om5vbmU7ei1pbmRleDo5OTk7IFxud2lkdGg6MTQ1cHg7IHBhZGRpbmc6NXB4OyBib3JkZXI6MXB4IHNvbGlkICNkZGQ7IGJhY2tncm91bmQtY29sb3I6I2Y2ZjZmNjt9XG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZS5zaG93IC5pdGVtLW9wdGlvbnN7ZGlzcGxheTpibG9jazt9XG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7IGZvbnQtd2VpZ2h0OmJvbGQ7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgfVxuLnRydW5jYXRlZCAuc2hvdyAuaXRlbS1vcHRpb25zIHsgdG9wOjE4cHg7IGxlZnQ6MDsgfVxuLmNvbC1sZWZ0IC50cnVuY2F0ZWQgLnNob3cgLml0ZW0tb3B0aW9ucyB7IGxlZnQ6MzBweDsgdG9wOjE1cHg7IH1cbi5jb2wtcmlnaHQgLnRydW5jYXRlZCAuc2hvdyAuaXRlbS1vcHRpb25zICB7IGxlZnQ6MHB4OyB0b3A6MTVweDsgbWFyZ2luLWxlZnQ6LTEwMHB4IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogQ2hlY2tvdXQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKioqKioqKioqKiA8IENvbW1vbiBDaGVja291dCBTdHlsZXMgKi9cbi8qIFNoaXBwaW5nIGFuZCBQYXltZW50IG1ldGhvZHMgKi9cbi5zcC1tZXRob2RzeyBtYXJnaW46MH1cbi5zcC1tZXRob2RzIGR0IHsgZm9udC13ZWlnaHQ6bm9ybWFsOyAvKmxpbmUtaGVpZ2h0OjI0cHgqL31cbiNjby1wYXltZW50LWZvcm0gZHQgaW5wdXQucmFkaW8sXG4uc3AtbWV0aG9kcyBkdCBpbnB1dC5yYWRpb3ttYXJnaW4tdG9wOi0zcHh9XG4uc3AtbWV0aG9kcyBpbnB1dC5yYWRpb3ttYXJnaW4tdG9wOi0zcHh9XG4uc3AtbWV0aG9kcyBsYWJlbHt9XG4uc3AtbWV0aG9kcyBzZWxlY3QubW9udGggeyBtYXJnaW4tcmlnaHQ6MTVweDsgd2lkdGg6MTY3cHh9XG4uc3AtbWV0aG9kcyBzZWxlY3QueWVhciB7IHdpZHRoOjE2NnB4fVxuI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IC52LWZpeCBzZWxlY3QubW9udGgsXG4ub3BjIC5zcC1tZXRob2RzIC5mb3JtLWxpc3Qgc2VsZWN0Lm1vbnRoIHsgbWFyZ2luLXJpZ2h0OjEwcHg7IHdpZHRoOjExMHB4IWltcG9ydGFudDt9XG4jY28tcGF5bWVudC1mb3JtIC5mb3JtLWxpc3QgLnYtZml4IHNlbGVjdC55ZWFyLFxuLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IHNlbGVjdC55ZWFyIHsgd2lkdGg6MTEwcHghaW1wb3J0YW50O31cbiNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGR0e2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDo3cHh9XG4jb3BjLXNoaXBwaW5nX21ldGhvZCAuc3AtbWV0aG9kcyBkZCxcbiNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGRkIHVsey8qbGluZS1oZWlnaHQ6MjRweCovIG1hcmdpbi1ib3R0b206MH1cbiNvcGMtc2hpcHBpbmdfbWV0aG9kIC5idXR0b25zLXNldHttYXJnaW4tdG9wOjE2cHh9XG4jb3BjLXNoaXBwaW5nX21ldGhvZCAjb25lcGFnZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QtYWRkaXRpb25hbC1sb2Fke2Zsb2F0OmxlZnQ7IHBhZGRpbmc6MCAwIDEwcHg7IGNsZWFyOmJvdGh9XG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxpIHsgbWFyZ2luOjAgMCA1cHg7IH1cbi5zcC1tZXRob2RzIC5jaGVja21vLWxpc3QgbGFiZWwgeyB3aWR0aDoxMzVweDsgcGFkZGluZy1yaWdodDoxMHB4OyB0ZXh0LWFsaWduOnJpZ2h0OyB9XG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGFkZHJlc3MgeyBmbG9hdDpsZWZ0OyB9XG5cbi5zcC1tZXRob2RzIC5jZW50aW5lbC1sb2dvcyBhIHsgbWFyZ2luLXJpZ2h0OjNweDsgfVxuLnNwLW1ldGhvZHMgLmNlbnRpbmVsLWxvZ29zIGltZyB7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfVxuXG4uc3AtbWV0aG9kcyAucmVsZWFzZS1hbW91bnRzIHsgbWFyZ2luOjAuNWVtIDAgMWVtOyB9XG4uc3AtbWV0aG9kcyAucmVsZWFzZS1hbW91bnRzIGJ1dHRvbiB7IGZsb2F0OmxlZnQ7IG1hcmdpbjo1cHggMTBweCAwIDA7IH1cblxuLnBsZWFzZS13YWl0IHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbi1yaWdodDo1cHg7IG1pbi13aWR0aDoxNTBweCB9XG4ucGxlYXNlLXdhaXQgaW1nIHsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB9XG4uY3Z2LXdoYXQtaXMtdGhpcyB7IGN1cnNvcjpoZWxwOyBtYXJnaW4tbGVmdDoxMHB4OyBkaXNwbGF5OmlubGluZS1ibG9jazsgcGFkZGluZy10b3A6N3B4fVxuXG4vKiBUb29sdGlwICovXG4udG9vbC10aXAgeyBib3JkZXI6MXB4IHNvbGlkICNkZGQ7IGJhY2tncm91bmQtY29sb3I6I2Y2ZjZmNjsgcGFkZGluZzo1cHg7IHBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Ojk5OTk7IH1cbi50b29sLXRpcCAuYnRuLWNsb3NlIHsgdGV4dC1hbGlnbjpyaWdodDsgfVxuLnRvb2wtdGlwIC5idG4tY2xvc2UgYSB7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjowIDAgMCBhdXRvOyB3aWR0aDoxNXB4OyBoZWlnaHQ6MTVweDsgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2J0bl93aW5kb3dfY2xvc2UuZ2lmKSAxMDAlIDAgbm8tcmVwZWF0OyB0ZXh0LWFsaWduOmxlZnQ7IHRleHQtaW5kZW50Oi05OTllbTsgb3ZlcmZsb3c6aGlkZGVuOyB9XG4udG9vbC10aXAgLnRvb2wtdGlwLWNvbnRlbnQgeyBwYWRkaW5nOjVweDsgfVxuXG4vKiBHaWZ0IE1lc3NhZ2VzICovXG4uZ2lmdC1tZXNzYWdlc3twYWRkaW5nOjEwcHggMCAwfVxuLmdpZnQtbWVzc2FnZXMgaDN7Zm9udC1zaXplOjE0cHh9XG4uZ2lmdC1tZXNzYWdlcy1mb3JtIHsgcG9zaXRpb246cmVsYXRpdmU7IHBhZGRpbmc6NXB4O31cbi5vcGMgLmdpZnQtbWVzc2FnZXMtZm9ybXsgcGFkZGluZzoxMHB4IDE1cHh9XG4uZ2lmdC1tZXNzYWdlcy1mb3JtIGxhYmVsIHsgZmxvYXQ6bm9uZSAhaW1wb3J0YW50OyBwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDsgZGlzcGxheTppbmxpbmUtYmxvY2s7fVxuLmdpZnQtbWVzc2FnZXMtZm9ybSBwIGxhYmVsIHsgZGlzcGxheTppbmxpbmU7fVxuXG5cblxuLmdpZnQtbWVzc2FnZXMtZm9ybSAud2hvbGUtb3JkZXIge31cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0geyBtYXJnaW46MCAwIDEwcHg7IH1cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLnByb2R1Y3QtaW1nLWJveCB7IGZsb2F0OmxlZnQ7IHdpZHRoOjc1cHg7IH1cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLnByb2R1Y3QtaW1hZ2UgeyBtYXJnaW46MCAwIDdweDsgfVxuLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSAubnVtYmVyIHsgbWFyZ2luOjA7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLmRldGFpbHMgeyBtYXJnaW4tbGVmdDo5MHB4OyB9XG5cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLmRldGFpbHMgLnByb2R1Y3QtbmFtZSB7fVxuXG4uZ2lmdC1tZXNzYWdlLWxpbmsgeyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYmtnX2NvbGxhcHNlLmdpZikgMCA0cHggbm8tcmVwZWF0OyBwYWRkaW5nLWxlZnQ6MjBweDsgfVxuLmdpZnQtbWVzc2FnZS1saW5rLmV4cGFuZGVkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjowIC01M3B4OyB9XG4uZ2lmdC1tZXNzYWdlLXJvdyB7fVxuLmdpZnQtbWVzc2FnZS1yb3cgLmJ0bi1jbG9zZSB7IGZsb2F0OnJpZ2h0OyB9XG4uZ2lmdC1tZXNzYWdlIGR0IHN0cm9uZyB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cblxuLyogQ2hlY2tvdXQgQWdyZWVtZW50cyAqL1xuLmNoZWNrb3V0LWFncmVlbWVudHMge3BhZGRpbmc6MTBweDsgb3ZlcmZsb3c6aGlkZGVuOyBjbGVhcjpib3RofVxuLmNoZWNrb3V0LWFncmVlbWVudHMgbGkgeyBtYXJnaW46MTBweCAwOyB9XG4uY2hlY2tvdXQtYWdyZWVtZW50cyAuYWdyZWUgeyBwYWRkaW5nOjZweCAwOyBtYXJnaW4tdG9wOjEwcHh9XG4uY2hlY2tvdXQtYWdyZWVtZW50cyAuYWdyZWUgaW5wdXQuY2hlY2tib3h7bWFyZ2luLXRvcDotM3B4fVxuXG4vKiBDZW50aW5lbCAqL1xuLmNlbnRpbmVsIHt9XG4uY2VudGluZWwgLmF1dGhlbnRpY2F0aW9uIHsgYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBiYWNrZ3JvdW5kOiNmZmY7IH1cbi5jZW50aW5lbCAuYXV0aGVudGljYXRpb24gaWZyYW1lIHsgd2lkdGg6OTklOyBoZWlnaHQ6NDAwcHg7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsgcGFkZGluZzowICFpbXBvcnRhbnQ7IGJvcmRlcjowICFpbXBvcnRhbnQ7IH1cblxuLyogR2VuZXJpYyBJbmZvIFNldCAqL1xuLmluZm8tc2V0IHt9XG4vKioqKioqKioqKiBDb21tb24gQ2hlY2tvdXQgU3R5bGVzID4gKi9cbi5ibG9jay5ibG9jay1wcm9ncmVzcyAuYmxvY2stdGl0bGV7bWFyZ2luOjAgMCAzcHg7fVxuLmJsb2NrLXByb2dyZXNzIC5ibG9jay10aXRsZSBzdHJvbmcge2NvbG9yOiMwYTI2M2M7IH1cbi5ibG9jay1wcm9ncmVzcyBkdCB7cGFkZGluZzoxMHB4IDA7IHBvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW46MCAhaW1wb3J0YW50fVxuLmJsb2NrLXByb2dyZXNzIGRkIHtib3JkZXItdG9wOjA7IHBhZGRpbmc6OHB4IDA7IG1hcmdpbjowIDAgNnB4OyB9XG4uYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgYXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3BhZGRpbmctbGVmdDowcHg7Y2xlYXI6Ym90aDttYXJnaW4tbGVmdDoycHg7fVxuLmJsb2NrLXByb2dyZXNzIGRkLmNvbXBsZXRlIHtwYWRkaW5nOjVweCAwIDIwcHg7bWFyZ2luLWJvdHRvbTowO2NsZWFyOmJvdGg7fVxuLmJsb2NrLXByb2dyZXNzIGRkIGFkZHJlc3MsLmJsb2NrLXByb2dyZXNzIHAge21hcmdpbjowOyB9XG4uYmxvY2stcHJvZ3Jlc3MgLmNhcmRzLWxpc3QgZHQgeyBiYWNrZ3JvdW5kOm5vbmU7IGJvcmRlcjowIG5vbmU7IGNvbG9yOmluaGVyaXQ7IGZvbnQtc2l6ZToxMnB4OyBtYXJnaW46NXB4IDA7IHBhZGRpbmc6MDsgfVxuLmJsb2NrLXByb2dyZXNzIC5jYXJkcy1saXN0IGRkIHsgYm9yZGVyOjAgbm9uZTsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgfVxuXG4vKiBPbmUgUGFnZSBDaGVja291dCAqL1xuLmJsb2NrLXByb2dyZXNzIGRkIHsgcGFkZGluZy1ib3R0b206MTBweDt9XG4ub3BjIHsgcG9zaXRpb246cmVsYXRpdmU7IH1cblxuLm9wYyAuYnV0dG9ucy1zZXQuZGlzYWJsZWQgYnV0dG9uLmJ1dHRvbiB7IGRpc3BsYXk6bm9uZTsgfVxuLm9wYyAuYnV0dG9ucy1zZXQgLnBsZWFzZS13YWl0IHsgaGVpZ2h0OjMwcHg7IGxpbmUtaGVpZ2h0OjMwcHg7IGZsb2F0OmxlZnQ7IHBhZGRpbmctdG9wOjBweDsgfVxuXG4ub3BjIGxpLnNlY3Rpb24uYWN0aXZlIHttYXJnaW4tdG9wOjBweDt9XG4ub3BjIGxpI29wYy1sb2dpbiB7bWFyZ2luLXRvcDowcHggIWltcG9ydGFudDt9XG4ub3BjIGxpI29wYy1iaWxsaW5nIHttYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O31cbi5vcGMgLnN0ZXAtdGl0bGUgeyB0ZXh0LWFsaWduOnJpZ2h0O31cbi5vcGMgLnN0ZXAtdGl0bGUgLm51bWJlciB7IGZsb2F0OmxlZnQ7IGxpbmUtaGVpZ2h0OjIycHg7IG1hcmdpbi1yaWdodDoxMHB4O31cbi5vcGMgLnN0ZXAtdGl0bGUgYSB7IGZsb2F0OnJpZ2h0OyB9XG5cbi5vcGMgLmFsbG93IC5zdGVwLXRpdGxlIHsgY3Vyc29yOnBvaW50ZXI7IH1cbi5vcGMgLmFjdGl2ZSAuc3RlcC10aXRsZSB7IGN1cnNvcjpkZWZhdWx0OyB9XG5cbi5vcGMgI29wYy1wYXltZW50LnN0ZXAgeyBwYWRkaW5nOjI0cHggMCAxMXB4IDA7fVxuLm9wYyAjY2hlY2tvdXQtc3RlcC1yZXZpZXd7cGFkZGluZzowIWltcG9ydGFudDsgbWFyZ2luLXRvcDozMHB4O31cbi5vcGMgLnN0ZXAgLnRvb2wtdGlwIHtsZWZ0OjIwcHg7IH1cbi5vcGMgI2JpbGxpbmctYWRkcmVzcy1zZWxlY3R7IG1hcmdpbi1ib3R0b206MTBweDt9XG4ub3BjIC5mb3JtLWxpc3QgbGkud2lkZSBzZWxlY3R7d2lkdGg6NTA4cHg7fVxuLmFkYXB0LTEgLm9wYyAuZm9ybS1saXN0IGxpLndpZGUgc2VsZWN0eyB3aWR0aDo0NDhweDt9XG5cbi5vcGMgLm9yZGVyLXJldmlldyB7cGFkZGluZy10b3A6MHB4fVxuLm9wYyAub3JkZXItcmV2aWV3IC5hdXRoZW50aWNhdGlvbiB7fVxuLm9wYyAub3JkZXItcmV2aWV3IC53YXJuaW5nLW1lc3NhZ2Uge31cblxuLm9wYyAuZm9ybS1saXN0IGxpLmNvbnRyb2wge2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luLWJvdHRvbTozcHg7fVxuLm9wYyAjb3BjLWxvZ2luIC5mb3JtLWxpc3QgbGkuY29udHJvbCB7ZmxvYXQ6bGVmdDsgbWFyZ2luOjNweCAwO2NsZWFyOmJvdGg7fVxuLm9wYyAuZm9ybS1saXN0IGxpLmNvbnRyb2wgaW5wdXQucmFkaW8sXG4ub3BjIC5mb3JtLWxpc3QgbGkuY29udHJvbCBpbnB1dC5jaGVja2JveHttYXJnaW4tdG9wOi00cHh9XG5cbi5hZGFwdC0xIC5vcGMgLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0LFxuLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IGlucHV0LmlucHV0LXRleHR7d2lkdGg6NDMwcHg7fVxuLm9wYy1jb2wgI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IC52LWZpeCBpbnB1dC5pbnB1dC10ZXh0LFxuLmFkYXB0LTEgLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IC52LWZpeCBpbnB1dC5pbnB1dC10ZXh0LFxuLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IC52LWZpeCBpbnB1dC5pbnB1dC10ZXh0e3dpZHRoOjkycHg7fVxuLmFkYXB0LTEgLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IHNlbGVjdCxcbi5vcGMgLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCBzZWxlY3R7d2lkdGg6NDQ4cHg7fVxuLmFkYXB0LTAgLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IGlucHV0LmlucHV0LXRleHR7d2lkdGg6MzAwcHg7fVxuLmFkYXB0LTAgLm9wYyAuc3AtbWV0aG9kcyAuZm9ybS1saXN0IHNlbGVjdHt3aWR0aDozMThweDt9XG5cbi8qIE11bHRpcGxlIEFkZHJlc3NlcyBDaGVja291dCAqL1xuXG4ubXVsdGlwbGUtY2hlY2tvdXQgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206MjBweH1cbi5tdWx0aXBsZS1jaGVja291dCAudGl0bGUtYnV0dG9ucyBidXR0b24uYnV0dG9ue21hcmdpbi10b3A6MTBweDt9XG4ubXVsdGlwbGUtY2hlY2tvdXQgLnRvb2wtdGlwIHsgdG9wOjUwJTsgbWFyZ2luLXRvcDotMTIwcHg7IHJpZ2h0OjEwcHg7IH1cbi5tdWx0aXBsZS1jaGVja291dCAuZ3JhbmQtdG90YWwgeyBmb250LXNpemU6MS41ZW07IHRleHQtYWxpZ246cmlnaHQ7IH1cbi5tdWx0aXBsZS1jaGVja291dCAuZ3JhbmQtdG90YWwgYmlnIHt9XG4ubXVsdGlwbGUtY2hlY2tvdXQgLmdyYW5kLXRvdGFsIC5wcmljZSB7fVxuLm11bHRpcGxlLWNoZWNrb3V0ICNjaGVja291dC1yZXZpZXctc3VibWl0e3BhZGRpbmctdG9wOjIwcHh9XG4ubXVsdGlwbGUtY2hlY2tvdXQgI2NoZWNrb3V0LXJldmlldy1zdWJtaXQgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lcntwYWRkaW5nLXRvcDoyMHB4fVxuLm11bHRpcGxlLWNoZWNrb3V0IC5jb2wyLXNldHsgcGFkZGluZy1ib3R0b206MjBweH1cbi5tdWx0aXBsZS1jaGVja291dCAjbXVsdGlzaGlwLWFkZHJlc3Nlcy10YWJsZS5kYXRhLXRhYmxlIHRmb290IHRke2JvcmRlcjowO31cblxuI211bHRpc2hpcC1hZGRyZXNzZXMtdGFibGUgdGQgLnByb2R1Y3QtbmFtZXttYXJnaW46MDt9XG4ubXVsdGlwbGUtY2hlY2tvdXQgLnBhZ2UtdGl0bGUgaDEsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1hZGRyZXNzLW5ld3NoaXBwaW5nIC5wYWdlLXRpdGxlIGgxeyBtYXJnaW46MDsgcGFkZGluZy1sZWZ0OjA7IHBhZGRpbmctcmlnaHQ6MDsgYm9yZGVyOjB9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBBY2NvdW50IExvZ2luL0NyZWF0ZSBQYWdlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wtbWFpbntwYWRkaW5nLWJvdHRvbTo0MnB4O31cbi5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTIsXG4uYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0xe3dpZHRoOjQ3LjQlO2Zsb2F0OmxlZnQ7fVxuLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMi5uZXctdXNlcnN7ZmxvYXQ6bGVmdDt9XG4uYWNjb3VudC1sb2dpbiAuY29udGVudCBoMiB7cGFkZGluZzowIDAgMTRweDsgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsgbWFyZ2luLWJvdHRvbTowfVxuLmFjY291bnQtbG9naW4gLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0e2NsZWFyOmJvdGg7ZmxvYXQ6bGVmdDt3aWR0aDogOTUlO31cbi5uZXctdXNlcnMgLmJ1dHRvbnMtc2V0e31cbi5hZGFwdC0wIC5uZXctdXNlcnMgLmJ1dHRvbnMtc2V0e21hcmdpbi10b3A6MDt9XG4ucmVnaXN0ZXJlZC11c2VycyAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbnttYXJnaW4tcmlnaHQ6MjBweH1cbi5yZWdpc3RlcmVkLXVzZXJzIC5idXR0b25zLXNldCBwLnJlcXVpcmVke2Zsb2F0OmxlZnQ7IGNsZWFyOm5vbmU7IG1hcmdpbi10b3A6NHB4fVxuLnJlZ2lzdGVyZWQtdXNlcnMgLmNvbnRlbnQgcC5yZXF1aXJlZCB7IGNsZWFyOiBsZWZ0O21hcmdpbi10b3A6MTBweDt9XG4ucmVnaXN0ZXJlZC11c2VycyAuY29udGVudCBwe3BhZGRpbmc6MTJweCAwIDVweCAwO3BhZGRpbmc6MCA7bWFyZ2luLWJvdHRvbTowcHh9XG4ucmVnaXN0ZXJlZC11c2VycyAuY29udGVudCB7cGFkZGluZzogMjBweCAwO31cbi5hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXR7IHdpZHRoOjEwMCV9XG4uYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0IC5mb3JtLWxpc3QgLmZpZWxkeyB3aWR0aDoyNTBweDttYXJnaW4tcmlnaHQ6MTBweDt9XG4uYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0IC5mb3JtLWxpc3QgaW5wdXQuaW5wdXQtdGV4dHt3aWR0aDoyMzBweDt9XG5cbi5hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQgLmxlZ2VuZHt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3BhZGRpbmc6MCAwIDE0cHg7bWFyZ2luOjB9XG4uYWNjb3VudC1jcmVhdGUgLmZvcm0tbGlzdCBsaS5jb250cm9se2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJTttYXJnaW46MTNweCAwIDMwcHg7fVxuLmFjY291bnQtY3JlYXRlIC5mb3JtLWxpc3QgbGl7d2lkdGg6NTAlO31cbi5hY2NvdW50LWNyZWF0ZSAuZm9ybS1saXN0IGxpLmZpZWxkc3t3aWR0aDoxMDAlO31cbi5hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXR7bWFyZ2luLXRvcDoyMHB4OyBkaXNwbGF5OmlubGluZS1ibG9jazsgd2lkdGg6NTA4cHh9XG4uYWNjb3VudC1sb2dpbiAuaW5wdXQtYm94LCAuYWNjb3VudC1jcmVhdGUgLmlucHV0LWJveCB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwJTt9XG5cbi5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldHtvdmVyZmxvdzpoaWRkZW47IGNsZWFyOmJvdGg7IGZsb2F0OmxlZnQ7IHdpZHRoOjEwMCU7IG1hcmdpbi10b3A6MTBweH1cbi5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCBwLnJlcXVpcmVke21hcmdpbi1ib3R0b206MTVweH1cbi5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCBwLmJhY2stbGlua3ttYXJnaW4tYm90dG9tOjVweDsgb3ZlcmZsb3c6aGlkZGVuOyBmbG9hdDpsZWZ0fVxuLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kIC5idXR0b25zLXNldHtvdmVyZmxvdzpoaWRkZW47IGNsZWFyOmJvdGg7IGZsb2F0OmxlZnQ7IHdpZHRoOjEwMCU7fVxuLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kICNtYXhfcmVjaXBpZW50X21lc3NhZ2V7IHBhZGRpbmctdG9wOjdweDtjbGVhcjpib3RoO31cbi5zZW5kZnJpZW5kLXByb2R1Y3Qtc2VuZCAuZmllbGRzZXR7b3ZlcmZsb3c6aGlkZGVuOyBjbGVhcjpib3RoOyBmbG9hdDpsZWZ0OyB3aWR0aDoxMDAlOyBwYWRkaW5nLWJvdHRvbToyMHB4fVxuLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kIC5idXR0b25zLXNldCBwLmJhY2stbGlua3ttYXJnaW4tYm90dG9tOjVweDtmbG9hdDpsZWZ0fVxuLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9ue21hcmdpbi1ib3R0b206NXB4OyBtYXJnaW4tcmlnaHQ6MTBweH1cbi5zZW5kZnJpZW5kLXByb2R1Y3Qtc2VuZCAuZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWF7d2lkdGg6NTgycHg7fVxuLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kIC5mb3JtLWxpc3QgaW5wdXQuaW5wdXQtdGV4dHsgd2lkdGg6MjgwcHh9XG4uYWRhcHQtMS5zZW5kZnJpZW5kLXByb2R1Y3Qtc2VuZCAuZm9ybS1saXN0IGlucHV0LmlucHV0LXRleHR7IHdpZHRoOjMyMHB4fVxuLmFkYXB0LTIuc2VuZGZyaWVuZC1wcm9kdWN0LXNlbmQgLmZvcm0tbGlzdCBsaS53aWRlIHRleHRhcmVhe3dpZHRoOjU4MnB4O31cbi5hZGFwdC0xLnNlbmRmcmllbmQtcHJvZHVjdC1zZW5kIC5mb3JtLWxpc3QgbGkud2lkZSB0ZXh0YXJlYXt3aWR0aDozMjBweDt9XG4uYWRhcHQtMC5zZW5kZnJpZW5kLXByb2R1Y3Qtc2VuZCAuZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWF7d2lkdGg6MjgwcHg7fVxuXG4uY3VzdG9tZXItYWNjb3VudC1yZXNldHBhc3N3b3JkIC5maWVsZHNldHttYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50fVxuLmN1c3RvbWVyLWFjY291bnQtcmVzZXRwYXNzd29yZCAuYnV0dG9ucy1zZXR7d2lkdGg6MTAwJTsgZmxvYXQ6bGVmdDsgbWFyZ2luLXRvcDoxMHB4fVxuLmN1c3RvbWVyLWFjY291bnQtcmVzZXRwYXNzd29yZCAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZHttYXJnaW4tYm90dG9tOjEwcHggfVxuLyogRW5kIG9mIEFjY291bnQgTG9naW4vQ3JlYXRlIFBhZ2VzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDYXB0Y2hhICovXG4uY2FwdGNoYS1ub3RlICB7fVxuLmNhcHRjaGEtaW1hZ2UgeyBmbG9hdDpsZWZ0OyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuLmNhcHRjaGEtaW1nIHsgYm9yZGVyOjFweCBzb2xpZCAjY2NjOyB9XG4ucmVnaXN0ZXJlZC11c2VycyAuY2FwdGNoYS1pbWFnZSAgICB7fVxuI2NoZWNrb3V0LXN0ZXAtbG9naW4gLmNhcHRjaGEtaW1hZ2Uge31cbi5jYXB0Y2hhLXJlbG9hZCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MnB4OyByaWdodDoycHg7fVxuLmNhcHRjaGEtcmVsb2FkLnJlZnJlc2hpbmcgIHsgYW5pbWF0aW9uOnJvdGF0ZSAxLjVzIGluZmluaXRlIGxpbmVhcjsgLXdlYmtpdC1hbmltYXRpb246cm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyOyAtbW96LWFuaW1hdGlvbjpyb3RhdGUgMS41cyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7IH1cbiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMzYwZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUgeyAtbW96LXRyYW5zZm9ybTpyb3RhdGUoMCk7IH1cbiAgICAwJSB7IC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtMzYwZGVnKTsgfVxufVxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOnJvdGF0ZSgwKTsgfVxuICAgIDAlIHsgdHJhbnNmb3JtOnJvdGF0ZSgtMzYwZGVnKTsgfVxufVxuXG4vKiBSZW1lbWJlciBNZSBQb3B1cCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53aW5kb3ctb3ZlcmxheSB7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy93aW5kb3dfb3ZlcmxheS5wbmcpIHJlcGVhdDsgYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsIDAuMzUpOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgaGVpZ2h0OjEwMCU7IHdpZHRoOjEwMCU7IHotaW5kZXg6OTkwOyB9XG5cbi5yZW1lbWJlci1tZSBsYWJlbCB7fVxuLnJlbWVtYmVyLW1lLXBvcHVwIHt9XG4ucmVtZW1iZXItbWUtcG9wdXAgaDMge31cbi5yZW1lbWJlci1tZS1wb3B1cCAucmVtZW1iZXItbWUtcG9wdXAtaGVhZCB7fVxuLnJlbWVtYmVyLW1lLXBvcHVwIC5yZW1lbWJlci1tZS1wb3B1cC1oZWFkIC5yZW1lbWJlci1tZS1wb3B1cC1jbG9zZSB7fVxuLnJlbWVtYmVyLW1lLXBvcHVwIC5yZW1lbWJlci1tZS1wb3B1cC1ib2R5IHt9XG4ucmVtZW1iZXItbWUtcG9wdXAgLnJlbWVtYmVyLW1lLXBvcHVwLWJvZHkgYSB7fVxuLyogUmVtZW1iZXIgTWUgUG9wdXAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogTXkgQWNjb3VudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm15LWFjY291bnR7cGFkZGluZy1ib3R0b206MzlweDsgcG9zaXRpb246cmVsYXRpdmV9XG4ubXktYWNjb3VudCAuZGF0YS10YWJsZXttYXJnaW4tYm90dG9tOjEzcHg7fVxuI3dpc2hsaXN0LXRhYmxle292ZXJmbG93OnZpc2libGU7ZGlzcGxheTp0YWJsZTt9XG4ubXktYWNjb3VudCAuYm94LWhlYWQgLmRhdGEtdGFibGV7LypvdmVyZmxvdy14IDogc2Nyb2xsKi8gbWFyZ2luLWJvdHRvbTowcHh9XG4ubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyAubGluay1yc3MgeyBmbG9hdDpub25lOyBtYXJnaW46MDsgfVxuLm15LWFjY291bnQgLndlbGNvbWUtbXNnIHAuaGVsbG97bWFyZ2luLWJvdHRvbToxMHB4fVxuLm15LWFjY291bnQgcC5oZWxsbyBzdHJvbmd7IGZvbnQtd2VpZ2h0Om5vcm1hbDt9XG4ubXktd2lzaGxpc3QgdGV4dGFyZWF7IHdpZHRoOjkwJTsgbWFyZ2luLXRvcDo1cHg7IGhlaWdodDoxMDBweH1cbi8qLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctcmVnaXN0ZXIgLmZvcm0tbGlzdCBsaS53aWRlIGlucHV0LmlucHV0LXRleHR7d2lkdGg6NjYwcHh9Ki9cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXJlZ2lzdGVyIC5maWVsZHNldHsgd2lkdGg6MTAwJTsgcGFkZGluZy1ib3R0b206MTBweH1cblxuLyoqKioqKioqKiogPCBEYXNoYm9hcmQgKi9cbi5kYXNoYm9hcmQgLndlbGNvbWUtbXNnIHtwYWRkaW5nOjAgMjBweDt9XG4uYm94LWhlYWR7cGFkZGluZzowOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XG4uYm94LWhlYWQgaDJ7bWFyZ2luOjAgNXB4IDAgMCFpbXBvcnRhbnQ7cGFkZGluZzowO2Zsb2F0OmxlZnQ7fVxuLmJveC1oZWFkIGF7IHBhZGRpbmc6NnB4IDE1cHggNHB4OyByaWdodDowOyB0b3A6MDsgfVxuLmRhc2hib2FyZCA+IGZvcm0ge2Rpc3BsYXk6IGJsb2NrO3BhZGRpbmc6IDE1cHg7fVxuLypCbG9jayBNeSBBY2NvdW50Ki9cbi5kYXNoYm9hcmQgLmJveC1yZWNlbnQgLmJveC1oZWFke21hcmdpbi1ib3R0b206MzBweDt9XG4uYm94LWFjY291bnR7Y2xlYXI6Ym90aDsgZmxvYXQ6bGVmdDsgd2lkdGg6MTAwJX1cbi5ib3gtYWNjb3VudCAuYm94LWhlYWR7bWFyZ2luOjA7fVxuLm15LWFjY291bnQgLnBhZ2Vye3BhZGRpbmc6MTBweCAwfVxuLyogQmxvY2s6IFJlY2VudCBPcmRlcnMgKi9cbi5ib3gtcmVjZW50IGg1e3BhZGRpbmctYm90dG9tOjhweH1cblxuLyogQmxvY2s6IEFjY291bnQgSW5mb3JtYXRpb24gKi9cbi5ib3gtYWNjb3VudC5ib3gtaW5mbyAuYm94LWhlYWR7bWFyZ2luLWJvdHRvbToyM3B4O31cbi5ib3gtaW5mbyAuY29sMi1zZXR7cGFkZGluZzowIDIwcHg7fVxuLmJveC10aXRsZSBhe21hcmdpbi10b3A6NXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OnJpZ2h0O2ZvbnQtd2VpZ2h0OjcwMDt9XG4ubXVsdGlwbGUtY2hlY2tvdXQgLmJveC10aXRsZSBhe21hcmdpbi10b3A6MDtmbG9hdDpub25lO31cbi5ib3gtaW5mbyBoNCxcbi5ib3gtdGl0bGUgaDMsXG4uYm94LWNvbnRlbnQgaDN7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgZmxvYXQ6bGVmdDsgbWFyZ2luLWJvdHRvbToxMXB4O31cbi5ib3gtY29udGVudCBhZGRyZXNzLFxuLmJveC1jb250ZW50IHB7bGluZS1oZWlnaHQ6MjJweH1cbi5ib3gtY29udGVudHsgY2xlYXI6bGVmdDsgfVxuLm15LWFjY291bnQgLmNvbDItc2V0IC5ib3gtdGl0bGUgaDYgYXttYXJnaW46MH1cbi5teS1hY2NvdW50IC5jb2wyLXNldCAuYm94LWNvbnRlbnQgcCBhIHtmbG9hdDpub25lOyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgbWFyZ2luOjEzcHggMCAwfVxuLmJveC1jb250ZW50IGFkZHJlc3Mge3BhZGRpbmc6IDJweCAwIDA7IGNsZWFyOmJvdGg7fVxuLmJveC1hY2NvdW50IC5ib3gtY29udGVudCBwIHtsaW5lLWhlaWdodDoxNXB4fVxuLmJveC1hY2NvdW50IC5jb2wtMSwgLmJveC1hY2NvdW50IC5jb2wtMiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNDYuNSU7fVxuXG4vKiBCbG9jazogUmV2aWV3cyAmIFRhZ3MgKi9cbiNteS10YWdzLXRhYmxlIC5hZGQtdG8tbGlua3N7bWFyZ2luLXRvcDo1cHg7ZmxvYXQ6bGVmdDt9XG4ubXktYWNjb3VudCAuYm94LXJldmlld3MgLmRldGFpbHMgeyBtYXJnaW4tbGVmdDoyMHB4OyB9XG4ubXktYWNjb3VudCAuYm94LXRhZ3MgLmRldGFpbHMgeyBtYXJnaW4tbGVmdDoxNXB4OyB9XG4uYm94LXRhZ3MgLnRhZ3Mgc3Ryb25neyBmb250LXdlaWdodDpub3JtYWw7ZmxvYXQ6bGVmdDttYXJnaW4tdG9wOjJweDsgfVxuLmJveC10YWdzIC50YWdzIGxpeyAgZmxvYXQ6bGVmdDsgZGlzcGxheTppbmxpbmU7IHBhZGRpbmctbGVmdDo1cHg7IH1cbi5ib3gtcmV2aWV3cyBsaS5pdGVtICwuYm94LXRhZ3MgbGkuaXRlbSB7IHBhZGRpbmctYm90dG9tOjIwcHg7fVxuLmJveC1yZXZpZXdzIGxpLml0ZW0ubGFzdHsgcGFkZGluZy1ib3R0b206MHB4O31cbi5ib3gtdGFncyBsaS5pdGVtLmxhc3QgeyBwYWRkaW5nLWJvdHRvbToxMXB4O31cbi5ib3gtcmV2aWV3cyBoMy5wcm9kdWN0LW5hbWV7IG1hcmdpbi1ib3R0b206N3B4O31cbi5ib3gtdGFncyBoMy5wcm9kdWN0LW5hbWV7IG1hcmdpbi1ib3R0b206M3B4O31cbi5ib3gtdGFnc3ttYXJnaW4tdG9wOjQzcHg7fVxuLyoqKioqKioqKiogRGFzaGJvYXJkID4gKi9cblxuLyogQWRkcmVzcyBCb29rICovXG4uY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5teS1hY2NvdW50IC5mb3JtLWxpc3QgbGkud2lkZTpmaXJzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206MTBweDsgfVxuLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAubXktYWNjb3VudCAuZm9ybS1saXN0IGxpIHN0cm9uZ3sgcGFkZGluZy10b3A6NXB4OyBkaXNwbGF5OmJsb2NrOyB9XG4uY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5teS1hY2NvdW50IC5mb3JtLWxpc3QgbGkuY29udHJvbHsgcGFkZGluZy10b3A6MTBweH1cbi5jdXN0b21lci1hZGRyZXNzLWZvcm0gLm15LWFjY291bnQgLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWR7ZmxvYXQ6bm9uZX1cbi5hZGRyZXNzZXMtbGlzdHsgbWFyZ2luOjAgNDBweDt9XG4uYWRhcHQtMi5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0eyB3aWR0aDoyOTBweH1cbi5hZGFwdC0yLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1saXN0IHNlbGVjdHsgd2lkdGg6MzA4cHh9XG4uYWRhcHQtMS5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tbGlzdCBpbnB1dC5pbnB1dC10ZXh0eyB3aWR0aDoyMDBweH1cbi5hZGFwdC0xLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1saXN0IHNlbGVjdHsgd2lkdGg6MjE4cHh9XG5cbi5jb2wtMS5hZGRyZXNzZXMtcHJpbWFyeSBsaSBoNXsgZmxvYXQ6IGxlZnQ7ICBtYXJnaW4tcmlnaHQ6IDUwcHg7fVxuLmFkZHJlc3Nlcy1saXN0IGEgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbjogNHB4IDAgMCAhaW1wb3J0YW50OyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtkaXNwbGF5OmlubGluZS1ibG9jazt9XG4uY29sMi1zZXQgLmNvbC0xLmFkZHJlc3Nlcy1wcmltYXJ5e3dpZHRoOjEwMCU7fVxuLmNvbDItc2V0IC5jb2wtMi5hZGRyZXNzZXMtYWRkaXRpb25hbHt3aWR0aDoxMDAlfVxuLmFkZHJlc3Nlcy1saXN0IGFkZHJlc3MgeyBsaW5lLWhlaWdodDogMjJweDsgbWFyZ2luOiAwOyBjbGVhcjpib3RofVxuLmFkZHJlc3Nlcy1saXN0IC5hZGRyZXNzZXMtYWRkaXRpb25hbCBsaS5pdGVte21hcmdpbi1ib3R0b206NHB4fVxuLmJ1dHRvbi5jcC1idG4ge1xuICA+IHNwYW4gPiBzcGFuIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG4vKiBNeSBPcmRlciAqL1xuLm15LWFjY291bnQgaDV7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyB9XG4ubXktYWNjb3VudCAucGFnZXJ7cGFkZGluZzowcHggMCAyMHB4OyB9XG4ubXktYWNjb3VudCAucGFnZXIgLmFtb3VudHttYXJnaW4tdG9wOjdweDsgY2xlYXI6Ym90aDtmbG9hdDpyaWdodDt9XG4ubXktYWNjb3VudCAucGFnZXIgLmxpbWl0ZXJ7ZmxvYXQ6bGVmdDtsaW5lLWhlaWdodDoxM3B4O21hcmdpbi10b3A6MnB4O31cbi8qIE9yZGVyIFZpZXcgKi9cbi5vcmRlci1pbmZvIHsgYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOjVweDsgfVxuLm9yZGVyLWluZm8gZHQsXG4ub3JkZXItaW5mbyBkZCxcbi5vcmRlci1pbmZvIHVsLFxuLm9yZGVyLWluZm8gbGkgeyBkaXNwbGF5OmlubGluZTsgfVxuLm9yZGVyLWluZm8gZHQgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbi5vcmRlci1kYXRlIHsgbWFyZ2luOjEwcHggMDsgfVxuXG4ub3JkZXItaW5mby1ib3gge31cblxuLm9yZGVyLWl0ZW1zIHsgd2lkdGg6MTAwJTsgb3ZlcmZsb3cteDphdXRvOyB9XG5cbi5vcmRlci1hZGRpdGlvbmFsIHsgbWFyZ2luOjE1cHggMDsgfVxuLyogT3JkZXIgR2lmdCBNZXNzYWdlICovXG4uZ2lmdC1tZXNzYWdlIGR0IHN0cm9uZyB7IGNvbG9yOiM2NjY7IH1cbi5naWZ0LW1lc3NhZ2UgZGQgeyBmb250LXNpemU6MTNweDsgbWFyZ2luOjVweCAwIDA7IH1cbi8qIE9yZGVyIENvbW1lbnRzICovXG4ub3JkZXItYWJvdXQgZHQgeyBmb250LXdlaWdodDpib2xkOyB9XG4ub3JkZXItYWJvdXQgZGQgeyBmb250LXNpemU6MTNweDsgbWFyZ2luOjAgMCA3cHg7IH1cblxuLnRyYWNraW5nLXRhYmxlIHsgbWFyZ2luOjAgMCAxNXB4OyB9XG4udHJhY2tpbmctdGFibGUgdGggeyBmb250LXdlaWdodDpib2xkOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH1cblxuLnRyYWNraW5nLXRhYmxlLXBvcHVwIHsgd2lkdGg6MTAwJTsgfVxuLnRyYWNraW5nLXRhYmxlLXBvcHVwIHRoIHsgZm9udC13ZWlnaHQ6Ym9sZDsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4udHJhY2tpbmctdGFibGUtcG9wdXAgdGgsXG4udHJhY2tpbmctdGFibGUtcG9wdXAgdGQgeyBwYWRkaW5nOjFweCA4cHg7IH1cblxuLyogT3JkZXIgUHJpbnQgUGFnZXMgKi9cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIHt9XG4ucGFnZS1wcmludCAucHJpbnQtaGVhZCBpbWcgeyBmbG9hdDpsZWZ0OyB9XG4ucGFnZS1wcmludCAucHJpbnQtaGVhZCBhZGRyZXNzIHsgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6MTVweDsgfVxuLyogUHJpY2UgUmV3cml0ZXMgKi9cbi5wYWdlLXByaW50IC5naWZ0LW1lc3NhZ2UtbGluayB7IGRpc3BsYXk6bm9uZTsgfVxuLnBhZ2UtcHJpbnQgLnByaWNlLWV4Y2wtdGF4LFxuLnBhZ2UtcHJpbnQgLnByaWNlLWluY2wtdGF4IHsgZGlzcGxheTpibG9jazsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4ucGFnZS1wcmludCAuY2FydC1wcmljZSxcbi5wYWdlLXByaW50IC5wcmljZS1leGNsLXRheCAubGFiZWwsXG4ucGFnZS1wcmludCAucHJpY2UtaW5jbC10YXggLmxhYmVsLFxuLnBhZ2UtcHJpbnQgLnByaWNlLWV4Y2wtdGF4IC5wcmljZSxcbi5wYWdlLXByaW50IC5wcmljZS1pbmNsLXRheCAucHJpY2UgeyBkaXNwbGF5OmlubGluZTsgfVxuXG4vKiBNeSBSZXZpZXdzICovXG4ucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCB7ZmxvYXQ6bGVmdDtwYWRkaW5nLWJvdHRvbToxMHB4O21hcmdpbi1yaWdodDoyMHB4OyB9XG5cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH1cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IC5sYWJlbCB7IG1hcmdpbjowIDAgNXB4O31cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IC5yYXRpbmdzIC5yYXRpbmctYm94IHsgZmxvYXQ6bm9uZTsgZGlzcGxheTpibG9jazsgbWFyZ2luOjAgMCA3cHg7IH1cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIHtvdmVyZmxvdzpoaWRkZW47fVxuLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LW5hbWUge21hcmdpbjowIDAgMTBweDsgfVxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHsgbWFyZ2luOjAgMCAxMHB4O31cbi5wcm9kdWN0LXZpZXcgLnJhdGluZ3MtdGFibGUgeyBtYXJnaW46NXB4IDB9XG4ucHJvZHVjdC1yZXZpZXcgZHQgeyBmb250LXdlaWdodDpib2xkOyB9XG4ucHJvZHVjdC1yZXZpZXcgZGQgeyBtYXJnaW46NXB4IDAgMDsgfVxuXG4vKk5ld3NsZXR0ZXIgU3Vic2NyaXB0aW9uKi9cbi5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAuYnV0dG9ucy1zZXR7d2lkdGg6MTAwJTsgY2xlYXI6Ym90aDsgZmxvYXQ6bGVmdH1cbi5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAuZmllbGRzZXQgLmxlZ2VuZHsgcGFkZGluZy1ib3R0b206MTBweH1cbi8qTmV3c2xldHRlciBTdWJzY3JpcHRpb24qL1xuLndpc2hsaXN0LWluZGV4LXNoYXJlIC5teS1hY2NvdW50IC5idXR0b25zLXNldCBwLnJlcXVpcmVke3dpZHRoOjEwMCV9XG4ud2lzaGxpc3QtaW5kZXgtc2hhcmUgLm15LWFjY291bnQgLmJ1dHRvbnMtc2V0IHAuYmFjay1saW5re2Zsb2F0OmxlZnQ7IG1hcmdpbi1ib3R0b206NXB4fVxuLndpc2hsaXN0LWluZGV4LXNoYXJlIC5idXR0b25zLXNldHt3aWR0aDoxMDAlOyBjbGVhcjpib3RoOyBmbG9hdDpsZWZ0fVxuLndpc2hsaXN0LWluZGV4LXNoYXJlIC5mb3JtLWxpc3QgbGkud2lkZSB0ZXh0YXJlYXt3aWR0aDo0OTVweH1cbi53aXNobGlzdC1pbmRleC1zaGFyZSAudmFsaWRhdGlvbi1hZHZpY2V7d2lkdGg6NDk1cHh9XG4uYWRhcHQtMS53aXNobGlzdC1pbmRleC1zaGFyZSAuZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWF7d2lkdGg6MzUwcHh9XG4uYWRhcHQtMS53aXNobGlzdC1pbmRleC1zaGFyZSAudmFsaWRhdGlvbi1hZHZpY2V7d2lkdGg6MzUwcHh9XG4uYWRhcHQtMC53aXNobGlzdC1pbmRleC1zaGFyZSAuZm9ybS1saXN0IGxpLndpZGUgdGV4dGFyZWF7d2lkdGg6MjgwcHh9XG4uYWRhcHQtMC53aXNobGlzdC1pbmRleC1zaGFyZSAudmFsaWRhdGlvbi1hZHZpY2V7d2lkdGg6MjgwcHh9XG4uYWRhcHQtMC53aXNobGlzdC1pbmRleC1zaGFyZSAuZmllbGRzZXQge3dpZHRoOjEwMCV9XG4uYWRhcHQtMC53aXNobGlzdC1pbmRleC1zaGFyZSAuZm9ybS1saXN0IGxpLndpZGUgLmlucHV0LWJveCB7d2lkdGg6MjgwcHh9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEZvb3RlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3RlciB7IH1cbi5mb290ZXIgcCB7IHRleHQtYWxpZ246cmlnaHQ7IH1cbi5mb290ZXIgYWRkcmVzcyB7IHRleHQtYWxpZ246bGVmdDsgbWFyZ2luLWJvdHRvbTowO31cbi5mb290ZXIgdWwgeyBtYXJnaW4tYm90dG9tOjVweDt9XG4uZm9vdGVyIHVsIGxpIHsgZGlzcGxheTppbmxpbmU7IG1hcmdpbi1yaWdodDoxNXB4fVxuLmZvb3Rlci1jb250YWluZXIgLmJvdHRvbS1jb250YWluZXIgeyB0ZXh0LWFsaWduOmNlbnRlcjsgfVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogQ2xlYXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2xlYXJlcjphZnRlcixcbi5oZWFkZXItY29udGFpbmVyOmFmdGVyLFxuLmhlYWRlci1jb250YWluZXIgLnRvcC1jb250YWluZXI6YWZ0ZXIsXG4uaGVhZGVyOmFmdGVyLFxuLmhlYWRlciAucXVpY2stYWNjZXNzOmFmdGVyLFxuI25hdjphZnRlcixcbi5tYWluOmFmdGVyLFxuLmZvb3RlcjphZnRlcixcbi5mb290ZXItY29udGFpbmVyIC5ib3R0b20tY29udGFpbmVyOmFmdGVyLFxuLmNvbC1tYWluOmFmdGVyLFxuLmNvbDItc2V0OmFmdGVyLFxuLmNvbDMtc2V0OmFmdGVyLFxuLmNvbDQtc2V0OmFmdGVyLFxuLnNlYXJjaC1hdXRvY29tcGxldGUgbGk6YWZ0ZXIsXG4uYmxvY2sgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsXG4uYmxvY2sgLmFjdGlvbnM6YWZ0ZXIsXG4uYmxvY2sgbGkuaXRlbTphZnRlcixcbi5ibG9jay1wb2xsIGxpOmFmdGVyLFxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgbGk6YWZ0ZXIsXG4ucGFnZS10aXRsZTphZnRlcixcbi5wcm9kdWN0cy1ncmlkOmFmdGVyLFxuLnByb2R1Y3RzLWxpc3QgbGkuaXRlbTphZnRlcixcbi5ib3gtYWNjb3VudCAuYm94LWhlYWQ6YWZ0ZXIsXG4uZGFzaGJvYXJkIC5ib3ggLmJveC10aXRsZTphZnRlcixcbi5ib3gtcmV2aWV3cyBsaS5pdGVtOmFmdGVyLFxuLmJveC10YWdzIGxpLml0ZW06YWZ0ZXIsXG4ucGFnZXI6YWZ0ZXIsXG4uc29ydGVyOmFmdGVyLFxuLnJhdGluZ3M6YWZ0ZXIsXG4udGFnczphZnRlcixcbi5hZGQtdG8tYm94OmFmdGVyLFxuLmFkZC10by1jYXJ0OmFmdGVyLFxuLnByb2R1Y3QtZXNzZW50aWFsOmFmdGVyLFxuLnByb2R1Y3QtY29sbGF0ZXJhbDphZnRlcixcbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW1nLWJveCAubW9yZS12aWV3cyB1bDphZnRlcixcbi5wcm9kdWN0LXZpZXcgLmJveC1kZXNjcmlwdGlvbjphZnRlcixcbi5wcm9kdWN0LXZpZXcgLmJveC10YWdzIC5mb3JtLWFkZDphZnRlcixcbi5wcm9kdWN0LW9wdGlvbnMgLm9wdGlvbnMtbGlzdCBsaTphZnRlcixcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tOmFmdGVyLFxuLnByb2R1Y3QtcmV2aWV3OmFmdGVyLFxuLmNhcnQ6YWZ0ZXIsXG4uY2FydC1jb2xsYXRlcmFsczphZnRlcixcbi5jYXJ0IC5jcm9zc3NlbGwgbGkuaXRlbTphZnRlcixcbi5vcGMgLnN0ZXAtdGl0bGU6YWZ0ZXIsXG4uY2hlY2tvdXQtcHJvZ3Jlc3M6YWZ0ZXIsXG4ubXVsdGlwbGUtY2hlY2tvdXQgLnBsYWNlLW9yZGVyOmFmdGVyLFxuLmdyb3VwLXNlbGVjdCBsaTphZnRlcixcbi5mb3JtLWxpc3QgbGk6YWZ0ZXIsXG4uZm9ybS1saXN0IC5maWVsZDphZnRlcixcbi5idXR0b25zLXNldDphZnRlcixcbi5wYWdlLXByaW50IC5wcmludC1oZWFkOmFmdGVyLFxuLmFkdmFuY2VkLXNlYXJjaC1zdW1tYXJ5OmFmdGVyLFxuLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbTphZnRlcixcbi5zZW5kLWZyaWVuZCAuZm9ybS1saXN0IGxpIHA6YWZ0ZXIsXG4ud2lkZ2V0LXN0YXRpYy1ibG9jazphZnRlciB7IGRpc3BsYXk6YmxvY2s7IGNvbnRlbnQ6XCIuXCI7IGNsZWFyOmJvdGg7IGZvbnQtc2l6ZTowOyBsaW5lLWhlaWdodDowOyBoZWlnaHQ6MDsgb3ZlcmZsb3c6aGlkZGVuOyB9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tZW51LWl0ZW0taGJveCA+IC5tZW51LWNvbnRhaW5lcnsgcG9zaXRpb246cmVsYXRpdmU7IH1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnBheXBhbC1sb2dve21hcmdpbi10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47fVxuLnBheXBhbC1yZXZpZXctb3JkZXIgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lci5idXR0b25zLXNldHtwYWRkaW5nOjA7fVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWltZy1ib3ggLm1vcmUtdmlld3MgbGkuamNhcm91c2VsLWl0ZW0tdW5kZWZpbmVkLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC5tb3JlLXZpZXdzIGxpLmpjYXJvdXNlbC1pdGVtLU5hTiB7ZGlzcGxheTpub25lO31cbi8qIE1BUCBQb3B1cD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcnQtbXNycC10b3RhbHMgeyBjb2xvcjpyZWQ7IGZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OmJvbGQ7IG1hcmdpbjoxMHB4IDEwcHggMDsgcGFkZGluZzoxMHB4OyB0ZXh0LWFsaWduOnJpZ2h0OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxuLm1hcC1jYXJ0LXNpZGViYXItdG90YWwgeyBjb2xvcjpyZWQ7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToxMHB4OyBmb250LXdlaWdodDpib2xkOyB0ZXh0LWFsaWduOmxlZnQ7IHBhZGRpbmc6MnB4IDVweDsgdGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmOyB9XG5cbi5tYXAtcG9wdXAgeyBiYWNrZ3JvdW5kOiNmZmY7IGJvcmRlcjoxcHggc29saWQgI2FhYTsgbWFyZ2luOjEycHggMCAwOyBwb3NpdGlvbjphYnNvbHV0ZTsgLW1vei1ib3gtc2hhZG93OjAgMCA2cHggI2NjYzsgLXdlYmtpdC1ib3gtc2hhZG93OjAgMCA2cHggI2NjYzsgYm94LXNoYWRvdzowIDAgNnB4ICNjY2M7IHRleHQtYWxpZ246bGVmdDsgd2lkdGg6MzAwcHg7IHotaW5kZXg6MTAwOyB9XG4ubWFwLXBvcHVwLWhlYWRpbmcgeyBiYWNrZ3JvdW5kOiNkOWU1ZWU7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6NXB4IDMwcHggNXB4IDEwcHg7IHdpZHRoOjI5OHB4OyB9XG4ubWFwLXBvcHVwLWhlYWRpbmcgaDIgeyBmb250LXNpemU6MTZweDsgbWFyZ2luOjA7IHRleHQtc2hhZG93OjAgMXB4IDAgI2Y2ZjZmNjsgb3ZlcmZsb3c6aGlkZGVuOyB3aGl0ZS1zcGFjZTpub3dyYXA7IHdvcmQtd3JhcDpicmVhay13b3JkOyB0ZXh0LWFsaWduOmxlZnQ7IHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7IH1cbi5tYXAtcG9wdXAtYXJyb3cgeyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWFwX3BvcHVwX2Fycm93LmdpZikgbm8tcmVwZWF0OyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDo1MCU7IHRvcDotMTBweDsgaGVpZ2h0OjEwcHg7IHdpZHRoOjE5cHg7IH1cbi5tYXAtcG9wdXAtY2xvc2UgeyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYnRuX3dpbmRvd19jbG9zZS5naWYpIG5vLXJlcGVhdDsgZGlzcGxheTpibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDo4cHg7IHJpZ2h0OjEwcHg7IGhlaWdodDoxNXB4OyB3aWR0aDoxNXB4OyB0ZXh0LWluZGVudDotOTk5OWVtOyAtbW96LWJveC1zaGFkb3c6MCAwIDNweCAjOTk5OyAtd2Via2l0LWJveC1zaGFkb3c6MCAwIDNweCAjOTk5OyBib3gtc2hhZG93OjAgMCAzcHggIzk5OTsgLW1vei1ib3JkZXItcmFkaXVzOjJweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDsgYm9yZGVyLXJhZGl1czoycHg7IHotaW5kZXg6MX1cbi5tYXAtcG9wdXAtY29udGVudCB7IGJvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7IHBhZGRpbmc6MTBweDsgb3ZlcmZsb3c6aGlkZGVuOyB0ZXh0LWFsaWduOmxlZnQ7IHdpZHRoOjI4MHB4OyB9XG4ubWFwLXBvcHVwLWNoZWNrb3V0IHsgZGlzcGxheTppbmxpbmU7IGZsb2F0OnJpZ2h0OyB0ZXh0LWFsaWduOnJpZ2h0OyB9XG4ubWFwLXBvcHVwLWNoZWNrb3V0IHNwYW4geyBkaXNwbGF5OmJsb2NrOyBwYWRkaW5nLXJpZ2h0OjMwcHg7IH1cbi5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIHsgbWFyZ2luOjAgMCA1cHg7IH1cbi5tYXAtcG9wdXAtcHJpY2UgLnByaWNlLWJveCxcbi5tYXAtcG9wdXAtcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IH1cbi5tYXAtcG9wdXAtcHJpY2UgeyBtYXJnaW46NXB4IDAgMDsgfVxuLm1hcC1wb3B1cC10ZXh0IHsgY2xlYXI6cmlnaHQ7IG1hcmdpbjowIDEwcHg7IHBhZGRpbmc6MTBweCAwOyB0ZXh0LWFsaWduOmxlZnQ7IHdvcmQtd3JhcDpicmVhay13b3JkOyB9XG4ubWFwLXBvcHVwLW9ubHktdGV4dCB7IGJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7IH1cbi5tYXAtcG9wdXAtY2hlY2tvdXQgYnV0dG9uLmJ0bi1jYXJ0eyBmbG9hdDpyaWdodH1cbi5tYXAtaW5mbyAucHJpY2V7IG1hcmdpbi1yaWdodDoxMHB4fVxuLyplbmQgb2YgTUFQIFBvcHVwPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jY29udGFpbmVyRGl2IC5hamF4Y2FydCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggYXsgZGlzcGxheTpub25lO31cbi5kaWdpY2VydF9zZWFsIHsgICAgZmxvYXQ6IHJpZ2h0OyAgICBtYXJnaW46IDIwcHggMTAwcHg7fVxuLmRpZ2ljZXJ0X3NlYWwgYSB7ICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7fVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuI25hdiBsaSBhLmxldmVsLXRvcCBzcGFue1xuXHRjb2xvcjogIzY2Njtcbn1cblx0fVxuXG4iXSwibWFwcGluZ3MiOiJBQ0FBLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsS0FBTTtFQUNmLElBQUksRUFBRSxnQkFBSTtFQUNWLFFBQVEsRUFBRSxRQUFTO0NBQ3BCOztBQ0pEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILDZGQUE2RjtBQUM3RixBQUFBLENBQUMsQ0FBQztFQUFFLE1BQU0sRUFBQyxDQUFFO0VBQUUsT0FBTyxFQUFDLENBQUU7Q0FBSTs7QUFFN0IsQUFBQSxJQUFJLENBQVU7RUFBRSxVQUFVLEVBQUMsSUFBSztFQUFHLFdBQVcsRUFBQyxLQUFNO0VBQUUsU0FBUyxFQUFDLElBQUs7Q0FBRTs7QUFFeEUsQUFBQSxHQUFHLENBQVc7RUFBRSxNQUFNLEVBQUMsQ0FBRTtFQUFFLGNBQWMsRUFBQyxHQUFJO0VBQUMsU0FBUyxFQUFDLElBQUs7Q0FBSTs7QUFFbEUsQUFBQSxDQUFDLENBQWE7RUFBRSxlQUFlLEVBQUMsSUFBSztDQUFJOztBQUN6QyxBQUFDLENBQUEsQUFBQSxNQUFNLENBQU87RUFBRSxlQUFlLEVBQUMsU0FBVTtDQUFJOztBQUM5QyxBQUFBLE1BQU0sQ0FBUTtFQUFFLE9BQU8sRUFBQyxDQUFFO0NBQUk7O0FBQzlCLEFBQUMsQ0FBQSxBQUFB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 */

/* Block hints */

.amfpc-block-info
{
    position:relative;
    border:1px dotted #008080;
    margin:6px 2px;
    padding:18px 2px 2px 2px;
    zoom: 1;
}

.amfpc-block-info:hover
{
    border-color: orange !important;
}

.amfpc-block-info>.amfpc-block-handle,
.amfpc-block-info>.amfpc-template-info
{
    position:absolute;
    top:0;
    padding:2px 5px;
    background:#008080;
    color:white;
    font:normal 11px Arial;
    text-align:left !important;
    z-index:998;
    text-transform: none;
}

.amfpc-block-info>.amfpc-block-handle:hover,
.amfpc-block-info>.amfpc-template-info:hover
{
    z-index:999;
}

.amfpc-block-info>.amfpc-block-handle
{
    cursor: default;
    left:0;
    white-space: nowrap;
}

.amfpc-block-info>.amfpc-template-info
{
    right:0;
}

.amfpc-block-info>.amfpc-block-handle:hover
{
    background-color: orange !important;
}

.amfpc-block-info.active
{
    -webkit-animation: amfpc-blocks 1s linear .5s infinite alternate;
    animation: amfpc-blocks 1s linear .5s infinite alternate;
}

@-webkit-keyframes amfpc-blocks {
    from {opacity: 1;}
    to {opacity: .1;}
}

@keyframes amfpc-blocks {
    from {opacity: 1;}
    to {opacity: .1;}
}

/* Updated blocks */

.amfpc-block-info.updated
{
    border-color: red;
}

.amfpc-block-info.updated>.amfpc-block-handle
{
    top:0;
    background:red;
}

/* Status popup */

.amfpc-info
{
    width: 350px;
    min-height: 95px;
    position: fixed;
    bottom: 10px;
    left: 10px;
    background: #008080;
    color: #fff;
    z-index: 99999;
    font-size: 32px;
}

.amfpc-info h1
{
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 2px 5px;
    font-size: 14px;
    font-weight: bold;
}

.amfpc-info h2
{
    margin-top: 12px;
    text-align: center;
    font-size: 30px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
}

.amfpc-info .amfpc-content
{
    line-height: 48px;
}
div.amshopby-column {
    float: left;
    width: 105px;
    overflow: hidden;
}

select.amshopby-select {
    width:170px;
}

.amshopby-logo{
padding: 0pt 10px 10px 0pt; float: left;
}

.amshopby-featured {
    padding: 5px 5px 5px 5px; 
}

.amshopby-link{
    float:left;
    padding-left:5px; 
    padding-top:5px;
}

.amshopby-clearer {
	display:block; 
	clear:both; 
	overflow: hidden;
}
div.block-layered-nav dd a {padding:0px 5px 0px 0px; display:block; float: left;}  
div.block-layered-nav dd a.amshopby-attr, div.block-layered-nav dd a.amshopby-attr:hover {padding-left:15px; background-image:url(../../skin/frontend/base/default/images/amshopby-cb1.gif); background-repeat: no-repeat; background-position: left center;}
div.block-layered-nav dd a.amshopby-attr::before, div.block-layered-nav dd a.amshopby-attr-selected::before {border-style: none !important;}
div.block-layered-nav dd a.amshopby-attr-selected {font-weight: bold; padding-left:15px; background-image:url(../../skin/frontend/base/default/images/amshopby-cb2.gif); background-repeat: no-repeat; background-position: left center;}
div.block-layered-nav dd a.amshopby-attr-inactive {pointer-events: none; color: #666666}
div.block-layered-nav dd a img {/* padding: 0px 4px 5px;*/ float:left;}

div.block-layered-nav dd li.amshopby-cat-level-2 {padding-left:10px;}
div.block-layered-nav dd li.amshopby-cat-level-3 {padding-left:20px;}

div.block-layered-nav dd a.amshopby-cat-selected {font-weight: bold;
color:black; text-decoration: none; cursor:text;}

div.block-layered-nav li.amshopby-cat-multi a {
    padding-left:15px;
    background-image:url(../../skin/frontend/base/default/images/amshopby-cb1.gif); background-repeat: no-repeat; background-position: left center;
}

div.block-layered-nav li.amshopby-cat-multiselected a {
    font-weight: bold;
    background-image:url(../../skin/frontend/base/default/images/amshopby-cb2.gif); background-repeat: no-repeat; background-position: left center;
}

div.block-layered-nav dd li span.amshopby-plusminus {float:left;
display:block; width:15px; height:15px; cursor:pointer;
background:transparent url(../../skin/frontend/base/default/images/amshopby-plus.gif)  no-repeat;}
div.block-layered-nav dd li span.minus {background:transparent
url(../../skin/frontend/base/default/images/amshopby-minus.gif) no-repeat;}
div.block-layered-nav dd li:after {display:block; content:".";
clear:both; font-size:0; line-height:0; height:0; overflow:hidden; }



div.block-layered-nav.amshopby-collapse-enabled dl dt {
     cursor:pointer;
     padding-left:15px;
     background:url(../../skin/frontend/base/default/images/amshopby-expanded.gif) center left no-repeat;
}
div.block-layered-nav.amshopby-collapse-enabled dl dt::after {
    border-style: none !important;
}
div.block-layered-nav.amshopby-collapse-enabled dl dt.amshopby-collapsed {background:url(../../skin/frontend/base/default/images/amshopby-collapsed.gif) center left no-repeat;}
.main .col-left div.block-layered-nav.amshopby-collapse-enabled dl dt{background:url(../../skin/frontend/base/default/images/amshopby-expanded.gif) center left no-repeat;}

div.block-layered-nav div.amshopby-slider {
	 position:relative; margin:10px 4px 5px 4px; z-index:9; height:18px;  background: url(../../skin/frontend/base/default/images/amshopby-slider-bg.gif) repeat-x 0 50%; cursor:pointer;
}
div.block-layered-nav div.amshopby-slider div.handle {margin-left:-4px; width:8px; top:3px; height:14px; background: transparent url(../../skin/frontend/base/default/images/amshopby-hadle.png) no-repeat; position: absolute; cursor:move; z-index: 2;}

/*
 * Slider labels
 */
.amshopby-slider-price {
	color: #798794;
}
.amshopby-slider-price-from {
	float: left;
    
}
.amshopby-slider-price-to {
	float: right;
}

.amshopby-slider-handle-right {
	position: absolute;
	top: 14px;
	right: 0px;
}

.amshopby-slider-handle-left {
	position: absolute;
	top: 14px;
	left: 0px;
}

.amshopby-tooltip {
    padding:2px 5px;
    background:#FEC;
    border:1px solid #FAA819;
    color:#1F5070;
    text-align:left;
    width:200px;
    position:absolute;
}

.amshopby-slider-price-range 
{
	text-align: center;
	font-size: 0.9em;
}

.amshopby-tooltip-img {
    cursor:help;
    display: inline;
}

div.block-layered-nav, div.amshopby-page-container, div.amshopby-filters-top {
    position: relative;
}
div.amshopby-overlay {
    background-color: #FFFFFF;
    height: 100%;
    left: 0;
    opacity: 0.5;
    filter: alpha(opacity = 50);
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 555;
}
div.amshopby-overlay img {
    top: 100px;
    left: 45%;
    display: block;
    position: absolute;
}

div.amshopby-overlay div {
    margin: 0 auto;
    display: block;
	width: 300px;
	height: 200px;
	background:  url('../../skin/frontend/base/default/images/amshopby-overlay.gif') 50% 50% no-repeat;
}

/*
 * Advanced Categories
 */
.amshopby-advanced li {
	clear: both;
}
.amshopby-advanced li.level1 {
	padding-left: 20px;
}
.amshopby-advanced li.level2 {
	padding-left: 30px;
}
.amshopby-advanced li.level3 {
	padding-left: 40px;
}
.amshopby-advanced li.level4 {
	padding-left: 50px;
}


.amshopby-advanced li.active > a {
	font-weight: bold;
}

/*
 * Slider Bar
 */
.amshopby-slider-bar {
	position:absolute; 
	background: #999; 
	height: 6px; 
	top: 6px; 
	z-index: 1;  
}

/*
 * Subcategories block
 */
.amshopby-subcategory-image {
	overflow: auto; 
}

.btn-remove-inline { background-image: url('../../skin/frontend/base/default/images/am_btn_remove.gif'); background-repeat: no-repeat; width:13px; height:12px; margin-left: 4px; }
.btn-remove-inline:hover { /* background-position: center bottom; */ }
.amshopby-hightlighted { background: yellow;}

.btn-remove-inline img {display: inline;}

div.block-layered-nav div.amshopby-slider div.handle.active { z-index: 3; }

.amshopby-slider-ui { background: url(../../skin/frontend/base/default/images/amshopby-slider-bg.gif) repeat-x 0 50%; margin: 10px .4em; }
.amshopby-slider-ui .ui-slider-handle { background-color: #f18200; border: 1px solid #de5400; box-sizing: border-box; outline: none; }
.amshopby-slider-ui .ui-slider-range { background-color: #999999; }

.ui-widget-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
.ui-slider { cursor: pointer; position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 0.8em; height: 1.2em; cursor: pointer; -ms-touch-action: none; touch-action: none; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }

/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range { filter: inherit; }

.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.2em; margin-left: -.4em; }
.ui-slider-horizontal .ui-slider-range { top: 0.2em; height: 8px; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }

.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }

.amshopby-narrow-by-list table td { vertical-align: top; }

input[name^="amshopby"][id$="from"].input-text, input[name^="amshopby"][id$="to"].input-text{
    width: auto;
}

.amshopby-item-top{
    max-width: 225px !important;
    min-width: 180px !important;
    display: inline-block !important;
    vertical-align: top !important;
    height: 100% !important;
}

.amshopby-filters-top .block-content ol{
    max-width: 250px;
}

.amshopby-item-top div.amshopby-column {
    width: auto;
}

.no-display-current, .no-display{
    display: none;
}

.current .no-display-current, dd.current td.no-display{
    display: block;
}

@media only screen and (max-width: 770px) {
    dl#narrow-by-list,
    dl#narrow-by-list2 {
        padding: 0px;
    }
}
#bg_fade {background-color:#000;left:0px;margin:0px;padding:0px;position:fixed;top:0px;visibility:hidden;width:100%;z-index:998;opacity:0.5;height:1000px}

#containerDiv {min-width: 350px;max-width:500px;z-index: 999;display:none;position:fixed;}
#containerDiv .ajaxcart {position: relative;padding: 20px;text-align: center;border: 10px solid #EAE9E6;background-color: white;z-index: 99999; max-height:600px}
#containerDiv .ajaxcart .row2 {clear:left; padding-bottom:0px; overflow:hidden}
#containerDiv .ajaxcart #ajax_image img {float:left;margin-right:7px;}
#containerDiv .ajaxcart #ajax_image  { margin-bottom: 10px;overflow: hidden;text-align: left;}
#containerDiv .ajaxcart #ajax_image span {text-align:left;}
#containerDiv .ajaxcart .row2 a { /*background: none repeat scroll 0 0 #F18200;*/border: 1px solid #067FDB;color: #FFFFFF;display:  inline-block;font: bold 12px/32px Arial,Helvetica,sans-serif;height: 32px;padding: 0 15px;text-align: center;white-space: nowrap; text-decoration: none; text-transform:uppercase;
background: #87e0fd; /* Old browsers */
background: -moz-linear-gradient(top, #87e0fd 0%, #53afed 53%, #067fdb 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#87e0fd), color-stop(53%,#53afed), color-stop(100%,#067fdb)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #87e0fd 0%,#53afed 53%,#067fdb 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #87e0fd 0%,#53afed 53%,#067fdb 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #87e0fd 0%,#53afed 53%,#067fdb 100%); /* IE10+ */
background: linear-gradient(to bottom, #87e0fd 0%,#53afed 53%,#067fdb 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#87e0fd', endColorstr='#067fdb',GradientType=0 ); /* IE6-9 */; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
#containerDiv .ajaxcart .row2 a:hover{
background: #067fdb; /* Old browsers */
background: -moz-linear-gradient(top, #067fdb 0%, #067fdb 0%, #53afed 53%, #87e0fd 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#067fdb), color-stop(0%,#067fdb), color-stop(53%,#53afed), color-stop(100%,#87e0fd)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #067fdb 0%,#067fdb 0%,#53afed 53%,#87e0fd 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #067fdb 0%,#067fdb 0%,#53afed 53%,#87e0fd 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #067fdb 0%,#067fdb 0%,#53afed 53%,#87e0fd 100%); /* IE10+ */
background: linear-gradient(to bottom, #067fdb 0%,#067fdb 0%,#53afed 53%,#87e0fd 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#067fdb', endColorstr='#87e0fd',GradientType=0 ); /* IE6-9 */
}

#containerDiv .ajaxcart .row2 a span { border: 0 none;padding: 0;float:left; display:inline-block}
.product-essential {position:relative;}
.ajaxcart .product-options{ max-height:200px; overflow:auto;}
.ajaxcart .product_title{ text-transform:uppercase; text-align:center}
.ajaxcart .product-shop .product-options-bottom .price-as-configured{ margin:0;}
.ajaxcart .product-shop .product-options-bottom .price-box{ float:left; margin:0;}
.ajaxcart .product-shop .product-options-bottom{ margin-top:10px; border:1px solid #e4e4e4; padding:15px 20px 12px}
#containerDiv .ajaxcart .row2 .back{ float:left}
#containerDiv .ajaxcart .row2 .next{ float:right}
.ajaxcart .product-shop .product-options-bottom .price-box .price{ font-size:20px; color:#067FDB}
.ajaxcart .product-shop .product-options-bottom .add-to-cart{ margin-top:-3px; clear:left;}
.ajaxcart .product-shop .product-options-bottom .add-to-cart .qty{ margin-top:0px; margin-right:0}
.ajaxcart  .add-to-cart .qty{ height:17px; width:30px !important; text-align:center}
.ajaxcart  .add-to-cart label{ text-transform:uppercase; margin-top:11px}
.ajaxcart .qty-ctl{ float: left; height: auto; line-height: normal; margin-left:5px; width: 17px; }
.ajaxcart .qty-ctl button{  width:15px; height:14.5px; text-indent:-999em; float:left; border:none; margin-bottom:0px; cursor:pointer; border: 1px solid #b6b6b6; position:relative; margin-left:-1px}
.ajaxcart .qty-ctl button.increase{ background-position:3px 3px; border-bottom:none;}
.ajaxcart .qty-ctl button.increase:hover{ background-position:-13px 3px; background-color:#CECECE; z-index:1}
.ajaxcart .qty-ctl button.decrease{ background-position:3px -10px;}
.ajaxcart .qty-ctl button.decrease:hover{ background-position:-13px -10px; background-color:#CECECE; z-index:1}
.ajaxcart .qty_cart{ width:158px; display:inline-block; margin-top:-11px}
.ajaxcart .product-options .price{ font-size:12px;}
/*

INSTRUCTION FOR STYLING:

# Change background, color of the horizontal menu bar:
.em_nav .hnav { }

# Change font, color of hyperlinks:
.em_nav a { }
.em_nav a:hover { }

# Menu item's links when hover or active:
.em_nav li:hover > a, .em_nav li.active > a { }


# Top level's menu:
# -----------------

# Change padding, font, color of top menu item:
.hnav .menu-item-depth-0 a { }

# Change position of the drop-down menu of top level menu:
.hnav .menu-item-depth-0 > .menu-container,
.em-catalog-navigation.horizontal > li > ul,
.em-catalog-navigation.horizontal > li:hover > ul { top:50px }

# Level 2+ menu:
# -----------------

# Change background color, padding of container of level 2+ menu container:
.em_nav .menu-item-link > ul,
.em_nav .em-catalog-navigation ul { }

# Change font, color of hyperlink of level 2+ menu items:
.em_nav .menu-item-depth-1 a,
.em_nav .em-catalog-navigation li li a { }

# Change font, color of hover/active hyperlink of level 2+ menu items:
.em_nav .menu-item-depth-1 li:hover > a, 
.em_nav .menu-item-depth-1 li.active > a,
.em_nav .em-catalog-navigation li li:hover > a,
.em_nav .em-catalog-navigation li li.active > a { }


# ----------------

# Add a gutter between 2 children of hbox:
.em_nav .menu-item-hbox > .menu-container > li { margin-left:10px }
.em_nav .menu-item-hbox > .menu-container > li:first-child { margin-left:0 }

# Fix hbox on mobile view
.adapt-0 .menu-item-hbox > .menu-container { white-space:normal }
.adapt-0 .menu-item-hbox > .menu-container > li { display:block; margin-left:0 }



BELOW BASE CSS SHOULD NOT BE CHANGED:
===============================================================================
*/


ul ul, ul ol, ol ol, ol ul { font-size:100% }

.em_nav { }
.em_nav ul { margin:0;text-align:left;clear:both;}
.em_nav li { /*margin:0;*/ }



/* horizontal menu */

.hnav .menu-item-depth-0 {position:relative;float:left;}
.hnav .menu-item-depth-0 a { display:block; /*height:20px; line-height:20px;*/ /*padding:5px 20px*/ }
.hnav.sample-menu-fixed .menu-item-depth-1 a { padding:5px 20px;}
.hnav .menu-item-depth-0 > .menu-container { position:absolute; top:30px; left:-9999px; z-index:9999 }

/* vertical menu */

.vnav { width:200px }
.vnav .menu-item-depth-0 { position:relative }
.vnav .menu-item-depth-0 a { display:block; padding:7px 20px 8px}

.vnav .menu-item-depth-0 > .menu-container { position:absolute; top:0; left:-9999px; z-index:9999 }

/* general */
.menu-item-parent > a { margin-right:31px }
.em_nav a.arrow span { display:block; /* add background arrow here */ }

/* ---------- level 2+ ---------- */

/* horizontal menu */

.hnav .menu-item-depth-0:hover > .menu-container,
.hnav .menu-item-depth-0.hover > .menu-container {/* left:0 opacity:1; -webkit-transition:opacity 0.1s linear*/}

/* vertical menu */

.vnav .menu-item-depth-0:hover > .menu-container,
.vnav .menu-item-depth-0.hover > .menu-container { left:75% }
.vnav.nav-right .menu-item-depth-0:hover > .menu-container,
.vnav.nav-right .menu-item-depth-0.hover > .menu-container { left:auto; right:100% }


.menu-item-hbox > .menu-container { white-space:nowrap }
.menu-item-hbox > .menu-container > li { /*display:inline-block; float:none*/white-space:normal; vertical-align:top;  }

.menu-item-link > .menu-container { min-width:180px; background:#fff; box-shadow:0 2px 7px #ccc }

.menu-item-depth-0 .menu-item-link { position:relative }
.menu-item-depth-0 .menu-item-link > .menu-container { position:absolute; top:0; left:-9999px; z-index:9999 }
.menu-item-depth-0 .menu-item-link:hover > .menu-container,
.menu-item-depth-0 .menu-item-link.hover > .menu-container { left:100%; top:-13px; }
.nav-right .menu-item-depth-0 .menu-item-link:hover > .menu-container,
.nav-right .menu-item-depth-0 .menu-item-link.hover > .menu-container { left:auto; right:100% }

/* Catalog Navigation */
.em-catalog-navigation li.parent > a { margin-right:31px }
.em-catalog-navigation li.parent > a.arrow { margin-right:0;}
.em-catalog-navigation ul { min-width:180px; background:#fff; box-shadow:0 2px 7px #ccc }
.em-catalog-navigation li { position:relative }
.em-catalog-navigation li > ul { position:absolute; top:0; left:-9999px; z-index:9999 }
.em-catalog-navigation li:hover > ul,
.em-catalog-navigation li.hover > ul { left:75%; top:5px }
.nav-right .em-catalog-navigation li:hover > ul,
.nav-right .em-catalog-navigation li.hover > ul { left:auto; right:100% }


/* Catalog Navigation with vertical style of top level */
.em-catalog-navigation.horizontal > li {display:inline-block;}
.em-catalog-navigation.horizontal > li > ul { top:30px }
.em-catalog-navigation.horizontal > li:hover > ul { left:0; top:30px }

/* Mobile view */
.adapt-0 .menu-item-link, 
.adapt-0 .menu-item-text,
.adapt-0 .menu-item-hbox,
.adapt-0 .menu-item-vbox,
.adapt-0 .em-catalog-navigation li { display:block; float:none }

.adapt-0 .menu-container,
.adapt-0 .em-catalog-navigation ul { width:100% !important; top:0 !important; }

.adapt-0 .hnav>li>.em-catalog-navigation.vertical > li > ul,
.adapt-0 .hnav>li>.em-catalog-navigation.horizontal > li > ul,
.adapt-0 .vnav>li>.em-catalog-navigation.vertical > li > ul,
.adapt-0 .vnav>li>.em-catalog-navigation.horizontal > li > ul{top:0!important;}
.adapt-0 .menu-item-depth-0 .menu-item-link > .menu-container,
.adapt-0 .em-catalog-navigation ul {top:-20px!important;}

.adapt-0 .menu-item-link > .menu-container,
.adapt-0 .em-catalog-navigation li > ul { /*left:100% !important; right:auto !important; */display:none;position:static;}
.adapt-0 .menu-item-link.mhover > .menu-container,
.adapt-0 .em-catalog-navigation li.mhover > ul { /*left:100% !important; right:auto !important;*/ display:block;position:static; }

/* Clear Divs */
.em_nav .hnav:after,
.em_nav .vnav:after,
#nav > .menu-container:after,
.menu-item-hbox:after { content:'.';display:block;clear:both;visibility:hidden;height:0;overflow:hidden }

/* workaround for touch devices 
.menu-item-parent > .menu-container { display:none }
.menu-item-parent:hover > .menu-container { display:block }
.em-catalog-navigation li.parent > ul { display:none }
.em-catalog-navigation li.parent:hover > ul { display:block }*/



.products-grid .item, .products-list .item { position:relative }
.product-img-box { position:relative; }
.product-view .box-up-sell .products-grid td div.td { position:relative; }
.mini-products-list .product { position:relative; }
.crosssell .item { position:relative }

.productlabels_icons { position:absolute; top:0; right:0; }
.product-img-box .productlabels_icons { z-index:10; }
.productlabels_icons .label { float:right; background:url(../../skin/frontend/base/default/images/productlabel_icons.png) 0 0 no-repeat; width:50px; height:50px; font-size:10px; font-weight:bold; color:#fff; line-height:1em; text-align:center; padding:0; }
.productlabels_icons .label { padding:10px 0 0; }
.productlabels_icons .nobg { background:none; width:auto; height:auto; }

.productlabels_icons .orange { background-position:0 0 }
.productlabels_icons .yellow { background-position:0 -60px }
.productlabels_icons .blue { background-position:0 -120px }
.productlabels_icons .violet { background-position:0 -180px }
.productlabels_icons .red { background-position:0 -240px }
.productlabels_icons .black { background-position:0 -300px }
.productlabels_icons .new { background-position:-200px 0 }
.productlabels_icons .special { background-position:-200px -60px }
.productlabels_icons .bestseller { background-position:-200px -120px }

/**
 * EM QuickShop
 *
 * @license commercial software
 * @copyright (c) 2012 Codespot Software JSC - EMThemes.com. (http://www.emthemes.com)
 */

.quickshop_img{ }

#id_qs_load{width: 621px;position: absolute;top: 30px; left: 50%;display: none;z-index: 1001;background: #fff;min-height: 300px;}
#output-div{}
a.close{width: 15px; height: 15px;text-indent: -999em;background: url(https://mobymemory.com/uk/skin/frontend/base/default/images/close.gif) center center no-repeat;display: inline-block;float: right;padding: 10px 10px 0 0;position: absolute;right: -3px;top: -22px;}
#shadow_box{width: 100%;display: none;position: absolute;left: 0; top: 0;z-index: 1001;background: #000;opacity:0.5;z-index: 1000;filter:alpha(opacity=50)}
#loadingmask{padding: 5px 0;position: absolute;top: 50%;left: 50%;margin: -30px 0 0 -15px;}
#loading-mask-loader span{display: block;padding-top: 10px;}
#loading-mask-loader img{padding-right: 10px;}

#em_quickshop_handler{position: absolute; display:block; }
/*! fancyBox v2.1.3 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #ffffff;
	color: #444;
	text-shadow: none;}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('../../skin/frontend/default/galabigshop/images/fancybox/fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('../../skin/frontend/default/galabigshop/images/fancybox/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -13px;
	right: -13px;
	width: 23px;
	height: 23px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('../../skin/frontend/default/galabigshop/images/fancybox/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
	overflow: hidden;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('../../skin/frontend/default/galabigshop/images/fancybox/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

.csslider {position:relative;}
.csslider .viewport{overflow:hidden;}
.vertical.csslider .viewport{height:344px;}
.horizontal.csslider ul.slides > li{float:left;}


.csslider.vertical .viewport > ul > li {display:block;}
.csslider li.itemslider {float:left;}
.csslider li.item {margin-bottom:20px;}
.csslider a.next,.csslider a.prev{
	position:absolute;
    top:0;
}
.csslider .product-shop {}
.csslider .no-float .product-image {float:none;}
.csslider  a.product-image {display:block;}

.csslider a.prev, .csslider a.next {text-indent:-999em; display:inline-block; text-align:left;}
.csslider a.prev{left:0}
.csslider a.next{right:0}


.csslider a.prev {position:absolute; top:32%; left:5px; width:28px; height:101px; cursor:pointer; background:transparent url(../../skin/frontend/default/galabigshop/images/icons.png) no-repeat -21px -324px;
}

.csslider a.prev:hover {background-position:-21px -432px;}
.csslider a.next{position:absolute; top:32%; right:5px; width:28px; height:101px; cursor:pointer; background:transparent url(../../skin/frontend/default/galabigshop/images/icons.png) no-repeat -96px -324px;}
.csslider a.next:hover{background-position: -96px -431px;}

.deal_of_the_day .csslider a.prev, .deal_of_the_day .csslider a.next {top:35%;}


/*-----------------------------------------------------------------------------

KENBURNER RESPONSIVE BASIC STYLES OF HTML DOCUMENT

Screen Stylesheet

version:   	1.0
date:      	07/27/11
author:		themepunch
email:     	support@themepunch.com
website:   	http://www.themepunch.com
-----------------------------------------------------------------------------*/



.boxedcontainer		{	max-width: 1170px; margin:auto; padding:0px 30px;}

/*********************************************
	-	SETTINGS FOR BANNER CONTAINERS	-
**********************************************/

.tp-banner-container{
	width:100%;
	position:relative;
	padding:0;

}

.tp-banner{
	width:100%;
	position:relative;
}

.tp-banner-fullscreen-container {
	width:100%;
	position:relative;
	padding:0;
}




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



   SOME MORE LAYER EXAMPLES, USE ONLY WHICH YOU NEED,
   TO SAVE LOAD TIME 



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





.tp-caption.medium_grey {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:20px;
line-height:20px;
font-family:Arial;
padding:2px 4px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#888;
white-space:nowrap;
}

.tp-caption.small_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:14px;
line-height:20px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.medium_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:20px;
line-height:20px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.large_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:40px;
line-height:40px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.very_large_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
letter-spacing:-2px;
}

.tp-caption.very_big_white {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
padding:0px 4px;
padding-top:1px;
background-color:#000;
}

.tp-caption.very_big_black {
position:absolute;
color:#000;
text-shadow:none;
font-weight:700;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
padding:0px 4px;
padding-top:1px;
background-color:#fff;
}

.tp-caption.modern_medium_fat {
position:absolute;
color:#000;
text-shadow:none;
font-weight:800;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_medium_fat_white {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_medium_light {
position:absolute;
color:#000;
text-shadow:none;
font-weight:300;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_big_bluebg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:30px;
line-height:36px;
font-family:"Open Sans", sans-serif;
padding:3px 10px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#4e5b6c;
letter-spacing:0;
}

.tp-caption.modern_big_redbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:30px;
line-height:36px;
font-family:"Open Sans", sans-serif;
padding:3px 10px;
padding-top:1px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#de543e;
letter-spacing:0;
}

.tp-caption.modern_small_text_dark {
position:absolute;
color:#555;
text-shadow:none;
font-size:14px;
line-height:22px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.boxshadow {
-moz-box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
-webkit-box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
}

.tp-caption.black {
color:#000;
text-shadow:none;
}

.tp-caption.noshadow {
text-shadow:none;
}

.tp-caption.thinheadline_dark {
position:absolute;
color:rgba(0,0,0,0.85);
text-shadow:none;
font-weight:300;
font-size:30px;
line-height:30px;
font-family:"Open Sans";
background-color:transparent;
}

.tp-caption.thintext_dark {
position:absolute;
color:rgba(0,0,0,0.85);
text-shadow:none;
font-weight:300;
font-size:16px;
line-height:26px;
font-family:"Open Sans";
background-color:transparent;
}

.tp-caption.largeblackbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#000;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.largepinkbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#db4360;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.largewhitebg {
position:absolute;
color:#000;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#fff;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.largegreenbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#67ae73;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.excerpt {
font-size:36px;
line-height:36px;
font-weight:700;
font-family:Arial;
color:#ffffff;
text-decoration:none;
background-color:rgba(0, 0, 0, 1);
text-shadow:none;
margin:0px;
letter-spacing:-1.5px;
padding:1px 4px 0px 4px;
width:150px;
white-space:normal !important;
height:auto;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.large_bold_grey {
font-size:60px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(102, 102, 102);
text-decoration:none;
background-color:transparent;
text-shadow:none;
margin:0px;
padding:1px 4px 0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_thin_grey {
font-size:34px;
line-height:30px;
font-weight:300;
font-family:"Open Sans";
color:rgb(102, 102, 102);
text-decoration:none;
background-color:transparent;
padding:1px 4px 0px;
text-shadow:none;
margin:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.small_thin_grey {
font-size:18px;
line-height:26px;
font-weight:300;
font-family:"Open Sans";
color:rgb(117, 117, 117);
text-decoration:none;
background-color:transparent;
padding:1px 4px 0px;
text-shadow:none;
margin:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.lightgrey_divider {
text-decoration:none;
background-color:rgba(235, 235, 235, 1);
width:370px;
height:3px;
background-position:initial initial;
background-repeat:initial initial;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bold_darkblue {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(52, 73, 94);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_darkblue {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(52, 73, 94);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bold_red {
font-size:24px;
line-height:30px;
font-weight:800;
font-family:"Open Sans";
color:rgb(227, 58, 12);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_red {
font-size:21px;
line-height:26px;
font-weight:300;
font-family:"Open Sans";
color:rgb(227, 58, 12);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_red {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(227, 58, 12);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bold_orange {
font-size:24px;
line-height:30px;
font-weight:800;
font-family:"Open Sans";
color:rgb(243, 156, 18);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_orange {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(243, 156, 18);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.grassfloor {
text-decoration:none;
background-color:rgba(160, 179, 151, 1);
width:4000px;
height:150px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bold_white {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_white {
font-size:30px;
line-height:36px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_white {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_white_center {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:#ffffff;
text-decoration:none;
background-color:transparent;
padding:0px 0px 0px 0px;
text-align:center;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_asbestos {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(127, 140, 141);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_black {
font-size:30px;
line-height:36px;
font-weight:300;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.large_bold_black {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_darkblue {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:rgb(52, 73, 94);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.small_light_white {
font-size:17px;
line-height:28px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.roundedimage {
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bg_black {
font-size:40px;
line-height:40px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:10px 20px 15px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumwhitebg {
font-size:30px;
line-height:30px;
font-weight:300;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:rgb(255, 255, 255);
padding:5px 15px 10px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.large_bold_white_25 {
font-size:55px;
line-height:65px;
font-weight:700;
font-family:"Open Sans";
color:#fff;
text-decoration:none;
background-color:transparent;
text-align:center;
text-shadow:#000 0px 5px 10px;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.medium_text_shadow {
font-size:25px;
line-height:25px;
font-weight:600;
font-family:"Open Sans";
color:#fff;
text-decoration:none;
background-color:transparent;
text-align:center;
text-shadow:#000 0px 5px 10px;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.black_heavy_60 {
font-size:60px;
line-height:60px;
font-weight:900;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.white_heavy_40 {
font-size:40px;
line-height:40px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.grey_heavy_72 {
font-size:72px;
line-height:72px;
font-weight:900;
font-family:Raleway;
color:rgb(213, 210, 210);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.grey_regular_18 {
font-size:18px;
line-height:26px;
font-family:"Open Sans";
color:rgb(119, 119, 119);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_thin_34 {
font-size:35px;
line-height:35px;
font-weight:100;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.arrowicon {
line-height:1px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.light_heavy_60 {
font-size:60px;
line-height:60px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_bold_40 {
font-size:40px;
line-height:40px;
font-weight:800;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.light_heavy_70 {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_heavy_70 {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_bold_bg_20 {
font-size:20px;
line-height:20px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:5px 8px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.greenbox30 {
line-height:30px;
text-decoration:none;
background-color:rgb(134, 181, 103);
padding:0px 14px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.blue_heavy_60 {
font-size:60px;
line-height:60px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(49, 165, 203);
padding:3px 10px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.green_bold_bg_20 {
font-size:20px;
line-height:20px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(134, 181, 103);
padding:5px 8px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.whitecircle_600px {
line-height:1px;
width:800px;
height:800px;
text-decoration:none;
background:linear-gradient(to bottom,  rgba(238,238,238,1) 0%,rgba(255,255,255,1) 100%);
filter:progid;
background-color:transparent;
border-radius:400px 400px 400px 400px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.fullrounded {
border-radius:400px 400px 400px 400px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.light_heavy_40 {
font-size:40px;
line-height:40px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.white_thin_34 {
font-size:35px;
line-height:35px;
font-weight:200;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.fullbg_gradient {
width:100%;
height:100%;
text-decoration:none;
background-color:#490202;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.light_medium_30 {
font-size:30px;
line-height:40px;
font-weight:700;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.red_bold_bg_20 {
font-size:20px;
line-height:20px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(224, 51, 0);
padding:5px 8px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.blue_bold_bg_20 {
font-size:20px;
line-height:20px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(53, 152, 220);
padding:5px 8px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.white_bold_bg_20 {
font-size:20px;
line-height:20px;
font-weight:900;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:rgb(255, 255, 255);
padding:5px 8px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.white_heavy_70 {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.light_heavy_70_shadowed {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:#ffffff;
text-decoration:none;
background-color:transparent;
text-shadow:0px 0px 7px rgba(0, 0, 0, 0.25);
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.light_medium_30_shadowed {
font-size:30px;
line-height:40px;
font-weight:700;
font-family:Raleway;
color:#ffffff;
text-decoration:none;
background-color:transparent;
text-shadow:0px 0px 7px rgba(0, 0, 0, 0.25);
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.blackboxed_heavy {
font-size:70px;
line-height:70px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:5px 20px;
text-shadow:rgba(0, 0, 0, 0.14902) 0px 0px 7px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.bignumbers_white {
color:#ffffff;
background-color:rgba(0, 0, 0, 0);
font-size:84px;
line-height:84px;
font-weight:800;
font-family:Raleway;
text-decoration:none;
padding:0px 0px 0px 0px;
text-shadow:rgba(0, 0, 0, 0.247059) 0px 0px 7px;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none solid none none;
}

.tp-caption.whiteline_long {
line-height:1px;
min-width:660px;
background-color:transparent;
text-decoration:none;
border-width:2px 0px 0px 0px;
border-color:rgb(255, 255, 255) rgb(34, 34, 34) rgb(34, 34, 34) rgb(34, 34, 34);
border-style:solid none none none;
}

.tp-caption.light_medium_20_shadowed {
font-size:20px;
line-height:30px;
font-weight:700;
font-family:Raleway;
color:#ffffff;
text-decoration:none;
background-color:transparent;
text-shadow:0px 0px 7px rgba(0, 0, 0, 0.25);
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.fullgradient_overlay {
background:linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
filter:progid;
width:100%;
height:100%;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.light_medium_20 {
font-size:20px;
line-height:30px;
font-weight:700;
font-family:Raleway;
color:#ffffff;
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.reddishbg_heavy_70 {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgba(100, 1, 24, 0.8);
padding:50px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.borderbox_725x130 {
min-width:725px;
min-height:130px;
background-color:transparent;
text-decoration:none;
border-width:2px;
border-color:rgb(255, 255, 255);
border-style:solid;
}

.tp-caption.light_heavy_34 {
font-size:34px;
line-height:34px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_thin_30 {
font-size:30px;
line-height:30px;
font-weight:100;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_thin_whitebg_30 {
font-size:30px;
line-height:30px;
font-weight:300;
font-family:Raleway;
color:rgb(0, 0, 0);
text-decoration:none;
background-color:rgb(255, 255, 255);
padding:5px 10px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.white_heavy_60 {
font-size:60px;
line-height:60px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.black_thin_blackbg_30 {
font-size:30px;
line-height:30px;
font-weight:300;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:5px 10px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.light_thin_60 {
font-size:60px;
line-height:60px;
font-weight:100;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.greenbgfull {
background-color:#85b85f;
width:100%;
height:100%;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.bluebgfull {
text-decoration:none;
width:100%;
height:100%;
background-color:rgb(61, 164, 207);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.blackbgfull {
text-decoration:none;
width:100%;
height:100%;
background-color:rgba(0, 0, 0, 0.247059);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.wave_repeat1 {
width:100%;
height:600px;
background-repeat:repeat-x;
background-color:transparent;
text-decoration:none;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.wavebg2 {
width:200%;
height:300px;
text-decoration:none;
background-image:url(http://themepunch.com/revolution/wp-content/uploads/2014/05/wave21.png);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.wavebg1 {
width:200%;
height:300px;
text-decoration:none;
background-image:url(http://themepunch.com/revolution/wp-content/uploads/2014/05/wave11.png);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.wavebg3 {
width:200%;
height:300px;
text-decoration:none;
background-image:url(http://themepunch.com/revolution/wp-content/uploads/2014/05/wave3.png);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.wavebg4 {
width:200%;
height:300px;
text-decoration:none;
background-image:url(http://themepunch.com/revolution/wp-content/uploads/2014/05/wave4.png);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.greenishbg_heavy_70 {
font-size:70px;
line-height:70px;
font-weight:900;
font-family:Raleway;
color:rgb(255, 255, 255);
text-decoration:none;
padding:50px;
text-shadow:none;
background-color:rgba(40, 67, 62, 0.8);
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.wavebg5 {
width:200%;
height:300px;
text-decoration:none;
background-image:url(http://themepunch.com/revolution/wp-content/uploads/2014/05/wave51.png);
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.deepblue_sea {
width:100%;
height:1000px;
background-color:rgba(30, 46, 59, 1);
text-decoration:none;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}


.tp-caption a {
color:#ff7302;
text-shadow:none;
-webkit-transition:all 0.2s ease-out;
-moz-transition:all 0.2s ease-out;
-o-transition:all 0.2s ease-out;
-ms-transition:all 0.2s ease-out;
}

.tp-caption a:hover {
color:#ffa902;
}

.largeredbtn {  
font-family: "Raleway", sans-serif;
font-weight: 900;
font-size: 16px;
line-height: 60px;
color: #fff !important;
text-decoration: none;
padding-left: 40px;
padding-right: 80px;
padding-top: 22px;
padding-bottom: 22px;
background: rgb(234,91,31); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(234,91,31,1) 0%, rgba(227,58,12,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(234,91,31,1)), color-stop(100%,rgba(227,58,12,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(234,91,31,1) 0%,rgba(227,58,12,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(234,91,31,1) 0%,rgba(227,58,12,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(234,91,31,1) 0%,rgba(227,58,12,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(234,91,31,1) 0%,rgba(227,58,12,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ea5b1f', endColorstr='#e33a0c',GradientType=0 ); /* IE6-9 */
}

.largeredbtn:hover {
background: rgb(227,58,12); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(227,58,12,1) 0%, rgba(234,91,31,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(227,58,12,1)), color-stop(100%,rgba(234,91,31,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(227,58,12,1) 0%,rgba(234,91,31,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(227,58,12,1) 0%,rgba(234,91,31,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(227,58,12,1) 0%,rgba(234,91,31,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(227,58,12,1) 0%,rgba(234,91,31,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e33a0c', endColorstr='#ea5b1f',GradientType=0 ); /* IE6-9 */      
}

.fullrounded img {
   -webkit-border-radius: 400px;
-moz-border-radius: 400px;
border-radius: 400px; 
  }

/*-----------------------------------------------------------------------------

	-	Revolution Slider 4.1 Captions -

		Screen Stylesheet

version:   	1.4.5
date:      	27/11/13
author:		themepunch
email:     	info@themepunch.com
website:   	http://www.themepunch.com
-----------------------------------------------------------------------------*/



/*************************
	-	CAPTIONS	-
**************************/

.tp-static-layers	{	position:absolute; z-index:505; top:0px;left:0px}

.tp-hide-revslider,.tp-caption.tp-hidden-caption	{	visibility:hidden !important; display:none !important}


.tp-caption { z-index:1; white-space:nowrap}

.tp-caption-demo .tp-caption	{	position:relative !important; display:inline-block; margin-bottom:10px; margin-right:20px !important}


.tp-caption.whitedivider3px {

	color: #000000;
	text-shadow: none;
	background-color: rgb(255, 255, 255);
	background-color: rgba(255, 255, 255, 1);
	text-decoration: none;
	min-width: 408px;
	min-height: 3px;
	background-position: initial initial;
	background-repeat: initial initial;
	border-width: 0px;
	border-color: #000000;
	border-style: none;
}


.tp-caption.finewide_large_white {
color:#ffffff;
text-shadow:none;
font-size:60px;
line-height:60px;
font-weight:300;
font-family:"Open Sans", sans-serif;
background-color:transparent;
text-decoration:none;
text-transform:uppercase;
letter-spacing:8px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.whitedivider3px {
color:#000000;
text-shadow:none;
background-color:rgb(255, 255, 255);
background-color:rgba(255, 255, 255, 1);
text-decoration:none;
font-size:0px;
line-height:0;
min-width:468px;
min-height:3px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.finewide_medium_white {
color:#ffffff;
text-shadow:none;
font-size:37px;
line-height:37px;
font-weight:300;
font-family:"Open Sans", sans-serif;
background-color:transparent;
text-decoration:none;
text-transform:uppercase;
letter-spacing:5px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.boldwide_small_white {
font-size:25px;
line-height:25px;
font-weight:800;
font-family:"Open Sans", sans-serif;
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
text-shadow:none;
text-transform:uppercase;
letter-spacing:5px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.whitedivider3px_vertical {
color:#000000;
text-shadow:none;
background-color:rgb(255, 255, 255);
background-color:rgba(255, 255, 255, 1);
text-decoration:none;
font-size:0px;
line-height:0;
min-width:3px;
min-height:130px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.finewide_small_white {
color:#ffffff;
text-shadow:none;
font-size:25px;
line-height:25px;
font-weight:300;
font-family:"Open Sans", sans-serif;
background-color:transparent;
text-decoration:none;
text-transform:uppercase;
letter-spacing:5px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.finewide_verysmall_white_mw {
font-size:13px;
line-height:25px;
font-weight:400;
font-family:"Open Sans", sans-serif;
color:#ffffff;
text-decoration:none;
background-color:transparent;
text-shadow:none;
text-transform:uppercase;
letter-spacing:5px;
max-width:470px;
white-space:normal !important;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.lightgrey_divider {
text-decoration:none;
background-color:rgb(235, 235, 235);
background-color:rgba(235, 235, 235, 1);
width:370px;
height:3px;
background-position:initial initial;
background-repeat:initial initial;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.finewide_large_white {
color: #FFF;
text-shadow: none;
font-size: 60px;
line-height: 60px;
font-weight: 300;
font-family: "Open Sans", sans-serif;
background-color: rgba(0, 0, 0, 0);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 8px;
border-width: 0px;
border-color: #000;
border-style: none;
}

.tp-caption.finewide_medium_white {
color: #FFF;
text-shadow: none;
font-size: 34px;
line-height: 34px;
font-weight: 300;
font-family: "Open Sans", sans-serif;
background-color: rgba(0, 0, 0, 0);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 5px;
border-width: 0px;
border-color: #000;
border-style: none;
}

.tp-caption.huge_red {
position:absolute;
color:rgb(223,75,107);
font-weight:400;
font-size:150px;
line-height:130px;
font-family: 'Oswald', sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
background-color:rgb(45,49,54);
padding:0px;
}

.tp-caption.middle_yellow {
position:absolute;
color:rgb(251,213,114);
font-weight:600;
font-size:50px;
line-height:50px;
font-family: 'Open Sans', sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.huge_thin_yellow {
	position:absolute;
color:rgb(251,213,114);
font-weight:300;
font-size:90px;
line-height:90px;
font-family: 'Open Sans', sans-serif;
margin:0px;
letter-spacing: 20px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.big_dark {
position:absolute;
color:#333;
font-weight:700;
font-size:70px;
line-height:70px;
font-family:"Open Sans";
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.medium_dark {
position:absolute;
color:#333;
font-weight:300;
font-size:40px;
line-height:40px;
font-family:"Open Sans";
margin:0px;
letter-spacing: 5px;
border-width:0px;
border-style:none;
white-space:nowrap;
}


.tp-caption.medium_grey {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:20px;
line-height:20px;
font-family:Arial;
padding:2px 4px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#888;
white-space:nowrap;
}

.tp-caption.small_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:14px;
line-height:20px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.medium_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:20px;
line-height:20px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}


.tp-caption.large_bold_white_25 {
font-size:55px;
line-height:65px;
font-weight:700;
font-family:"Open Sans";
color:#fff;
text-decoration:none;
background-color:transparent;
text-align:center;
text-shadow:#000 0px 5px 10px;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.medium_text_shadow {
font-size:25px;
line-height:25px;
font-weight:600;
font-family:"Open Sans";
color:#fff;
text-decoration:none;
background-color:transparent;
text-align:center;
text-shadow:#000 0px 5px 10px;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.large_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:40px;
line-height:40px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.medium_bold_grey {
font-size:30px;
line-height:30px;
font-weight:800;
font-family:"Open Sans";
color:rgb(102, 102, 102);
text-decoration:none;
background-color:transparent;
text-shadow:none;
margin:0px;
padding:1px 4px 0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.very_large_text {
position:absolute;
color:#fff;
text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);
font-weight:700;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
letter-spacing:-2px;
}

.tp-caption.very_big_white {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
padding:0px 4px;
padding-top:1px;
background-color:#000;
}

.tp-caption.very_big_black {
position:absolute;
color:#000;
text-shadow:none;
font-weight:700;
font-size:60px;
line-height:60px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
padding:0px 4px;
padding-top:1px;
background-color:#fff;
}

.tp-caption.modern_medium_fat {
position:absolute;
color:#000;
text-shadow:none;
font-weight:800;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_medium_fat_white {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_medium_light {
position:absolute;
color:#000;
text-shadow:none;
font-weight:300;
font-size:24px;
line-height:20px;
font-family:"Open Sans", sans-serif;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.modern_big_bluebg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:800;
font-size:30px;
line-height:36px;
font-family:"Open Sans", sans-serif;
padding:3px 10px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#4e5b6c;
letter-spacing:0;
}

.tp-caption.modern_big_redbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:30px;
line-height:36px;
font-family:"Open Sans", sans-serif;
padding:3px 10px;
padding-top:1px;
margin:0px;
border-width:0px;
border-style:none;
background-color:#de543e;
letter-spacing:0;
}

.tp-caption.modern_small_text_dark {
position:absolute;
color:#555;
text-shadow:none;
font-size:14px;
line-height:22px;
font-family:Arial;
margin:0px;
border-width:0px;
border-style:none;
white-space:nowrap;
}

.tp-caption.boxshadow {
-moz-box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
-webkit-box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
}

.tp-caption.black {
color:#000;
text-shadow:none;
}

.tp-caption.noshadow {
text-shadow:none;
}

.tp-caption a {
color:#ff7302;
text-shadow:none;
-webkit-transition:all 0.2s ease-out;
-moz-transition:all 0.2s ease-out;
-o-transition:all 0.2s ease-out;
-ms-transition:all 0.2s ease-out;
}

.tp-caption a:hover {
color:#ffa902;
}

.tp-caption.thinheadline_dark {
position:absolute;
color:rgba(0,0,0,0.85);
text-shadow:none;
font-weight:300;
font-size:30px;
line-height:30px;
font-family:"Open Sans";
background-color:transparent;
}

.tp-caption.thintext_dark {
position:absolute;
color:rgba(0,0,0,0.85);
text-shadow:none;
font-weight:300;
font-size:16px;
line-height:26px;
font-family:"Open Sans";
background-color:transparent;
}

.tp-caption.medium_bg_red a {
	color: #fff;
    text-decoration: none;
}

.tp-caption.medium_bg_red a:hover {
	color: #fff;
    text-decoration: underline;
}

.tp-caption.smoothcircle {
font-size:30px;
line-height:75px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
background-color:rgba(0, 0, 0, 0.498039);
padding:50px 25px;
text-align:center;
border-radius:500px 500px 500px 500px;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.largeblackbg {
font-size:50px;
line-height:70px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:0px 20px 5px;
text-shadow:none;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.largepinkbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#db4360;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.largewhitebg {
position:absolute;
color:#000;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#fff;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.largegreenbg {
position:absolute;
color:#fff;
text-shadow:none;
font-weight:300;
font-size:50px;
line-height:70px;
font-family:"Open Sans";
background-color:#67ae73;
padding:0px 20px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border-radius:0px;
}

.tp-caption.excerpt {
font-size:36px;
line-height:36px;
font-weight:700;
font-family:Arial;
color:#ffffff;
text-decoration:none;
background-color:rgba(0, 0, 0, 1);
text-shadow:none;
margin:0px;
letter-spacing:-1.5px;
padding:1px 4px 0px 4px;
width:150px;
white-space:normal !important;
height:auto;
border-width:0px;
border-color:rgb(255, 255, 255);
border-style:none;
}

.tp-caption.large_bold_grey {
font-size:60px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(102, 102, 102);
text-decoration:none;
background-color:transparent;
text-shadow:none;
margin:0px;
padding:1px 4px 0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_thin_grey {
font-size:34px;
line-height:30px;
font-weight:300;
font-family:"Open Sans";
color:rgb(102, 102, 102);
text-decoration:none;
background-color:transparent;
padding:1px 4px 0px;
text-shadow:none;
margin:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.small_thin_grey {
font-size:18px;
line-height:26px;
font-weight:300;
font-family:"Open Sans";
color:rgb(117, 117, 117);
text-decoration:none;
background-color:transparent;
padding:1px 4px 0px;
text-shadow:none;
margin:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.lightgrey_divider {
text-decoration:none;
background-color:rgba(235, 235, 235, 1);
width:370px;
height:3px;
background-position:initial initial;
background-repeat:initial initial;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bold_darkblue {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(52, 73, 94);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_darkblue {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(52, 73, 94);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bold_red {
font-size:24px;
line-height:30px;
font-weight:800;
font-family:"Open Sans";
color:rgb(227, 58, 12);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_red {
font-size:21px;
line-height:26px;
font-weight:300;
font-family:"Open Sans";
color:rgb(227, 58, 12);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_red {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(227, 58, 12);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bold_orange {
font-size:24px;
line-height:30px;
font-weight:800;
font-family:"Open Sans";
color:rgb(243, 156, 18);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_orange {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(243, 156, 18);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.grassfloor {
text-decoration:none;
background-color:rgba(160, 179, 151, 1);
width:4000px;
height:150px;
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bold_white {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_white {
font-size:30px;
line-height:36px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_white {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_white_center {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:#ffffff;
text-decoration:none;
background-color:transparent;
padding:0px 0px 0px 0px;
text-align:center;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_bg_asbestos {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(127, 140, 141);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.medium_light_black {
font-size:30px;
line-height:36px;
font-weight:300;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.large_bold_black {
font-size:58px;
line-height:60px;
font-weight:800;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:transparent;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumlarge_light_darkblue {
font-size:34px;
line-height:40px;
font-weight:300;
font-family:"Open Sans";
color:rgb(52, 73, 94);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.small_light_white {
font-size:17px;
line-height:28px;
font-weight:300;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:transparent;
padding:0px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.roundedimage {
border-width:0px;
border-color:rgb(34, 34, 34);
border-style:none;
}

.tp-caption.large_bg_black {
font-size:40px;
line-height:40px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(0, 0, 0);
padding:10px 20px 15px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}

.tp-caption.mediumwhitebg {
font-size:30px;
line-height:30px;
font-weight:300;
font-family:"Open Sans";
color:rgb(0, 0, 0);
text-decoration:none;
background-color:rgb(255, 255, 255);
padding:5px 15px 10px;
text-shadow:none;
border-width:0px;
border-color:rgb(0, 0, 0);
border-style:none;
}

.tp-caption.medium_bg_orange_new1 {
font-size:20px;
line-height:20px;
font-weight:800;
font-family:"Open Sans";
color:rgb(255, 255, 255);
text-decoration:none;
background-color:rgb(243, 156, 18);
padding:10px;
border-width:0px;
border-color:rgb(255, 214, 88);
border-style:none;
}



.tp-caption.boxshadow{
		-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
		box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
	}

.tp-caption.black{
		color: #000;
		text-shadow: none;
		font-weight: 300;
		font-size: 19px;
		line-height: 19px;
		font-family: 'Open Sans', sans;
	}

.tp-caption.noshadow {
		text-shadow: none;
	}


.tp_inner_padding	{	box-sizing:border-box;
						-webkit-box-sizing:border-box;
						-moz-box-sizing:border-box;
						max-height:none !important;	}


/*.tp-caption			{	transform:none !important}*/


/*********************************
	-	SPECIAL TP CAPTIONS -
**********************************/
.tp-caption .frontcorner		{
										width: 0;
										height: 0;
										border-left: 40px solid transparent;
										border-right: 0px solid transparent;
										border-top: 40px solid #00A8FF;
										position: absolute;left:-40px;top:0px;
									}

.tp-caption .backcorner		{
										width: 0;
										height: 0;
										border-left: 0px solid transparent;
										border-right: 40px solid transparent;
										border-bottom: 40px solid #00A8FF;
										position: absolute;right:0px;top:0px;
									}

.tp-caption .frontcornertop		{
										width: 0;
										height: 0;
										border-left: 40px solid transparent;
										border-right: 0px solid transparent;
										border-bottom: 40px solid #00A8FF;
										position: absolute;left:-40px;top:0px;
									}

.tp-caption .backcornertop		{
										width: 0;
										height: 0;
										border-left: 0px solid transparent;
										border-right: 40px solid transparent;
										border-top: 40px solid #00A8FF;
										position: absolute;right:0px;top:0px;
									}

/******************************
	-	BUTTONS	-
*******************************/

.tp-simpleresponsive .button				{	padding:6px 13px 5px; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; height:30px;
												cursor:pointer;
												color:#fff !important; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6) !important; font-size:15px; line-height:45px !important;
												background:url(../../skin/frontend/base/default/em/slideshow2/images/gradient/g30.png) repeat-x top; font-family: arial, sans-serif; font-weight: bold; letter-spacing: -1px;
											}

.tp-simpleresponsive  .button.big			{	color:#fff; text-shadow:0px 1px 1px rgba(0, 0, 0, 0.6); font-weight:bold; padding:9px 20px; font-size:19px;  line-height:57px !important; background:url(../../skin/frontend/base/default/em/slideshow2/images/gradient/g40.png) repeat-x top}


.tp-simpleresponsive  .purchase:hover,
.tp-simpleresponsive  .button:hover,
.tp-simpleresponsive  .button.big:hover		{	background-position:bottom, 15px 11px}



	@media only screen and (min-width: 768px) and (max-width: 959px) {

	 }



	@media only screen and (min-width: 480px) and (max-width: 767px) {
		.tp-simpleresponsive  .button	{	padding:4px 8px 3px; line-height:25px !important; font-size:11px !important;font-weight:normal;	}
		.tp-simpleresponsive  a.button { -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none;	 }


	}

    @media only screen and (min-width: 0px) and (max-width: 479px) {
		.tp-simpleresponsive  .button	{	padding:2px 5px 2px; line-height:20px !important; font-size:10px !important}
		.tp-simpleresponsive  a.button { -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none;	 }
	}





/*	BUTTON COLORS	*/



.tp-simpleresponsive  .button.green, .tp-simpleresponsive  .button:hover.green,
.tp-simpleresponsive  .purchase.green, .tp-simpleresponsive  .purchase:hover.green			{ background-color:#21a117; -webkit-box-shadow:  0px 3px 0px 0px #104d0b;        -moz-box-shadow:   0px 3px 0px 0px #104d0b;        box-shadow:   0px 3px 0px 0px #104d0b;  }


.tp-simpleresponsive  .button.blue, .tp-simpleresponsive  .button:hover.blue,
.tp-simpleresponsive  .purchase.blue, .tp-simpleresponsive  .purchase:hover.blue			{ background-color:#1d78cb; -webkit-box-shadow:  0px 3px 0px 0px #0f3e68;        -moz-box-shadow:   0px 3px 0px 0px #0f3e68;        box-shadow:   0px 3px 0px 0px #0f3e68}


.tp-simpleresponsive  .button.red, .tp-simpleresponsive  .button:hover.red,
.tp-simpleresponsive  .purchase.red, .tp-simpleresponsive  .purchase:hover.red				{ background-color:#cb1d1d; -webkit-box-shadow:  0px 3px 0px 0px #7c1212;        -moz-box-shadow:   0px 3px 0px 0px #7c1212;        box-shadow:   0px 3px 0px 0px #7c1212}

.tp-simpleresponsive  .button.orange, .tp-simpleresponsive  .button:hover.orange,
.tp-simpleresponsive  .purchase.orange, .tp-simpleresponsive  .purchase:hover.orange		{ background-color:#ff7700; -webkit-box-shadow:  0px 3px 0px 0px #a34c00;        -moz-box-shadow:   0px 3px 0px 0px #a34c00;        box-shadow:   0px 3px 0px 0px #a34c00}

.tp-simpleresponsive  .button.darkgrey, .tp-simpleresponsive  .button.grey,
.tp-simpleresponsive  .button:hover.darkgrey, .tp-simpleresponsive  .button:hover.grey,
.tp-simpleresponsive  .purchase.darkgrey, .tp-simpleresponsive  .purchase:hover.darkgrey	{ background-color:#555; -webkit-box-shadow:  0px 3px 0px 0px #222;        -moz-box-shadow:   0px 3px 0px 0px #222;        box-shadow:   0px 3px 0px 0px #222}

.tp-simpleresponsive  .button.lightgrey, .tp-simpleresponsive  .button:hover.lightgrey,
.tp-simpleresponsive  .purchase.lightgrey, .tp-simpleresponsive  .purchase:hover.lightgrey	{ background-color:#888; -webkit-box-shadow:  0px 3px 0px 0px #555;        -moz-box-shadow:   0px 3px 0px 0px #555;        box-shadow:   0px 3px 0px 0px #555}



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

	-	SET THE ANIMATION EVEN MORE SMOOTHER ON ANDROID   -

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

/*.tp-simpleresponsive				{	-webkit-perspective: 1500px;
										-moz-perspective: 1500px;
										-o-perspective: 1500px;
										-ms-perspective: 1500px;
										perspective: 1500px;
									}*/




/**********************************************
	-	FULLSCREEN AND FULLWIDHT CONTAINERS	-
**********************************************/

.fullscreen-container {
		width:100%;
		position:relative;
		padding:0;
}



.fullwidthbanner-container{
	width:100%;
	position:relative;
	padding:0;
	overflow:hidden;
}

.fullwidthbanner-container .fullwidthbanner{
	width:100%;
	position:relative;
}



/************************************************
	  - SOME CAPTION MODIFICATION AT START  -
*************************************************/
.tp-simpleresponsive .caption,
.tp-simpleresponsive .tp-caption {
	/*-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";		-moz-opacity: 0;	-khtml-opacity: 0;	opacity: 0; */
	position:absolute;visibility: hidden;
	-webkit-font-smoothing: antialiased !important;
}


.tp-simpleresponsive img	{	max-width:none}



/******************************
	-	IE8 HACKS	-
*******************************/
.noFilterClass {
	filter:none !important;
}


/******************************
	-	SHADOWS		-
******************************/
.tp-bannershadow  {
		position:absolute;

		margin-left:auto;
		margin-right:auto;
		-moz-user-select: none;
        -khtml-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
	}

.tp-bannershadow.tp-shadow1 {	background:url(../../skin/frontend/base/default/em/slideshow2/assets/shadow1.png) no-repeat; background-size:100% 100%; width:890px; height:60px; bottom:-60px}
.tp-bannershadow.tp-shadow2 {	background:url(../../skin/frontend/base/default/em/slideshow2/assets/shadow2.png) no-repeat; background-size:100% 100%; width:890px; height:60px;bottom:-60px}
.tp-bannershadow.tp-shadow3 {	background:url(../../skin/frontend/base/default/em/slideshow2/assets/shadow3.png) no-repeat; background-size:100% 100%; width:890px; height:60px;bottom:-60px}


/********************************
	-	FULLSCREEN VIDEO	-
*********************************/
.caption.fullscreenvideo {	left:0px; top:0px; position:absolute;width:100%;height:100%}
.caption.fullscreenvideo iframe,
.caption.fullscreenvideo video	{ width:100% !important; height:100% !important; display: none}

.tp-caption.fullscreenvideo	{	left:0px; top:0px; position:absolute;width:100%;height:100%}


.tp-caption.fullscreenvideo iframe,
.tp-caption.fullscreenvideo iframe video	{ width:100% !important; height:100% !important; display: none}


.fullcoveredvideo video,
.fullscreenvideo video					{	background: #000}

.fullcoveredvideo .tp-poster		{	background-position: center center;background-size: cover;width:100%;height:100%;top:0px;left:0px}

.html5vid.videoisplaying .tp-poster	{	display: none}

.tp-video-play-button		{	background:#000;
								background:rgba(0,0,0,0.3);
								padding:5px;
								border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;
								position: absolute;
								top: 50%;
								left: 50%;
								font-size: 40px;
								color: #FFF;
								z-index: 3;
								margin-top: -27px;
								margin-left: -28px;
								text-align: center;
								cursor: pointer;
							}

.html5vid .tp-revstop		{	width:15px;height:20px; border-left:5px solid #fff; border-right:5px solid #fff; position:relative;margin:10px 20px; box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}
.html5vid .tp-revstop	{	display:none}
.html5vid.videoisplaying .revicon-right-dir	{	display:none}
.html5vid.videoisplaying .tp-revstop	{	display:block}

.html5vid.videoisplaying .tp-video-play-button	{	display:none}
.html5vid:hover .tp-video-play-button { display:block}

.fullcoveredvideo .tp-video-play-button	{	display:none !important}


/********************************
	-	FULLSCREEN VIDEO ENDS	-
*********************************/


/********************************
	-	DOTTED OVERLAYS	-
*********************************/
.tp-dottedoverlay						{	background-repeat:repeat;width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:4}
.tp-dottedoverlay.twoxtwo				{	background:url(https://mobymemory.com/uk/skin/frontend/base/default/em/slideshow2/assets/gridtile.png)}
.tp-dottedoverlay.twoxtwowhite			{	background:url(https://mobymemory.com/uk/skin/frontend/base/default/em/slideshow2/assets/gridtile_white.png)}
.tp-dottedoverlay.threexthree			{	background:url(https://mobymemory.com/uk/skin/frontend/base/default/em/slideshow2/assets/gridtile_3x3.png)}
.tp-dottedoverlay.threexthreewhite		{	background:url(https://mobymemory.com/uk/skin/frontend/base/default/em/slideshow2/assets/gridtile_3x3_white.png)}
/********************************
	-	DOTTED OVERLAYS ENDS	-
*********************************/


/************************
	-	NAVIGATION	-
*************************/

/** BULLETS **/

.tpclear		{	clear:both}


.tp-bullets									{	z-index:1000; position:absolute;
												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
												-moz-opacity: 1;
												-khtml-opacity: 1;
												opacity: 1;
												-webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; -ms-transition: opacity 0.2s ease-out;-webkit-transform: translateZ(5px);
											}
.tp-bullets.hidebullets					{
												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
												-moz-opacity: 0;
												-khtml-opacity: 0;
												opacity: 0;
											}


.tp-bullets.simplebullets.navbar						{ 	border:1px solid #666; border-bottom:1px solid #444; background:url(../../skin/frontend/base/default/em/slideshow2/assets/boxed_bgtile.png); height:40px; padding:0px 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px }

.tp-bullets.simplebullets.navbar-old					{ 	 background:url(../../skin/frontend/base/default/em/slideshow2/assets/navigdots_bgtile.png); height:35px; padding:0px 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px }


.tp-bullets.simplebullets.round .bullet					{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/bullet.png) no-Repeat top left;	width:20px;	height:20px;  margin-right:0px; float:left; margin-top:0px; margin-left:3px}
.tp-bullets.simplebullets.round .bullet.last			{	margin-right:3px}

.tp-bullets.simplebullets.round-old .bullet				{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/bullets.png) no-Repeat bottom left;	width:23px;	height:23px;  margin-right:0px; float:left; margin-top:0px}
.tp-bullets.simplebullets.round-old .bullet.last		{	margin-right:0px}


/**	SQUARE BULLETS **/
.tp-bullets.simplebullets.square .bullet				{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/bullets2.png) no-Repeat bottom left;	width:19px;	height:19px;  margin-right:0px; float:left; margin-top:0px}
.tp-bullets.simplebullets.square .bullet.last			{	margin-right:0px}


/**	SQUARE BULLETS **/
.tp-bullets.simplebullets.square-old .bullet			{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/bullets2.png) no-Repeat bottom left;	width:19px;	height:19px;  margin-right:0px; float:left; margin-top:0px}
.tp-bullets.simplebullets.square-old .bullet.last		{	margin-right:0px}


/** navbar NAVIGATION VERSION **/
.tp-bullets.simplebullets.navbar .bullet			{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/bullet_boxed.png) no-Repeat top left;	width:18px;	height:19px;   margin-right:5px; float:left; margin-top:0px}

.tp-bullets.simplebullets.navbar .bullet.first		{	margin-left:0px !important}
.tp-bullets.simplebullets.navbar .bullet.last		{	margin-right:0px !important}



/** navbar NAVIGATION VERSION **/
.tp-bullets.simplebullets.navbar-old .bullet			{	cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/navigdots.png) no-Repeat bottom left;	width:15px;	height:15px;  margin-left:5px !important; margin-right:5px !important;float:left; margin-top:10px}
.tp-bullets.simplebullets.navbar-old .bullet.first		{	margin-left:0px !important}
.tp-bullets.simplebullets.navbar-old .bullet.last		{	margin-right:0px !important}


.tp-bullets.simplebullets .bullet:hover,
.tp-bullets.simplebullets .bullet.selected				{	background-position:top left}

.tp-bullets.simplebullets.round .bullet:hover,
.tp-bullets.simplebullets.round .bullet.selected,
.tp-bullets.simplebullets.navbar .bullet:hover,
.tp-bullets.simplebullets.navbar .bullet.selected		{	background-position:bottom left}



/*************************************
	-	TP ARROWS 	-
**************************************/
.tparrows												{	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
															-moz-opacity: 1;
															-khtml-opacity: 1;
															opacity: 1;
															-webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; -ms-transition: opacity 0.2s ease-out;
															-webkit-transform: translateZ(5000px);
															-webkit-transform-style: flat;
															-webkit-backface-visibility: hidden;
															z-index:600;
															position: relative;

														}
.tparrows.hidearrows									{
															-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
															-moz-opacity: 0;
															-khtml-opacity: 0;
															opacity: 0;
														}
.tp-leftarrow											{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/large_left.png) no-Repeat top left;	width:40px;	height:40px;   }
.tp-rightarrow											{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/large_right.png) no-Repeat top left;	width:40px;	height:40px;   }


.tp-leftarrow.round										{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/small_left.png) no-Repeat top left;	width:19px;	height:14px;  margin-right:0px; float:left; margin-top:0px;	}
.tp-rightarrow.round									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/small_right.png) no-Repeat top left;	width:19px;	height:14px;  margin-right:0px; float:left;	margin-top:0px}


.tp-leftarrow.round-old									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_left.png) no-Repeat top left;	width:26px;	height:26px;  margin-right:0px; float:left; margin-top:0px;	}
.tp-rightarrow.round-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_right.png) no-Repeat top left;	width:26px;	height:26px;  margin-right:0px; float:left;	margin-top:0px}


.tp-leftarrow.navbar									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/small_left_boxed.png) no-Repeat top left;	width:20px;	height:15px;   float:left;	margin-right:6px; margin-top:12px}
.tp-rightarrow.navbar									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/small_right_boxed.png) no-Repeat top left;	width:20px;	height:15px;   float:left;	margin-left:6px; margin-top:12px}


.tp-leftarrow.navbar-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrowleft.png) no-Repeat top left;		width:9px;	height:16px;   float:left;	margin-right:6px; margin-top:10px}
.tp-rightarrow.navbar-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrowright.png) no-Repeat top left;	width:9px;	height:16px;   float:left;	margin-left:6px; margin-top:10px}

.tp-leftarrow.navbar-old.thumbswitharrow				{	margin-right:10px}
.tp-rightarrow.navbar-old.thumbswitharrow				{	margin-left:0px}

.tp-leftarrow.square									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_left2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-right:0px; margin-top:0px}
.tp-rightarrow.square									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_right2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-left:0px; margin-top:0px}


.tp-leftarrow.square-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_left2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-right:0px; margin-top:0px}
.tp-rightarrow.square-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/arrow_right2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-left:0px; margin-top:0px}


.tp-leftarrow.default									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/large_left.png) no-Repeat 0 0;	width:40px;	height:40px;

														}
.tp-rightarrow.default									{	z-index:100;cursor:pointer; position:relative;	background:url(../../skin/frontend/base/default/em/slideshow2/assets/large_right.png) no-Repeat 0 0;	width:40px;	height:40px;

														}




.tp-leftarrow:hover,
.tp-rightarrow:hover 									{	background-position:bottom left}






/****************************************************************************************************
	-	TP THUMBS 	-
*****************************************************************************************************

 - tp-thumbs & tp-mask Width is the width of the basic Thumb Container (500px basic settings)

 - .bullet width & height is the dimension of a simple Thumbnail (basic 100px x 50px)

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


.tp-bullets.tp-thumbs						{	z-index:1000; position:absolute; padding:3px;background-color:#fff;
												width:500px;height:50px; 			/* THE DIMENSIONS OF THE THUMB CONTAINER */
												margin-top:-50px;
											}


.fullwidthbanner-container .tp-thumbs		{  padding:3px}

.tp-bullets.tp-thumbs .tp-mask				{	width:500px; height:50px;  			/* THE DIMENSIONS OF THE THUMB CONTAINER */
												overflow:hidden; position:relative}


.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer	{	width:5000px; position:absolute}

.tp-bullets.tp-thumbs .bullet				{   width:100px; height:50px; 			/* THE DIMENSION OF A SINGLE THUMB */
												cursor:pointer; overflow:hidden;background:none;margin:0;float:left;
												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
												/*filter: alpha(opacity=50);	*/
												-moz-opacity: 0.5;
												-khtml-opacity: 0.5;
												opacity: 0.5;

												-webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; -ms-transition: all 0.2s ease-out;
											}


.tp-bullets.tp-thumbs .bullet:hover,
.tp-bullets.tp-thumbs .bullet.selected		{ 	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

												-moz-opacity: 1;
												-khtml-opacity: 1;
												opacity: 1;
											}
.tp-thumbs img								{	width:100%}


/************************************
		-	TP BANNER TIMER		-
*************************************/
.tp-bannertimer								{	width:100%; height:10px; background:url(../../skin/frontend/base/default/em/slideshow2/assets/timer.png);position:absolute; z-index:200;top:0px}
.tp-bannertimer.tp-bottom					{	bottom:0px;height:5px; top:auto}




/***************************************
	-	RESPONSIVE SETTINGS 	-
****************************************/




    @media only screen and (min-width: 0px) and (max-width: 479px) {
				.responsive .tp-bullets	{	display:none}
				.responsive .tparrows	{	display:none}
	}





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

	-	BASIC SETTINGS FOR THE BANNER	-

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

 .tp-simpleresponsive img {
		-moz-user-select: none;
        -khtml-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
}



.tp-simpleresponsive a{	text-decoration:none}

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

.tp-simpleresponsive >ul >li{
	list-stye:none;
	position:absolute;
	visibility:hidden;
}
/*  CAPTION SLIDELINK   **/
.caption.slidelink a div,
.tp-caption.slidelink a div {	width:3000px; height:1500px;  background:url(../../skin/frontend/base/default/em/slideshow2/assets/coloredbg.png) repeat}

.tp-caption.slidelink a span	{	background:url(../../skin/frontend/base/default/em/slideshow2/assets/coloredbg.png) repeat}



/*****************************************
	-	NAVIGATION FANCY EXAMPLES	-
*****************************************/

.tparrows .tp-arr-imgholder								{ display: none}
.tparrows .tp-arr-titleholder							{ display: none}



/*****************************************
	-	NAVIGATION FANCY EXAMPLES	-
*****************************************/

/* NAVIGATION PREVIEW 1 */
.tparrows.preview1 							{	width:100px;height:100px;-webkit-transform-style: preserve-3d; -webkit-perspective: 1000; -moz-perspective: 1000; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden;background: transparent}
.tparrows.preview1:after					{	position:absolute; left:0px;top:0px; font-family: "revicons"; color:#fff; font-size:30px; width:100px;height:100px;text-align: center; background:#fff;background:rgba(0,0,0,0.15);z-index:2;line-height:100px; -webkit-transition: background 0.3s, color 0.3s; -moz-transition: background 0.3s, color 0.3s; transition: background 0.3s, color 0.3s}
.tp-rightarrow.preview1:after				{	content: '\e825';  }
.tp-leftarrow.preview1:after				{	content: '\e824';  }

.tparrows.preview1:hover:after 				{	background:rgba(255,255,255,1); color:#aaa}

.tparrows.preview1 .tp-arr-imgholder 		{	background-size:cover; background-position:center center; display:block;width:100%;height:100%;position:absolute;top:0px;
												-webkit-transition: -webkit-transform 0.3s;
												transition: transform 0.3s;
												-webkit-backface-visibility: hidden;
												backface-visibility: hidden;
											}
/*.tparrows.preview1 .tp-arr-iwrapper			{	  -webkit-transition: all 0.3s;transition: all 0.3s;
												-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);-moz-opacity: 0.0;-khtml-opacity: 0.0;opacity: 0.0}
.tparrows.preview1:hover .tp-arr-iwrapper	{	  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);-moz-opacity: 1;-khtml-opacity: 1;opacity: 1}*/


.tp-rightarrow.preview1 .tp-arr-imgholder	{	right:100%;
												-webkit-transform: rotateY(-90deg);
												transform: rotateY(-90deg);
												-webkit-transform-origin: 100% 50%;
												transform-origin: 100% 50%;
												  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);-moz-opacity: 0.0;-khtml-opacity: 0.0;opacity: 0.0;



											}
.tp-leftarrow.preview1 .tp-arr-imgholder	{	left:100%;
												-webkit-transform: rotateY(90deg);
												transform: rotateY(90deg);
												-webkit-transform-origin: 0% 50%;
												transform-origin: 0% 50%;
												  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);-moz-opacity: 0.0;-khtml-opacity: 0.0;opacity: 0.0;



											}


.tparrows.preview1:hover .tp-arr-imgholder	{	-webkit-transform: rotateY(0deg);
												transform: rotateY(0deg);
												  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);-moz-opacity: 1;-khtml-opacity: 1;opacity: 1;

											}


	@media only screen and (min-width: 768px) and (max-width: 979px) {
		.tparrows.preview1,
		.tparrows.preview1:after	{	width:80px; height:80px;line-height:80px; font-size:24px}

	}

    @media only screen and (min-width: 480px) and (max-width: 767px) {
		.tparrows.preview1,
		.tparrows.preview1:after	{	width:60px; height:60px;line-height:60px;font-size:20px}

	}



    @media only screen and (min-width: 0px) and (max-width: 479px) {
		.tparrows.preview1,
		.tparrows.preview1:after	{	width:40px; height:40px;line-height:40px; font-size:12px}
    }

/* PREVIEW 1 BULLETS */

.tp-bullets.preview1 						{ 	height: 21px}
.tp-bullets.preview1 .bullet 				{	cursor: pointer;
											    position: relative !important;
											    background: rgba(0, 0, 0, 0.15) !important;
											    /*-webkit-border-radius: 10px;
											    border-radius: 10px;*/
											    -webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
											    width: 5px !important;
											    height: 5px !important;
											    border: 8px solid rgba(0, 0, 0, 0) !important;
											    display: inline-block;
											    margin-right: 5px !important;
											    margin-bottom: 0px !important;
											    -webkit-transition: background-color 0.2s, border-color 0.2s;
											    -moz-transition: background-color 0.2s, border-color 0.2s;
											    -o-transition: background-color 0.2s, border-color 0.2s;
											    -ms-transition: background-color 0.2s, border-color 0.2s;
											    transition: background-color 0.2s, border-color 0.2s;
											    float:none !important;
											    box-sizing:content-box;
												-moz-box-sizing:content-box;
												-webkit-box-sizing:content-box;
}
.tp-bullets.preview1 .bullet.last 			{	margin-right: 0px}
.tp-bullets.preview1 .bullet:hover,
.tp-bullets.preview1 .bullet.selected 		{	-webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
												background: #aaa !important;
												width: 5px !important;
											    height: 5px !important;
											    border: 8px solid rgba(255, 255, 255, 1) !important;
}




/* NAVIGATION PREVIEW 2 */
.tparrows.preview2 							{	min-width:60px; min-height:60px; background:#fff; ;

												border-radius:30px;-moz-border-radius:30px;-webkit-border-radius:30px;
												overflow:hidden;
												-webkit-transition: -webkit-transform 1.3s;
												-webkit-transition: width 0.3s, background-color 0.3s, opacity 0.3s;
												transition: width 0.3s, background-color 0.3s, opacity 0.3s;
												backface-visibility: hidden;
}
.tparrows.preview2:after					{	position:absolute; top:50%; font-family: "revicons"; color:#aaa; font-size:25px; margin-top: -12px; -webkit-transition: color 0.3s; -moz-transition: color 0.3s; transition: color 0.3s }
.tp-rightarrow.preview2:after				{	content: '\e81e';  right:18px}
.tp-leftarrow.preview2:after				{	content: '\e81f';  left:18px}


.tparrows.preview2 .tp-arr-titleholder 		{	background-size:cover; background-position:center center; display:block; visibility:hidden;position:relative;top:0px;
												-webkit-transition: -webkit-transform 0.3s;
												transition: transform 0.3s;
												-webkit-backface-visibility: hidden;
												backface-visibility: hidden;
												white-space: nowrap;
												color: #000;
												text-transform: uppercase;
												font-weight: 400;
												font-size: 14px;
												line-height: 60px;
												padding:0px 10px;
											}

.tp-rightarrow.preview2 .tp-arr-titleholder	{	 right:50px;
												-webkit-transform: translateX(-100%);
												transform: translateX(-100%);
											}
.tp-leftarrow.preview2 .tp-arr-titleholder	{	left:50px;
												-webkit-transform: translateX(100%);
												transform: translateX(100%);
											}

.tparrows.preview2.hovered					{	width:300px}
.tparrows.preview2:hover					{	background:#fff}
.tparrows.preview2:hover:after				{	color:#000}
.tparrows.preview2:hover .tp-arr-titleholder{	-webkit-transform: translateX(0px);
													transform: translateX(0px);
													visibility: visible;
													position: absolute;
											}

/* PREVIEW 2 BULLETS */

.tp-bullets.preview2 						{ 	height: 17px}
.tp-bullets.preview2 .bullet 				{	cursor: pointer;
											    position: relative !important;
											    background: rgba(0, 0, 0, 0.5) !important;
											    -webkit-border-radius: 10px;
											    border-radius: 10px;
											    -webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
											    width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 0) !important;
											    display: inline-block;
											    margin-right: 2px !important;
											    margin-bottom: 0px !important;
											    -webkit-transition: background-color 0.2s, border-color 0.2s;
											    -moz-transition: background-color 0.2s, border-color 0.2s;
											    -o-transition: background-color 0.2s, border-color 0.2s;
											    -ms-transition: background-color 0.2s, border-color 0.2s;
											    transition: background-color 0.2s, border-color 0.2s;
											    float:none !important;
											    box-sizing:content-box;
												-moz-box-sizing:content-box;
												-webkit-box-sizing:content-box;
}
.tp-bullets.preview2 .bullet.last 			{	margin-right: 0px}
.tp-bullets.preview2 .bullet:hover,
.tp-bullets.preview2 .bullet.selected 		{	-webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
												background: rgba(255, 255, 255, 1) !important;
												width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 1) !important;
}

.tp-arr-titleholder.alwayshidden			{	display:none !important}


	@media only screen and (min-width: 768px) and (max-width: 979px) {
		.tparrows.preview2 {	min-width:40px; min-height:40px; width:40px;height:40px;
								border-radius:20px;-moz-border-radius:20px;-webkit-border-radius:20px;
							}
		.tparrows.preview2:after					{	position:absolute; top:50%; font-family: "revicons"; font-size:20px; margin-top: -12px}
		.tp-rightarrow.preview2:after				{	content: '\e81e';  right:11px}
		.tp-leftarrow.preview2:after				{	content: '\e81f';  left:11px}
		.tparrows.preview2 .tp-arr-titleholder		{	font-size:12px; line-height:40px; letter-spacing: 0px}
		.tp-rightarrow.preview2 .tp-arr-titleholder	{	right:35px}
		.tp-leftarrow.preview2 .tp-arr-titleholder	{	left:35px}

	}

    @media only screen and (min-width: 480px) and (max-width: 767px) {
   		 .tparrows.preview2 						{	min-width:30px; min-height:30px; width:30px;height:30px;
														border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px;
													}
		.tparrows.preview2:after					{	position:absolute; top:50%; font-family: "revicons"; font-size:14px; margin-top: -12px}
		.tp-rightarrow.preview2:after				{	content: '\e81e';  right:8px}
		.tp-leftarrow.preview2:after				{	content: '\e81f';  left:8px}
		.tparrows.preview2 .tp-arr-titleholder		{	font-size:10px; line-height:30px; letter-spacing: 0px}
		.tp-rightarrow.preview2 .tp-arr-titleholder	{	right:25px}
		.tp-leftarrow.preview2 .tp-arr-titleholder	{	left:25px}
		.tparrows.preview2 .tp-arr-titleholder		{	display:none;visibility:none}


	}

    @media only screen and (min-width: 0px) and (max-width: 479px) {
		.tparrows.preview2 							{	min-width:30px; min-height:30px; width:30px;height:30px;
														border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px;
													}
		.tparrows.preview2:after					{	position:absolute; top:50%; font-family: "revicons"; font-size:14px; margin-top: -12px}
		.tp-rightarrow.preview2:after				{	content: '\e81e';  right:8px}
		.tp-leftarrow.preview2:after				{	content: '\e81f';  left:8px}
		.tparrows.preview2 .tp-arr-titleholder		{	display:none;visibility:none}
		.tparrows.preview2:hover					{	width:30px !important; height:30px !important}
    }



/* NAVIGATION PREVIEW 3 */
.tparrows.preview3 							{	width:70px; height:70px; background:#fff; background:rgba(255,255,255,1); -webkit-transform-style: flat}
.tparrows.preview3:after					{	position:absolute;  line-height: 70px;text-align: center; font-family: "revicons"; color:#aaa; font-size:30px; top:0px;left:0px;;background:#fff; z-index:100; width:70px;height:70px; -webkit-transition: color 0.3s; -moz-transition: color 0.3s; transition: color 0.3s}
.tparrows.preview3:hover:after					{	color:#000}
.tp-rightarrow.preview3:after				{	content: '\e825';  }
.tp-leftarrow.preview3:after				{	content: '\e824';  }


.tparrows.preview3 .tp-arr-iwrapper			{
												  -webkit-transform: scale(0,1);
												  transform: scale(0,1);
												  -webkit-transform-origin: 100% 50%;
												  transform-origin: 100% 50%;
												  -webkit-transition: -webkit-transform 0.2s;
												  transition: transform 0.2s;
												  z-index:0;position: absolute; background: #000; background: rgba(0,0,0,0.75);
												  display: table;min-height:90px;top:-10px}

.tp-leftarrow.preview3 .tp-arr-iwrapper		{	 -webkit-transform: scale(0,1);
												  transform: scale(0,1);
												  -webkit-transform-origin: 0% 50%;
												  transform-origin: 0% 50%;
											}

.tparrows.preview3 .tp-arr-imgholder 		{	display:block;background-size:cover; background-position:center center; display:table-cell;min-width:90px;height:90px;
												position:relative;top:0px}

.tp-rightarrow.preview3 .tp-arr-iwrapper	{	right:0px;padding-right:70px}
.tp-leftarrow.preview3 .tp-arr-iwrapper		{	left:0px; direction: rtl;padding-left:70px}
.tparrows.preview3 .tp-arr-titleholder		{	display:table-cell; padding:30px;font-size:16px; color:#fff;white-space: nowrap; position: relative; clear:right;vertical-align: middle}

.tparrows.preview3:hover .tp-arr-iwrapper	{
												-webkit-transform: scale(1,1);
												  transform: scale(1,1);

											}

/* PREVIEW 3 BULLETS */
.tp-bullets.preview3 						{ 	height: 17px}
.tp-bullets.preview3 .bullet 				{	cursor: pointer;
											    position: relative !important;
											    background: rgba(0, 0, 0, 0.5) !important;
											    -webkit-border-radius: 10px;
											    border-radius: 10px;
											    -webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
											    width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 0) !important;
											    display: inline-block;
											    margin-right: 2px !important;
											    margin-bottom: 0px !important;
											    -webkit-transition: background-color 0.2s, border-color 0.2s;
											    -moz-transition: background-color 0.2s, border-color 0.2s;
											    -o-transition: background-color 0.2s, border-color 0.2s;
											    -ms-transition: background-color 0.2s, border-color 0.2s;
											    transition: background-color 0.2s, border-color 0.2s;
											    float:none !important;
											    box-sizing:content-box;
												-moz-box-sizing:content-box;
												-webkit-box-sizing:content-box;
}
.tp-bullets.preview3 .bullet.last 			{	margin-right: 0px}
.tp-bullets.preview3 .bullet:hover,
.tp-bullets.preview3 .bullet.selected 		{	-webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
												background: rgba(255, 255, 255, 1) !important;
												width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 1) !important;
}


	@media only screen and (min-width: 768px) and (max-width: 979px) {
		.tparrows.preview3:after,
		.tparrows.preview3 							{	width:50px; height:50px; line-height:50px;font-size:20px}
		.tparrows.preview3 .tp-arr-iwrapper			{	min-height:70px}
		.tparrows.preview3 .tp-arr-imgholder 		{	min-width:70px;height:70px}
		.tp-rightarrow.preview3 .tp-arr-iwrapper	{	padding-right:50px}
		.tp-leftarrow.preview3 .tp-arr-iwrapper		{	padding-left:50px}
		.tparrows.preview3 .tp-arr-titleholder		{	padding:10px;font-size:16px}



	}

    @media only screen  and (max-width: 767px) {

		.tparrows.preview3:after,
		.tparrows.preview3 							{	width:50px; height:50px; line-height:50px;font-size:20px}
		.tparrows.preview3 .tp-arr-iwrapper			{	min-height:70px}
	}





/* NAVIGATION PREVIEW 4 */
.tparrows.preview4 							{	width:30px; height:110px;  background:transparent;-webkit-transform-style: preserve-3d; -webkit-perspective: 1000; -moz-perspective: 1000}
.tparrows.preview4:after					{	position:absolute;  line-height: 110px;text-align: center; font-family: "revicons"; color:#fff; font-size:20px; top:0px;left:0px;z-index:0; width:30px;height:110px; background: #000; background: rgba(0,0,0,0.25);
												-webkit-transition: all 0.2s ease-in-out;
											    -moz-transition: all 0.2s ease-in-out;
											    -o-transition: all 0.2s ease-in-out;
											    transition: all 0.2s ease-in-out;
												   -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);-moz-opacity: 1;-khtml-opacity: 1;opacity: 1;

											}

.tp-rightarrow.preview4:after				{	content: '\e825';  }
.tp-leftarrow.preview4:after				{	content: '\e824';  }


.tparrows.preview4 .tp-arr-allwrapper		{	visibility:hidden;width:180px;position: absolute;z-index: 1;min-height:120px;top:0px;left:-150px; overflow: hidden;-webkit-perspective: 1000px;-webkit-transform-style: flat}

.tp-leftarrow.preview4 .tp-arr-allwrapper	{	left:0px}
.tparrows.preview4 .tp-arr-iwrapper			{	position: relative}

.tparrows.preview4 .tp-arr-imgholder 		{	display:block;background-size:cover; background-position:center center;width:180px;height:110px;
												position:relative;top:0px;

												-webkit-backface-visibility: hidden;
												backface-visibility: hidden;



											}


.tparrows.preview4 .tp-arr-imgholder2 		{	display:block;background-size:cover; background-position:center center; width:180px;height:110px;
												position:absolute;top:0px; left:180px;
												-webkit-backface-visibility: hidden;
												backface-visibility: hidden;

											}

.tp-leftarrow.preview4 .tp-arr-imgholder2 	{	left:-180px}




.tparrows.preview4 .tp-arr-titleholder		{	display:block; font-size:12px; line-height:25px; padding:0px 10px;text-align:left;color:#fff; position: relative;
												background: #000;
												color: #FFF;
												text-transform: uppercase;
												white-space: nowrap;
												letter-spacing: 1px;
												font-weight: 700;
												font-size: 11px;
												line-height: 2.75;
												-webkit-transition: all 0.3s;
												transition: all 0.3s;
												-webkit-transform: rotateX(-90deg);
												transform: rotateX(-90deg);
												-webkit-transform-origin: 50% 0;
												transform-origin: 50% 0;
												-webkit-backface-visibility: hidden;
												backface-visibility: hidden;
												  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);-moz-opacity: 0.0;-khtml-opacity: 0.0;opacity: 0.0;


}



.tparrows.preview4:after				{	transform-origin: 100% 100%; -webkit-transform-origin: 100% 100%}
.tp-leftarrow.preview4:after			{	transform-origin: 0% 0%; -webkit-transform-origin: 0% 0%}




@media only screen and (min-width: 768px)  {
		.tparrows.preview4:hover:after				{	-webkit-transform: rotateY(-90deg); transform:rotateY(-90deg)}
		.tp-leftarrow.preview4:hover:after			{	-webkit-transform: rotateY(90deg); transform:rotateY(90deg)}


		.tparrows.preview4:hover .tp-arr-titleholder	{	-webkit-transition-delay: 0.4s;
															transition-delay: 0.4s;
															-webkit-transform: rotateX(0deg);
															transform: rotateX(0deg);
															-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter: alpha(opacity=100);-moz-opacity: 1;-khtml-opacity: 1;opacity: 1;

														}
}

/* PREVIEW 4 BULLETS */

.tp-bullets.preview4 						{ 	height: 17px}
.tp-bullets.preview4 .bullet 				{	cursor: pointer;
											    position: relative !important;
											    background: rgba(0, 0, 0, 0.5) !important;
											    -webkit-border-radius: 10px;
											    border-radius: 10px;
											    -webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
											    width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 0) !important;
											    display: inline-block;
											    margin-right: 2px !important;
											    margin-bottom: 0px !important;
											    -webkit-transition: background-color 0.2s, border-color 0.2s;
											    -moz-transition: background-color 0.2s, border-color 0.2s;
											    -o-transition: background-color 0.2s, border-color 0.2s;
											    -ms-transition: background-color 0.2s, border-color 0.2s;
											    transition: background-color 0.2s, border-color 0.2s;
											    float:none !important;
											    box-sizing:content-box;
												-moz-box-sizing:content-box;
												-webkit-box-sizing:content-box;
}
.tp-bullets.preview4 .bullet.last 			{	margin-right: 0px}
.tp-bullets.preview4 .bullet:hover,
.tp-bullets.preview4 .bullet.selected 		{	-webkit-box-shadow: none;
											    -moz-box-shadow: none;
											    box-shadow: none;
												background: rgba(255, 255, 255, 1) !important;
												width: 6px !important;
											    height: 6px !important;
											    border: 5px solid rgba(0, 0, 0, 1) !important;
}


    @media only screen  and (max-width: 767px) {
   		 .tparrows.preview4 						{	width:20px; height:80px}
   		 .tparrows.preview4:after					{	width:20px; height:80px; line-height:80px; font-size:14px}

   		 .tparrows.preview1 .tp-arr-allwrapper,
   		 .tparrows.preview2 .tp-arr-allwrapper,
   		 .tparrows.preview3 .tp-arr-allwrapper,
   		 .tparrows.preview4 .tp-arr-allwrapper		{	display: none !important}
    }



/******************************
	-	LOADER FORMS	-
********************************/

.tp-loader 	{
				top:50%; left:50%;
				z-index:10000;
				position:absolute;


			}

.tp-loader.spinner0 {
  width: 40px;
  height: 40px;
  background:url(../../skin/frontend/base/default/em/slideshow2/assets/loader.gif) no-repeat center center;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  margin-top:-20px;
  margin-left:-20px;
  -webkit-animation: tp-rotateplane 1.2s infinite ease-in-out;
  animation: tp-rotateplane 1.2s infinite ease-in-out;
  border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}


.tp-loader.spinner1 {
  width: 40px;
  height: 40px;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  margin-top:-20px;
  margin-left:-20px;
  -webkit-animation: tp-rotateplane 1.2s infinite ease-in-out;
  animation: tp-rotateplane 1.2s infinite ease-in-out;
  border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}



.tp-loader.spinner5 	{	background:url(../../skin/frontend/base/default/em/slideshow2/assets/loader.gif) no-repeat 10px 10px;
							background-color:#fff;
							margin:-22px -22px;
							width:44px;height:44px;
							border-radius: 3px;
							-moz-border-radius: 3px;
							-webkit-border-radius: 3px;
						}


@-webkit-keyframes tp-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes tp-rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
  } 50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
  } 100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}


.tp-loader.spinner2 {
  width: 40px;
  height: 40px;
  margin-top:-20px;margin-left:-20px;
  background-color: #ff0000;
   box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  border-radius: 100%;
  -webkit-animation: tp-scaleout 1.0s infinite ease-in-out;
  animation: tp-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes tp-scaleout {
  0% { -webkit-transform: scale(0.0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

@keyframes tp-scaleout {
  0% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 100% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}




.tp-loader.spinner3 {
  margin: -9px 0px 0px -35px;
  width: 70px;
  text-align: center;

}

.tp-loader.spinner3 .bounce1,
.tp-loader.spinner3 .bounce2,
.tp-loader.spinner3 .bounce3 {
  width: 18px;
  height: 18px;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: tp-bouncedelay 1.4s infinite ease-in-out;
  animation: tp-bouncedelay 1.4s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.tp-loader.spinner3 .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.tp-loader.spinner3 .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes tp-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0.0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes tp-bouncedelay {
  0%, 80%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 40% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}




.tp-loader.spinner4 {
  margin: -20px 0px 0px -20px;
  width: 40px;
  height: 40px;
  text-align: center;
  -webkit-animation: tp-rotate 2.0s infinite linear;
  animation: tp-rotate 2.0s infinite linear;
}

.tp-loader.spinner4 .dot1,
.tp-loader.spinner4 .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: tp-bounce 2.0s infinite ease-in-out;
  animation: tp-bounce 2.0s infinite ease-in-out;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
}

.tp-loader.spinner4 .dot2 {
  top: auto;
  bottom: 0px;
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes tp-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes tp-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}

@-webkit-keyframes tp-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes tp-bounce {
  0%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}



.tp-transparentimg {	content:"url(https://mobymemory.com/uk/skin/frontend/base/default/em/slideshow2/assets/transparent.png)"}
.tp-3d				{	-webkit-transform-style: preserve-3d;
						 -webkit-transform-origin: 50% 50%;
					}



.tp-caption img {
background: transparent;
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)";
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
zoom: 1;
}


@font-face {
  font-family: 'revicons';
  src: url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.eot');
  src: url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.eot#iefix') format('embedded-opentype'),
       url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.woff') format('woff'),
       url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.ttf') format('truetype'),
       url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'revicons';
    src: url('../../skin/frontend/base/default/em/slideshow2/font/revicons_5510888.svg') format('svg');
  }
}
*/

 [class^="revicon-"]:before, [class*=" revicon-"]:before {
  font-family: "revicons";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.revicon-search-1:before { content: '\e802'} /* '' */
.revicon-pencil-1:before { content: '\e831'} /* '' */
.revicon-picture-1:before { content: '\e803'} /* '' */
.revicon-cancel:before { content: '\e80a'} /* '' */
.revicon-info-circled:before { content: '\e80f'} /* '' */
.revicon-trash:before { content: '\e801'} /* '' */
.revicon-left-dir:before { content: '\e817'} /* '' */
.revicon-right-dir:before { content: '\e818'} /* '' */
.revicon-down-open:before { content: '\e83b'} /* '' */
.revicon-left-open:before { content: '\e819'} /* '' */
.revicon-right-open:before { content: '\e81a'} /* '' */
.revicon-angle-left:before { content: '\e820'} /* '' */
.revicon-angle-right:before { content: '\e81d'} /* '' */
.revicon-left-big:before { content: '\e81f'} /* '' */
.revicon-right-big:before { content: '\e81e'} /* '' */
.revicon-magic:before { content: '\e807'} /* '' */
.revicon-picture:before { content: '\e800'} /* '' */
.revicon-export:before { content: '\e80b'} /* '' */
.revicon-cog:before { content: '\e832'} /* '' */
.revicon-login:before { content: '\e833'} /* '' */
.revicon-logout:before { content: '\e834'} /* '' */
.revicon-video:before { content: '\e805'} /* '' */
.revicon-arrow-combo:before { content: '\e827'} /* '' */
.revicon-left-open-1:before { content: '\e82a'} /* '' */
.revicon-right-open-1:before { content: '\e82b'} /* '' */
.revicon-left-open-mini:before { content: '\e822'} /* '' */
.revicon-right-open-mini:before { content: '\e823'} /* '' */
.revicon-left-open-big:before { content: '\e824'} /* '' */
.revicon-right-open-big:before { content: '\e825'} /* '' */
.revicon-left:before { content: '\e836'} /* '' */
.revicon-right:before { content: '\e826'} /* '' */
.revicon-ccw:before { content: '\e808'} /* '' */
.revicon-arrows-ccw:before { content: '\e806'} /* '' */
.revicon-palette:before { content: '\e829'} /* '' */
.revicon-list-add:before { content: '\e80c'} /* '' */
.revicon-doc:before { content: '\e809'} /* '' */
.revicon-left-open-outline:before { content: '\e82e'} /* '' */
.revicon-left-open-2:before { content: '\e82c'} /* '' */
.revicon-right-open-outline:before { content: '\e82f'} /* '' */
.revicon-right-open-2:before { content: '\e82d'} /* '' */
.revicon-equalizer:before { content: '\e83a'} /* '' */
.revicon-layers-alt:before { content: '\e804'} /* '' */
.revicon-popup:before { content: '\e828'} /* '' */



/*********************************************
	-	SETTINGS FOR BANNER CONTAINERS	-
**********************************************/
.boxedcontainer		{	max-width: 1170px; margin:auto; padding:0px 30px;}
.tp-banner-container{
	width:100%;
	position:relative;
	padding:0;
}
.tp-banner{
	width:100%;
	position:relative;
}
/*
 * jQuery UI Tabs 1.8.16
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Tabs#theming
 */
.ui-tabs { position: relative; padding: .2em; zoom: 1; overflow:hidden; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav {margin:0;overflow:hidden; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative;  border-bottom: 0 !important; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0;  }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding:0; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
.ui-state-active a{ color:#fff!important; }
.maintitle {
    background: url("../../skin/frontend/default/default/images/catalogextensions/greyboxbg.gif") repeat-x scroll center top transparent;
    border-left: 1px solid #DBDBDB;
    border-radius: 5px 5px 0 0;
    border-right: 1px solid #DBDBDB;
    border-top: 1px solid #DBDBDB;
    color: #3A3A3A;
    float: none;
    font-size: 14px;
    height: 29px;
    padding: 6px 10px 0;
    clear: both;
}

.titlemain {
    color: #3A3A3A;
    float: left;
    font-size: 14px;
    font-weight: bold;
}

.viewall {
    float: right;
}

.viewall a {
    color: #5C5C5C;
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;
}


.products-grid li.item {
    float: left;
    padding-bottom: 80px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 12px;
    width: 138px;
}

/*.std .category-products ul.products-grid, .std .category-products ol.products-grid {
    width: 634px;
}*/

.std .category-products ul, .std .category-products ol {
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
	padding: 0px;
	margin: 0px;
}

/*.maintitle {
    width: 634px;
}*/

.clear:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

/* no need to hide from IE5 Mac as its filtered out anyway */
.clear {display:inline-block; clear:both; width:100%;}
.social_buttons {  }
.social_buttons div { float:left; }

.social_buttons .facebookContainer	{ position:relative; }
.social_buttons .twitterContainer	{ position:relative; }
.social_buttons .gPlusContainer		{ position:relative; }
.social_buttons .pinterestContainer 	{ position:relative; }

.withoutcount .facebookContainer	{ margin:6px 4px; direction: ltr; vertical-align: text-bottom; }
.withoutcount .twitterContainer	{ margin: 6px 5px; }
.withoutcount .gPlusContainer	{ margin: 4px 5px; }
.withoutcount .pinterestContainer  { margin:6px 5px;; }

.withcount .twitterContainer	{ margin-left: 10px; }

.clearfix { clear:both; }