html.lb-disable-scrolling {
	overflow: hidden;
	position: fixed;
	height: 100vh;
	width: 100vw;
}

.lightboxOverlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	background-color: #0e1750;
	opacity: 0.9;
	display: none;
}

.lightbox {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 100;
	text-align: center;
	line-height: 0;
	font-weight: 400;
}
.lightbox .lb-image {
	display: block;
	height: auto;
	max-width: inherit;
	max-height: none;
}
@media (max-width: 767.98px) {
	.lightbox .lb-image {
		max-width: 80vw;
	}
}
.lightbox a img {
	border: none;
}

.lb-outerContainer {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	width: 250px;
	height: 250px;
	margin: 0 auto;
	border-radius: 4px;
	background-color: #fff;
}
.lb-outerContainer::after {
	content: "";
	display: block;
	clear: both;
}

.lb-loader {
	position: absolute;
	top: 43%;
	left: 0;
	height: 25%;
	width: 100%;
	text-align: center;
	line-height: 0;
}

.lb-cancel {
	display: block;
	width: 32px;
	height: 32px;
	margin: 0 auto;
	background: url("../../img/lightbox/loading.gif") no-repeat;
}

.lb-nav {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
}
.lb-nav a {
	outline: none;
	background-image: url("data:image/gifbase64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
}
.lb-nav a.lb-prev, .lb-nav a.lb-next {
	height: 100%;
	cursor: pointer;
	display: block;
	opacity: 0.4;
	-webkit-transition: opacity 0.6s;
	-o-transition: opacity 0.6s;
	transition: opacity 0.6s;
}
.lb-nav a.lb-prev {
	width: 34%;
	left: 0;
	float: left;
	background: url("../../img/lightbox/prev.png") left 48% no-repeat;
}
.lb-nav a.lb-prev:hover {
	opacity: 1;
}
.lb-nav a.lb-next {
	width: 64%;
	right: 0;
	float: right;
	background: url("../../img/lightbox/next.png") right 48% no-repeat;
}
.lb-nav a.lb-next:hover {
	opacity: 1;
}

.lb-container > .nav {
	left: 0;
}

.lb-dataContainer {
	position: absolute;
	bottom: -37px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: calc(100% - 160px) !important;
}

.lb-data {
	color: #ccc;
}
.lb-data .lb-details {
	width: 100%;
	text-align: right;
	line-height: 1.1em;
}
.lb-data .lb-caption {
	font-size: 13px;
	font-weight: 700;
	line-height: 1em;
}
.lb-data .lb-caption a {
	color: #4ae;
}
.lb-data .lb-number {
	text-align: center;
	display: block;
	clear: left;
	padding-bottom: 1em;
	font-size: 12px;
	color: #999999;
}

.lb-close {
	position: absolute;
	z-index: 10;
	top: 42px;
	right: 42px;
	display: block;
	width: 48px;
	height: 48px;
	background: url("../../img/icon/close.svg") top right no-repeat;
	text-align: right;
	outline: none;
	opacity: 0.9;
	-webkit-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
.lb-close:hover {
	cursor: pointer;
	opacity: 1;
}

@media (max-width: 767.98px) {
	.lb-nav a.lb-prev {
		background: url("../../img/lightbox/prev-xs.png") left 48% no-repeat;
	}
	.lb-nav a.lb-next {
		background: url("../../img/lightbox/next-xs.png") right 48% no-repeat;
	}

	.lb-close {
		top: 20px;
		right: 20px;
	}
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYnMvbGlnaHRib3guc2NzcyIsImxpYnMvbGlnaHRib3guY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3Mtc25pcHBldHMvc2Nzcy9fbWl4aW5zL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3Mtc25pcHBldHMvc2Nzcy9fbWl4aW5zL19jbGVhcmZpeC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0NBQ0MsZ0JBQUE7Q0FDQSxlQUFBO0NBQ0EsYUFBQTtDQUNBLFlBQUE7QUNERDs7QURJQTtDQUNDLGtCQUFBO0NBQ0EsTUFBQTtDQUNBLE9BQUE7Q0FDQSxXQUFBO0NBQ0EseUJBQUE7Q0FDQSxZQUFBO0NBQ0EsYUFBQTtBQ0REOztBRElBO0NBQ0Msa0JBQUE7Q0FDQSxPQUFBO0NBQ0EsV0FBQTtDQUNBLGFBQUE7Q0FDQSxZQUFBO0NBQ0Esa0JBQUE7Q0FDQSxjQUFBO0NBQ0EsZ0JBQUE7QUNERDtBREdDO0NBQ0MsY0FBQTtDQUNBLFlBQUE7Q0FDQSxrQkFBQTtDQUNBLGdCQUFBO0FDREY7QUNsQlE7Q0ZlUDtFQU9FLGVBQUE7Q0NBRjtBQUNEO0FER0M7Q0FDQyxZQUFBO0FDREY7O0FES0E7Q0FDQyxrQkFBQTtDQUNBLFFBQUE7Q0FDQSxTQUFBO0NBQ0Esd0NBQUE7S0FBQSxvQ0FBQTtTQUFBLGdDQUFBO0NBQ0EsWUFBQTtDQUNBLGFBQUE7Q0FDQSxjQUFBO0NBQ0Esa0JBQUE7Q0FDQSxzQkFBQTtBQ0ZEO0FFaERFO0NBQ0UsV0FBQTtDQUNBLGNBQUE7Q0FDQSxXQUFBO0FGa0RKOztBREVBO0NBQ0Msa0JBQUE7Q0FDQSxRQUFBO0NBQ0EsT0FBQTtDQUNBLFdBQUE7Q0FDQSxXQUFBO0NBQ0Esa0JBQUE7Q0FDQSxjQUFBO0FDQ0Q7O0FERUE7Q0FDQyxjQUFBO0NBQ0EsV0FBQTtDQUNBLFlBQUE7Q0FDQSxjQUFBO0NBQ0EsMkRBQUE7QUNDRDs7QURFQTtDQUNDLGtCQUFBO0NBQ0EsTUFBQTtDQUNBLE9BQUE7Q0FDQSxZQUFBO0NBQ0EsV0FBQTtDQUNBLFdBQUE7QUNDRDtBRENDO0NBQ0MsYUFBQTtDQUNBLDBHQUFBO0FDQ0Y7QURDRTtDQUVDLFlBQUE7Q0FDQSxlQUFBO0NBQ0EsY0FBQTtDQUNBLFlBQUE7Q0FDQSxnQ0FBQTtDQUFBLDJCQUFBO0NBQUEsd0JBQUE7QUNBSDtBREdFO0NBQ0MsVUFBQTtDQUNBLE9BQUE7Q0FDQSxXQUFBO0NBQ0EsaUVBQUE7QUNESDtBREdHO0NBQ0MsVUFBQTtBQ0RKO0FES0U7Q0FDQyxVQUFBO0NBQ0EsUUFBQTtDQUNBLFlBQUE7Q0FDQSxrRUFBQTtBQ0hIO0FES0c7Q0FDQyxVQUFBO0FDSEo7O0FEU0E7Q0FDQyxPQUFBO0FDTkQ7O0FEU0E7Q0FDQyxrQkFBQTtDQUNBLGFBQUE7Q0FDQSxTQUFBO0NBQ0EsbUNBQUE7S0FBQSwrQkFBQTtTQUFBLDJCQUFBO0NBQ0Esb0NBQUE7QUNORDs7QURTQTtDQUNDLFdBQUE7QUNORDtBRFFDO0NBQ0MsV0FBQTtDQUNBLGlCQUFBO0NBQ0Esa0JBQUE7QUNORjtBRFNDO0NBQ0MsZUFBQTtDQUNBLGdCQUFBO0NBQ0EsZ0JBQUE7QUNQRjtBRFNFO0NBQ0MsV0FBQTtBQ1BIO0FEV0M7Q0FDQyxrQkFBQTtDQUNBLGNBQUE7Q0FDQSxXQUFBO0NBQ0EsbUJBQUE7Q0FDQSxlQUFBO0NBQ0EsY0FBQTtBQ1RGOztBRGFBO0NBQ0Msa0JBQUE7Q0FDQSxXQUFBO0NBQ0EsU0FBQTtDQUNBLFdBQUE7Q0FDQSxjQUFBO0NBQ0EsV0FBQTtDQUNBLFlBQUE7Q0FDQSwrREFBQTtDQUNBLGlCQUFBO0NBQ0EsYUFBQTtDQUNBLFlBQUE7Q0FDQSxnQ0FBQTtDQUFBLDJCQUFBO0NBQUEsd0JBQUE7QUNWRDtBRFlDO0NBQ0MsZUFBQTtDQUNBLFVBQUE7QUNWRjs7QUMzSlE7Q0YyS047RUFDQyxvRUFBQTtDQ1pGO0NEZUM7RUFDQyxxRUFBQTtDQ2JGOztDRGlCQTtFQUNDLFNBQUE7RUFDQSxXQUFBO0NDZEQ7QUFDRCIsImZpbGUiOiJsaWJzL2xpZ2h0Ym94LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi92YXJzXCI7XG5cbmh0bWwubGItZGlzYWJsZS1zY3JvbGxpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGhlaWdodDogMTAwdmg7XG5cdHdpZHRoOiAxMDB2dztcbn1cblxuLmxpZ2h0Ym94T3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiA5OTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cdG9wYWNpdHk6IDAuOTtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmxpZ2h0Ym94IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDB2aDtcblx0ei1pbmRleDogMTAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRmb250LXdlaWdodDogNDAwO1xuXG5cdC5sYi1pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogaW5oZXJpdDtcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoeHMpIHtcblx0XHRcdG1heC13aWR0aDogODB2dztcblx0XHR9XG5cdH1cblxuXHRhIGltZyB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG59XG5cbi5sYi1vdXRlckNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHdpZHRoOiAyNTBweDtcblx0aGVpZ2h0OiAyNTBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmxiLWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0MyU7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMjUlO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMDtcbn1cblxuLmxiLWNhbmNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0YmFja2dyb3VuZDogdXJsKFwiI3skdXJsLWltZy1saWJzfS9saWdodGJveC9sb2FkaW5nLmdpZlwiKSBuby1yZXBlYXQ7XG59XG5cbi5sYi1uYXYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cblx0YSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZmJhc2U2NCxSMGxHT0RsaEFRQUJBUEFBQVAvLy93QUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT1cIik7XG5cblx0XHQmLmxiLXByZXYsXG5cdFx0Ji5sYi1uZXh0IHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0b3BhY2l0eTogMC40O1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuXHRcdH1cblxuXHRcdCYubGItcHJldiB7XG5cdFx0XHR3aWR0aDogMzQlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKFwiI3skdXJsLWltZy1saWJzfS9saWdodGJveC9wcmV2LnBuZ1wiKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubGItbmV4dCB7XG5cdFx0XHR3aWR0aDogNjQlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyR1cmwtaW1nLWxpYnN9L2xpZ2h0Ym94L25leHQucG5nXCIpIHJpZ2h0IDQ4JSBuby1yZXBlYXQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubGItY29udGFpbmVyID4gLm5hdiB7XG5cdGxlZnQ6IDA7XG59XG5cbi5sYi1kYXRhQ29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0zN3B4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KSAhaW1wb3J0YW50O1xufVxuXG4ubGItZGF0YSB7XG5cdGNvbG9yOiAjY2NjO1xuXG5cdC5sYi1kZXRhaWxzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRsaW5lLWhlaWdodDogMS4xZW07XG5cdH1cblxuXHQubGItY2FwdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDFlbTtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICM0YWU7XG5cdFx0fVxuXHR9XG5cblx0LmxiLW51bWJlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBsZWZ0O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGNvbG9yOiAjOTk5OTk5O1xuXHR9XG59XG5cbi5sYi1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTA7XG5cdHRvcDogNDJweDtcblx0cmlnaHQ6IDQycHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNDhweDtcblx0aGVpZ2h0OiA0OHB4O1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyR1cmwtaW1nLWxpYnN9L2ljb24vY2xvc2Uuc3ZnXCIpIHRvcCByaWdodCBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRvdXRsaW5lOiBub25lO1xuXHRvcGFjaXR5OiAwLjk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblxuXHQmOmhvdmVyIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5AaW5jbHVkZSBtZWRpYSh4cykge1xuXHQubGItbmF2IGEge1xuXHRcdCYubGItcHJldiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyR1cmwtaW1nLWxpYnN9L2xpZ2h0Ym94L3ByZXYteHMucG5nXCIpIGxlZnQgNDglIG5vLXJlcGVhdDtcblx0XHR9XG5cblx0XHQmLmxiLW5leHQge1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKFwiI3skdXJsLWltZy1saWJzfS9saWdodGJveC9uZXh0LXhzLnBuZ1wiKSByaWdodCA0OCUgbm8tcmVwZWF0O1xuXHRcdH1cblx0fVxuXG5cdC5sYi1jbG9zZSB7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHR9XG59XG4iLCJodG1sLmxiLWRpc2FibGUtc2Nyb2xsaW5nIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHR3aWR0aDogMTAwdnc7XG59XG5cbi5saWdodGJveE92ZXJsYXkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogOTk7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwZTE3NTA7XG5cdG9wYWNpdHk6IDAuOTtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmxpZ2h0Ym94IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDB2aDtcblx0ei1pbmRleDogMTAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogaW5oZXJpdDtcblx0bWF4LWhlaWdodDogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuXHQubGlnaHRib3ggLmxiLWltYWdlIHtcblx0XHRtYXgtd2lkdGg6IDgwdnc7XG5cdH1cbn1cbi5saWdodGJveCBhIGltZyB7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLmxiLW91dGVyQ29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0d2lkdGg6IDI1MHB4O1xuXHRoZWlnaHQ6IDI1MHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmxiLW91dGVyQ29udGFpbmVyOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcbn1cblxuLmxiLWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0MyU7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMjUlO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMDtcbn1cblxuLmxiLWNhbmNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2xpZ2h0Ym94L2xvYWRpbmcuZ2lmXCIpIG5vLXJlcGVhdDtcbn1cblxuLmxiLW5hdiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcbn1cbi5sYi1uYXYgYSB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvZ2lmYmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PVwiKTtcbn1cbi5sYi1uYXYgYS5sYi1wcmV2LCAubGItbmF2IGEubGItbmV4dCB7XG5cdGhlaWdodDogMTAwJTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3BhY2l0eTogMC40O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG59XG4ubGItbmF2IGEubGItcHJldiB7XG5cdHdpZHRoOiAzNCU7XG5cdGxlZnQ6IDA7XG5cdGZsb2F0OiBsZWZ0O1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvbGlnaHRib3gvcHJldi5wbmdcIikgbGVmdCA0OCUgbm8tcmVwZWF0O1xufVxuLmxiLW5hdiBhLmxiLXByZXY6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuLmxiLW5hdiBhLmxiLW5leHQge1xuXHR3aWR0aDogNjQlO1xuXHRyaWdodDogMDtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvbGlnaHRib3gvbmV4dC5wbmdcIikgcmlnaHQgNDglIG5vLXJlcGVhdDtcbn1cbi5sYi1uYXYgYS5sYi1uZXh0OmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLmxiLWNvbnRhaW5lciA+IC5uYXYge1xuXHRsZWZ0OiAwO1xufVxuXG4ubGItZGF0YUNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAtMzdweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCkgIWltcG9ydGFudDtcbn1cblxuLmxiLWRhdGEge1xuXHRjb2xvcjogI2NjYztcbn1cbi5sYi1kYXRhIC5sYi1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRsaW5lLWhlaWdodDogMS4xZW07XG59XG4ubGItZGF0YSAubGItY2FwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGluZS1oZWlnaHQ6IDFlbTtcbn1cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIGEge1xuXHRjb2xvcjogIzRhZTtcbn1cbi5sYi1kYXRhIC5sYi1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogbGVmdDtcblx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogIzk5OTk5OTtcbn1cblxuLmxiLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcblx0dG9wOiA0MnB4O1xuXHRyaWdodDogNDJweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9pY29uL2Nsb3NlLnN2Z1wiKSB0b3AgcmlnaHQgbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0b3V0bGluZTogbm9uZTtcblx0b3BhY2l0eTogMC45O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG4ubGItY2xvc2U6aG92ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuXHQubGItbmF2IGEubGItcHJldiB7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2xpZ2h0Ym94L3ByZXYteHMucG5nXCIpIGxlZnQgNDglIG5vLXJlcGVhdDtcblx0fVxuXHQubGItbmF2IGEubGItbmV4dCB7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2xpZ2h0Ym94L25leHQteHMucG5nXCIpIHJpZ2h0IDQ4JSBuby1yZXBlYXQ7XG5cdH1cblxuXHQubGItY2xvc2Uge1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjBweDtcblx0fVxufSIsIi8vLyDQoNCw0LfQstC+0YDQsNGH0LjQstCw0L3QuNC1INC80LXQtNC40LAg0LfQsNC/0YDQvtGB0LAg0LTQu9GPINGI0LjRgNC40L3RiyDRjdC60YDQsNC90LAg0LzQtdC90YzRiNC1INGD0LrQsNC30LDQvdC90L7Qs9C+XG4vLy8gQGdyb3VwIG1lZGlhXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRicCAtIEJyZWFrcG9pbnQg0YjQuNGA0LjQvdGLINGN0LrRgNCw0L3QsCAo0LrQu9GO0Ycg0LjQtyDQs9C70L7QsdCw0LvRjNC90L7Qs9C+INC+0LHRitC10LrRgtCwKVxuLy8vIEBwYXJhbSB7bnVsbCB8IHN0cmluZ30gJGN1cnJlbnQtb3JpZW50YXRpb24gW251bGxdIC0g0J7RgNC40LXQvdGC0LDRhtC40Y8g0Y3QutGA0LDQvdCwICjQvdC1INC+0LHRj9C30LDRgtC10LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAKVxuLy8vIEBleGFtcGxlXG4vLy8gK21lZGlhKG1kKSAvLyBAbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7IC4uLiB9XG4vLy8gK21lZGlhKHhzLCBwKSAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC4uLiB9XG5cbkBtaXhpbiBtZWRpYSgkYnAsICRjdXJyZW50LW9yaWVudGF0aW9uOiBudWxsKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICRtYXg6IF9icmVha3BvaW50LW1heCgkYnApO1xuXG4gICAgQGlmICRtYXgge1xuICAgICAgQGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IG51bGwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IHBvcnRyYWl0IG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IHAge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBudWxsIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IHBvcnRyYWl0IG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IHAge1xuICAgICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IGxhbmRzY2FwZSBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsIHtcbiAgICAgICAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJVbmZvcnR1bmF0ZWx5LCBubyB2YWx1ZSBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSBgI3skYnB9YC4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzIGFyZTogI3ttYXAta2V5cygkYnJlYWtwb2ludHMpfS5cIjtcbiAgfVxufVxuXG4vLy8g0KDQsNC30LLQvtGA0LDRh9C40LLQsNC90LjQtSDQvNC10LTQuNCwINC30LDQv9GA0L7RgdCwINC00LvRjyDRiNC40YDQuNC90Ysg0Y3QutGA0LDQvdCwINCx0L7Qu9GM0YjQtSDRg9C60LDQt9Cw0L3QvdC+0LPQvlxuLy8vIEBncm91cCBtZWRpYVxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYnAgLSBCcmVha3BvaW50INGI0LjRgNC40L3RiyDRjdC60YDQsNC90LAgKNC60LvRjtGHINC40Lcg0LPQu9C+0LHQsNC70YzQvdC+0LPQviDQvtCx0YrQtdC60YLQsClcbi8vLyBAcGFyYW0ge251bGwgfCBzdHJpbmd9ICRjdXJyZW50LW9yaWVudGF0aW9uIFtudWxsXSAtINCe0YDQuNC10L3RgtCw0YbQuNGPINGN0LrRgNCw0L3QsCAo0L3QtSDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgClcbi8vLyBAZXhhbXBsZVxuLy8vICttZWRpYS11cChsZykgLy8gQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgeyAuLi4gfVxuLy8vICttZWRpYS11cChzbSwgbCkgLy8gQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgLi4uIH1cblxuQG1peGluIG1lZGlhLXVwKCRicCwgJGN1cnJlbnQtb3JpZW50YXRpb246IG51bGwpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgJG1pbjogX2JyZWFrcG9pbnQtbWluKCRicCk7XG5cbiAgICBAaWYgJG1pbiB7XG4gICAgICBAaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbnVsbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcG9ydHJhaXQgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IGxhbmRzY2FwZSBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IG51bGwge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcG9ydHJhaXQgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcCB7XG4gICAgICAgIEBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbGFuZHNjYXBlIG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IGwge1xuICAgICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIlVuZm9ydHVuYXRlbHksIG5vIHZhbHVlIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGAjeyRicH1gLiBBdmFpbGFibGUgYnJlYWtwb2ludHMgYXJlOiAje21hcC1rZXlzKCRicmVha3BvaW50cyl9LlwiO1xuICB9XG59XG5cbi8vLyDQoNCw0LfQstC+0YDQsNGH0LjQstCw0L3QuNC1INC80LXQtNC40LAg0LfQsNC/0YDQvtGB0LAg0LTQu9GPINGI0LjRgNC40L3RiyDRjdC60YDQsNC90LAg0LIg0L/RgNC10LTQtdC70LDRhSBcItC+0YJcIiDQuCBcItC00L5cIlxuLy8vIEBncm91cCBtZWRpYVxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbG93ZXIgLSBCcmVha3BvaW50INGI0LjRgNC40L3RiyDRjdC60YDQsNC90LAg0LTQu9GPINC90LjQttC90LXQuSDRgtC+0YfQutC4IFwi0L7RglwiICjQutC70Y7RhyDQuNC3INCz0LvQvtCx0LDQu9GM0L3QvtCz0L4g0L7QsdGK0LXQutGC0LApXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR1cHBlciAtIEJyZWFrcG9pbnQg0YjQuNGA0LjQvdGLINGN0LrRgNCw0L3QsCDQtNC70Y8g0LLQtdGA0YXQvdC10Lkg0YLQvtGH0LrQuCBcItC00L5cIiAo0LrQu9GO0Ycg0LjQtyDQs9C70L7QsdCw0LvRjNC90L7Qs9C+INC+0LHRitC10LrRgtCwKVxuLy8vIEBwYXJhbSB7bnVsbCB8IHN0cmluZ30gJGN1cnJlbnQtb3JpZW50YXRpb24gW251bGxdIC0g0J7RgNC40LXQvdGC0LDRhtC40Y8g0Y3QutGA0LDQvdCwICjQvdC1INC+0LHRj9C30LDRgtC10LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAKVxuLy8vIEBleGFtcGxlXG4vLy8gK21lZGlhLWJldHdlZW4oc20sIG1kKSAvLyBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHsgLi4uIH1cbi8vLyArbWVkaWEtYmV0d2VlbihzbSwgbWQsIGwpIC8vIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7IC4uLiB9XG5cbkBtaXhpbiBtZWRpYS1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkY3VycmVudC1vcmllbnRhdGlvbjogbnVsbCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbG93ZXIpIGFuZCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR1cHBlcikge1xuICAgICRtaW46IF9icmVha3BvaW50LW1pbigkbG93ZXIpO1xuICAgICRtYXg6IF9icmVha3BvaW50LW1heCgkdXBwZXIpO1xuXG4gICAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICAgIEBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBudWxsIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcG9ydHJhaXQgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgICAgQGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCgkbG93ZXIpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBwb3J0cmFpdCBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAoJGxvd2VyLCBwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbGFuZHNjYXBlIG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IGwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCgkbG93ZXIsIGwpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgICBAaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR1cHBlcikge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IHBvcnRyYWl0IG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IHAge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdXBwZXIsIHApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR1cHBlciwgbCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gdmFsdWUgY291bGQgYmUgcmV0cmlldmVkIGZyb20gYCN7JGxvd2VyfWAgb3IgYCN7JHVwcGVyfWAuIEF2YWlsYWJsZSBicmVha3BvaW50cyBhcmU6ICN7bWFwLWtleXMoJGJyZWFrcG9pbnRzKX0uXCI7XG4gIH1cbn1cblxuLy8vINCg0LDQt9Cy0L7RgNCw0YfQuNCy0LDQvdC40LUg0LzQtdC00LjQsCDQt9Cw0L/RgNC+0YHQsCDQtNC70Y8g0YjQuNGA0LjQvdGLINGN0LrRgNCw0L3QsCDQsiDQv9GA0LXQtNC10LvQsNGFINC+0LTQvdC+0LPQviBicmVha3BvaW50J2Fcbi8vLyBAZ3JvdXAgbWVkaWFcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJwIC0gQnJlYWtwb2ludCDRiNC40YDQuNC90Ysg0Y3QutGA0LDQvdCwICjQutC70Y7RhyDQuNC3INCz0LvQvtCx0LDQu9GM0L3QvtCz0L4g0L7QsdGK0LXQutGC0LApXG4vLy8gQHBhcmFtIHtudWxsIHwgc3RyaW5nfSAkY3VycmVudC1vcmllbnRhdGlvbiBbbnVsbF0gLSDQntGA0LjQtdC90YLQsNGG0LjRjyDRjdC60YDQsNC90LAgKNC90LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YApXG4vLy8gQGV4YW1wbGVcbi8vLyArbWVkaWEtb25seShzbSkgLy8gQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHsgLi4uIH1cbi8vLyArbWVkaWEtb25seShzbSwgcCkgLy8gQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC4uLiB9XG5cbkBtaXhpbiBtZWRpYS1vbmx5KCRicCwgJGN1cnJlbnQtb3JpZW50YXRpb246IG51bGwpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgJG1pbjogX2JyZWFrcG9pbnQtbWluKCRicCk7XG4gICAgJG1heDogX2JyZWFrcG9pbnQtbWF4KCRicCk7XG5cbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgICAgQGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IG51bGwge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBwb3J0cmFpdCBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBwIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IGxhbmRzY2FwZSBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgICBAaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKCRicCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IHBvcnRyYWl0IG9yICRjdXJyZW50LW9yaWVudGF0aW9uID09IHAge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCgkYnAsIHApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKCRicCwgbCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICAgIEBpZiAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBudWxsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcG9ydHJhaXQgb3IgJGN1cnJlbnQtb3JpZW50YXRpb24gPT0gcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicCwgcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRjdXJyZW50LW9yaWVudGF0aW9uID09IGxhbmRzY2FwZSBvciAkY3VycmVudC1vcmllbnRhdGlvbiA9PSBsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJwLCBsKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJVbmZvcnR1bmF0ZWx5LCBubyB2YWx1ZSBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSBgI3skYnB9YC4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzIGFyZTogI3ttYXAta2V5cygkYnJlYWtwb2ludHMpfS5cIjtcbiAgfVxufVxuIiwiLy8vINCU0L7QsdCw0LLQu9C10L3QuNC1INC/0YHQtdCy0LTQvtGN0LvQtdC80LXQvdGC0LAgYWZ0ZXIg0YEg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCDQv9GA0L7RgtC40LIg0YHRhdC70L7Qv9GL0LLQsNC90LjRj1xuLy8vIEBncm91cCBoZWxwZXJzXG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIl19 */
