/*-----------------------------------------------------------------------------
WallBee Override
----------------------------------*/
/*color Scheme*/
/*(@line-height-computed + (@padding-base-vertical * 2) + 2);*/
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
/*
 * jQuery UI Bootstrap v1.0 Alpha (Mixins)
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT.
 */
.ui-btn-lg {
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.3333333;
  border-radius: 0px;
}
.ui-btn-xs {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 0px;
}
.ui-btn-sm {
  padding: 1px 5px;
}
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}
.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}
.ui-helper-clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.ui-helper-clearfix {
  /*display: inline-block; */
  display: block;
  min-height: 0;
  /* support: IE7 */
}
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix {
  height: 1%;
}
/* end clearfix */
.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: alpha(opacity=0);
}
.ui-front {
  z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI CSS Framework 1.10.3
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
/* Component containers
----------------------------------*/
.ui-widget {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
}
.ui-widget .ui-widget {
  font-size: 13px;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: inherit;
}
.ui-widget-content {
  border: 1px solid #dddddd;
  background: #f4f4f4 url("../jq_img/ui-bg_glass_75_ffffff_1x400.png") 50% 50% repeat-x;
  color: #333333;
}
.ui-widget-header {
  font-weight: bold;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.ui-widget-header a {
  color: #222222;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  color: #333333;
  background-color: #fff;
  font-weight: normal;
  border: 1px solid #cccccc;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #555555;
  text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  color: #333333;
  background-color: #ebebeb;
  border-color: #adadad;
  text-decoration: none;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
  color: #333333;
  text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: 1px solid #adadad;
  font-weight: normal;
  color: #333333;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #333333;
  text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-state-error,
.ui-state-default {
  border-width: 1px;
  border-style: solid;
}
.ui-state-highlight p,
.ui-state-error p,
.ui-state-default p {
  font-size: 13px;
  font-weight: normal;
  line-height: 18px;
  margin: 7px 15px;
}
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #2d6987;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #953b39;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #953b39;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: 0.7;
  filter: alpha(opacity=70);
  font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  filter: alpha(opacity=35);
  background-image: none;
}
.ui-state-disabled .ui-icon {
  opacity: 0.35;
  filter: alpha(opacity=35);
  /* For IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
  background-image: url("../jq_img/ui-icons_222222_256x240.png");
}
.ui-widget-content .ui-icon {
  background-image: url("../jq_img/ui-icons_222222_256x240.png");
}
.ui-widget-header .ui-icon {
  background-image: url("../jq_img/ui-icons_222222_256x240.png");
}
.ui-state-default .ui-icon {
  background-image: url("../jq_img/ui-icons_999999_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
  background-image: url("../jq_img/ui-icons_555555_256x240.png");
}
.ui-state-active .ui-icon {
  background-image: url("../jq_img/ui-icons_555555_256x240.png");
}
.ui-state-highlight .ui-icon {
  background-image: url("../jq_img/ui-icons_428bca_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("../jq_img/ui-icons_f0ad4e_256x240.png");
}
/* positioning */
.ui-icon-carat-1-n {
  background-position: 0 0;
}
.ui-icon-carat-1-ne {
  background-position: -16px 0;
}
.ui-icon-carat-1-e {
  background-position: -32px 0;
}
.ui-icon-carat-1-se {
  background-position: -48px 0;
}
.ui-icon-carat-1-s {
  background-position: -64px 0;
}
.ui-icon-carat-1-sw {
  background-position: -80px 0;
}
.ui-icon-carat-1-w {
  background-position: -96px 0;
}
.ui-icon-carat-1-nw {
  background-position: -112px 0;
}
.ui-icon-carat-2-n-s {
  background-position: -128px 0;
}
.ui-icon-carat-2-e-w {
  background-position: -144px 0;
}
.ui-icon-triangle-1-n {
  background-position: 0 -16px;
}
.ui-icon-triangle-1-ne {
  background-position: -16px -16px;
}
.ui-icon-triangle-1-e {
  background-position: -32px -16px;
}
.ui-icon-triangle-1-se {
  background-position: -48px -16px;
}
.ui-icon-triangle-1-s {
  background-position: -64px -16px;
}
.ui-icon-triangle-1-sw {
  background-position: -80px -16px;
}
.ui-icon-triangle-1-w {
  background-position: -96px -16px;
}
.ui-icon-triangle-1-nw {
  background-position: -112px -16px;
}
.ui-icon-triangle-2-n-s {
  background-position: -128px -16px;
}
.ui-icon-triangle-2-e-w {
  background-position: -144px -16px;
}
.ui-icon-arrow-1-n {
  background-position: 0 -32px;
}
.ui-icon-arrow-1-ne {
  background-position: -16px -32px;
}
.ui-icon-arrow-1-e {
  background-position: -32px -32px;
}
.ui-icon-arrow-1-se {
  background-position: -48px -32px;
}
.ui-icon-arrow-1-s {
  background-position: -64px -32px;
}
.ui-icon-arrow-1-sw {
  background-position: -80px -32px;
}
.ui-icon-arrow-1-w {
  background-position: -96px -32px;
}
.ui-icon-arrow-1-nw {
  background-position: -112px -32px;
}
.ui-icon-arrow-2-n-s {
  background-position: -128px -32px;
}
.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px;
}
.ui-icon-arrow-2-e-w {
  background-position: -160px -32px;
}
.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px;
}
.ui-icon-arrowstop-1-n {
  background-position: -192px -32px;
}
.ui-icon-arrowstop-1-e {
  background-position: -208px -32px;
}
.ui-icon-arrowstop-1-s {
  background-position: -224px -32px;
}
.ui-icon-arrowstop-1-w {
  background-position: -240px -32px;
}
.ui-icon-arrowthick-1-n {
  background-position: 0 -48px;
}
.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px;
}
.ui-icon-arrowthick-1-e {
  background-position: -32px -48px;
}
.ui-icon-arrowthick-1-se {
  background-position: -48px -48px;
}
.ui-icon-arrowthick-1-s {
  background-position: -64px -48px;
}
.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px;
}
.ui-icon-arrowthick-1-w {
  background-position: -96px -48px;
}
.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px;
}
.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px;
}
.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px;
}
.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px;
}
.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px;
}
.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px;
}
.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px;
}
.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px;
}
.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px;
}
.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px;
}
.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px;
}
.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px;
}
.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px;
}
.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px;
}
.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px;
}
.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px;
}
.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px;
}
.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px;
}
.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px;
}
.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px;
}
.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px;
}
.ui-icon-arrow-4 {
  background-position: 0 -80px;
}
.ui-icon-arrow-4-diag {
  background-position: -16px -80px;
}
.ui-icon-extlink {
  background-position: -32px -80px;
}
.ui-icon-newwin {
  background-position: -48px -80px;
}
.ui-icon-refresh {
  background-position: -64px -80px;
}
.ui-icon-shuffle {
  background-position: -80px -80px;
}
.ui-icon-transfer-e-w {
  background-position: -96px -80px;
}
.ui-icon-transferthick-e-w {
  background-position: -112px -80px;
}
.ui-icon-folder-collapsed {
  background-position: 0 -96px;
}
.ui-icon-folder-open {
  background-position: -16px -96px;
}
.ui-icon-document {
  background-position: -32px -96px;
}
.ui-icon-document-b {
  background-position: -48px -96px;
}
.ui-icon-note {
  background-position: -64px -96px;
}
.ui-icon-mail-closed {
  background-position: -80px -96px;
}
.ui-icon-mail-open {
  background-position: -96px -96px;
}
.ui-icon-suitcase {
  background-position: -112px -96px;
}
.ui-icon-comment {
  background-position: -128px -96px;
}
.ui-icon-person {
  background-position: -144px -96px;
}
.ui-icon-print {
  background-position: -160px -96px;
}
.ui-icon-trash {
  background-position: -176px -96px;
}
.ui-icon-locked {
  background-position: -192px -96px;
}
.ui-icon-unlocked {
  background-position: -208px -96px;
}
.ui-icon-bookmark {
  background-position: -224px -96px;
}
.ui-icon-tag {
  background-position: -240px -96px;
}
.ui-icon-home {
  background-position: 0 -112px;
}
.ui-icon-flag {
  background-position: -16px -112px;
}
.ui-icon-calendar {
  background-position: -32px -112px;
}
.ui-icon-cart {
  background-position: -48px -112px;
}
.ui-icon-pencil {
  background-position: -64px -112px;
}
.ui-icon-clock {
  background-position: -80px -112px;
}
.ui-icon-disk {
  background-position: -96px -112px;
}
.ui-icon-calculator {
  background-position: -112px -112px;
}
.ui-icon-zoomin {
  background-position: -128px -112px;
}
.ui-icon-zoomout {
  background-position: -144px -112px;
}
.ui-icon-search {
  background-position: -160px -112px;
}
.ui-icon-wrench {
  background-position: -176px -112px;
}
.ui-icon-gear {
  background-position: -192px -112px;
}
.ui-icon-heart {
  background-position: -208px -112px;
}
.ui-icon-star {
  background-position: -224px -112px;
}
.ui-icon-link {
  background-position: -240px -112px;
}
.ui-icon-cancel {
  background-position: 0 -128px;
}
.ui-icon-plus {
  background-position: -16px -128px;
}
.ui-icon-plusthick {
  background-position: -32px -128px;
}
.ui-icon-minus {
  background-position: -48px -128px;
}
.ui-icon-minusthick {
  background-position: -64px -128px;
}
.ui-icon-close {
  background-position: -80px -128px;
}
.ui-icon-closethick {
  background-position: -96px -128px;
}
.ui-icon-key {
  background-position: -112px -128px;
}
.ui-icon-lightbulb {
  background-position: -128px -128px;
}
.ui-icon-scissors {
  background-position: -144px -128px;
}
.ui-icon-clipboard {
  background-position: -160px -128px;
}
.ui-icon-copy {
  background-position: -176px -128px;
}
.ui-icon-contact {
  background-position: -192px -128px;
}
.ui-icon-image {
  background-position: -208px -128px;
}
.ui-icon-video {
  background-position: -224px -128px;
}
.ui-icon-script {
  background-position: -240px -128px;
}
.ui-icon-alert {
  background-position: 0 -144px;
}
.ui-icon-info {
  background-position: -16px -144px;
}
.ui-icon-notice {
  background-position: -32px -144px;
}
.ui-icon-help {
  background-position: -48px -144px;
}
.ui-icon-check {
  background-position: -64px -144px;
}
.ui-icon-bullet {
  background-position: -80px -144px;
}
.ui-icon-radio-on {
  background-position: -96px -144px;
}
.ui-icon-radio-off {
  background-position: -112px -144px;
}
.ui-icon-pin-w {
  background-position: -128px -144px;
}
.ui-icon-pin-s {
  background-position: -144px -144px;
}
.ui-icon-play {
  background-position: 0 -160px;
}
.ui-icon-pause {
  background-position: -16px -160px;
}
.ui-icon-seek-next {
  background-position: -32px -160px;
}
.ui-icon-seek-prev {
  background-position: -48px -160px;
}
.ui-icon-seek-end {
  background-position: -64px -160px;
}
.ui-icon-seek-first {
  background-position: -80px -160px;
}
.ui-icon-seek-start {
  background-position: -80px -160px;
}
.ui-icon-stop {
  background-position: -96px -160px;
}
.ui-icon-eject {
  background-position: -112px -160px;
}
.ui-icon-volume-off {
  background-position: -128px -160px;
}
.ui-icon-volume-on {
  background-position: -144px -160px;
}
.ui-icon-power {
  background-position: 0 -176px;
}
.ui-icon-signal-diag {
  background-position: -16px -176px;
}
.ui-icon-signal {
  background-position: -32px -176px;
}
.ui-icon-battery-0 {
  background-position: -48px -176px;
}
.ui-icon-battery-1 {
  background-position: -64px -176px;
}
.ui-icon-battery-2 {
  background-position: -80px -176px;
}
.ui-icon-battery-3 {
  background-position: -96px -176px;
}
.ui-icon-circle-plus {
  background-position: 0 -192px;
}
.ui-icon-circle-minus {
  background-position: -16px -192px;
}
.ui-icon-circle-close {
  background-position: -32px -192px;
}
.ui-icon-circle-triangle-e {
  background-position: -48px -192px;
}
.ui-icon-circle-triangle-s {
  background-position: -64px -192px;
}
.ui-icon-circle-triangle-w {
  background-position: -80px -192px;
}
.ui-icon-circle-triangle-n {
  background-position: -96px -192px;
}
.ui-icon-circle-arrow-e {
  background-position: -112px -192px;
}
.ui-icon-circle-arrow-s {
  background-position: -128px -192px;
}
.ui-icon-circle-arrow-w {
  background-position: -144px -192px;
}
.ui-icon-circle-arrow-n {
  background-position: -160px -192px;
}
.ui-icon-circle-zoomin {
  background-position: -176px -192px;
}
.ui-icon-circle-zoomout {
  background-position: -192px -192px;
}
.ui-icon-circle-check {
  background-position: -208px -192px;
}
.ui-icon-circlesmall-plus {
  background-position: 0 -208px;
}
.ui-icon-circlesmall-minus {
  background-position: -16px -208px;
}
.ui-icon-circlesmall-close {
  background-position: -32px -208px;
}
.ui-icon-squaresmall-plus {
  background-position: -48px -208px;
}
.ui-icon-squaresmall-minus {
  background-position: -64px -208px;
}
.ui-icon-squaresmall-close {
  background-position: -80px -208px;
}
.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px;
}
.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px;
}
.ui-icon-grip-solid-vertical {
  background-position: -32px -224px;
}
.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px;
}
.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px;
}
.ui-icon-grip-diagonal-se {
  background-position: -80px -224px;
}
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all {
  border-radius: 0px;
}
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 0px;
}
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 0px;
}
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 0px;
}
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 0px;
}
/* Overlays */
.ui-widget-overlay {
  background: #dddddd url("../jq_img/ui-bg_flat_0_999999_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: alpha(opacity=30);
}
.ui-widget-shadow {
  margin: -8px 0 0 -8px;
  padding: 8px;
  background: #dddddd url("../jq_img/ui-bg_flat_0_999999_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: alpha(opacity=30);
  border-radius: 8px ;
}
/*** Input field styling from Bootstrap **/
/*
input, textarea {
	.ui-transition(~"border linear 0.2s, box-shadow linear 0.2s");
}

textarea {
  overflow: auto;
  vertical-align: top;
}

input:focus, textarea:focus {
	outline: 0;
	border-color: rgba(82, 168, 236, 0.8);
	.ui-box-shadow(~"inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6)");
}
input[type=file]:focus, input[type=checkbox]:focus, select:focus {
	.ui-box-shadow (none);
	outline: 1px dotted #666;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
.ui-autocomplete-input,
textarea,
.uneditable-input {
	display: inline-block;
	padding: 4px;
	font-size: 13px;
	line-height: 18px;
	color: #555555;
	border: 1px solid #ccc;
	border-radius: 3px;
}

input[type="search"] {
  -webkit-appearance: textfield;
  .ui-box-sizing( content-box);
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
*/
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Resizable 1.10.3
 * http://api.jqueryui.com/resizable/
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-resizable {
  position: relative;
}
.ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  z-index: 99999;
  display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none;
}
.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0;
}
.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0;
}
.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%;
}
.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%;
}
.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px;
}
.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px;
}
.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px;
}
.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px;
}
/*
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Selectable 1.10.3
 * http://jqueryui.com/selectable/
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-selectable-helper {
  position: absolute;
  z-index: 100;
  border: 1px dotted #000;
}
/*
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Accordion 1.10.3
 * http://jqueryui.com/accordion/
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion {
  width: 100%;
}
.ui-accordion .ui-accordion-li-fix {
  display: inline;
}
.ui-accordion .ui-accordion-header-active {
  border-bottom: 0 !important;
}
.ui-accordion .ui-accordion-header {
  display: block;
  cursor: pointer;
  position: relative;
  margin-top: 2px;
  padding: 0.5em 0.5em 0.5em 0.7em;
  min-height: 0;
  /* support: IE7 */
}
.ui-accordion .ui-accordion-icons {
  padding-left: 2.2em;
}
.ui-accordion .ui-accordion-noicons {
  padding-left: 0.7em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
  padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
  position: absolute;
  left: 0.5em;
  top: 50%;
  margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
  padding: 1em 2.2em;
  border-top: 0;
  margin-top: -2px;
  position: relative;
  top: 1px;
  margin-bottom: 2px;
  overflow: auto;
  display: none;
}
.ui-accordion .ui-accordion-content-active {
  display: block;
}
/*
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Autocomplete 1.10.3
 * http://docs.jquery.com/UI/Autocomplete#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default;
}
/*
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Button 1.10.3
 * http://docs.jquery.com/UI/Button#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-button {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #ccc;
  background-color: #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.ui-button:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ui-button:focus,
.ui-button:hover {
  color: #333333;
  background-color: #ebebeb;
  border-color: #adadad;
  text-decoration: none;
}
ui-button.disabled,
ui-button[disabled],
fieldset[disabled] ui-button,
ui-button.disabled:hover,
ui-button[disabled]:hover,
fieldset[disabled] ui-button:hover,
ui-button.disabled:focus,
ui-button[disabled]:focus,
fieldset[disabled] ui-button:focus,
ui-button.disabled:active,
ui-button[disabled]:active,
fieldset[disabled] ui-button:active,
ui-button.disabled.active,
ui-button[disabled].active,
fieldset[disabled] ui-button.ui-state-active {
  background-color: #fff;
  border-color: #cccccc;
}
.ui-btn-large {
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.3333333;
  border-radius: 0px;
}
.ui-btn-small {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 0px;
}
.ui-btn-mini {
  padding: 1px 5px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 0px;
}
.ui-btn-block {
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.ui-btn-block + .ui-btn-block {
  margin-top: 5px;
}
input[type="submit"].ui-btn-block,
input[type="reset"].ui-btn-block,
input[type="button"].ui-btn-block {
  width: 100%;
}
.ui-button-text-icon-primary .ui-button-icon-primary {
  float: left;
}
.ui-button-text-icon-primary {
  padding: 2px 7px 3px;
}
.ui-button {
  color: #fff;
  background-color: #fff;
  border-color: #ccc;
}
.ui-button:hover,
.ui-button:focus,
.ui-button:active,
.ui-button.active,
.open .dropdown-toggle.ui-button {
  color: #fff;
  background-color: #ebebeb;
  border-color: #adadad;
}
.ui-button:active,
.ui-button.active,
.open .dropdown-toggle.ui-button {
  background-image: none;
}
.ui-button.disabled,
.ui-button[disabled],
fieldset[disabled] .ui-button,
.ui-button.disabled:hover,
.ui-button[disabled]:hover,
fieldset[disabled] .ui-button:hover,
.ui-button.disabled:focus,
.ui-button[disabled]:focus,
fieldset[disabled] .ui-button:focus,
.ui-button.disabled:active,
.ui-button[disabled]:active,
fieldset[disabled] .ui-button:active,
.ui-button.disabled.active,
.ui-button[disabled].active,
fieldset[disabled] .ui-button.active {
  background-color: #fff;
  border-color: #ccc;
}
.ui-button .badge {
  color: #fff;
  background-color: #fff;
}
.ui-button-primary {
  color: #fff;
  background-color: #1B5192;
  border-color: #17457c;
}
.ui-button-primary:hover,
.ui-button-primary:focus,
.ui-button-primary:active,
.ui-button-primary.active,
.open .dropdown-toggle.ui-button-primary {
  color: #fff;
  background-color: #153e70;
  border-color: #0d2849;
}
.ui-button-primary:active,
.ui-button-primary.active,
.open .dropdown-toggle.ui-button-primary {
  background-image: none;
}
.ui-button-primary.disabled,
.ui-button-primary[disabled],
fieldset[disabled] .ui-button-primary,
.ui-button-primary.disabled:hover,
.ui-button-primary[disabled]:hover,
fieldset[disabled] .ui-button-primary:hover,
.ui-button-primary.disabled:focus,
.ui-button-primary[disabled]:focus,
fieldset[disabled] .ui-button-primary:focus,
.ui-button-primary.disabled:active,
.ui-button-primary[disabled]:active,
fieldset[disabled] .ui-button-primary:active,
.ui-button-primary.disabled.active,
.ui-button-primary[disabled].active,
fieldset[disabled] .ui-button-primary.active {
  background-color: #1B5192;
  border-color: #17457c;
}
.ui-button-primary .badge {
  color: #1B5192;
  background-color: #fff;
}
.ui-button-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.ui-button-warning:hover,
.ui-button-warning:focus,
.ui-button-warning:active,
.ui-button-warning.active,
.open .dropdown-toggle.ui-button-warning {
  color: #fff;
  background-color: #ed9c28;
  border-color: #d58512;
}
.ui-button-warning:active,
.ui-button-warning.active,
.open .dropdown-toggle.ui-button-warning {
  background-image: none;
}
.ui-button-warning.disabled,
.ui-button-warning[disabled],
fieldset[disabled] .ui-button-warning,
.ui-button-warning.disabled:hover,
.ui-button-warning[disabled]:hover,
fieldset[disabled] .ui-button-warning:hover,
.ui-button-warning.disabled:focus,
.ui-button-warning[disabled]:focus,
fieldset[disabled] .ui-button-warning:focus,
.ui-button-warning.disabled:active,
.ui-button-warning[disabled]:active,
fieldset[disabled] .ui-button-warning:active,
.ui-button-warning.disabled.active,
.ui-button-warning[disabled].active,
fieldset[disabled] .ui-button-warning.active {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.ui-button-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.ui-button-info {
  color: #fff;
  background-color: #1fb3e6;
  border-color: #18a4d4;
}
.ui-button-info:hover,
.ui-button-info:focus,
.ui-button-info:active,
.ui-button-info.active,
.open .dropdown-toggle.ui-button-info {
  color: #fff;
  background-color: #1699c6;
  border-color: #12799d;
}
.ui-button-info:active,
.ui-button-info.active,
.open .dropdown-toggle.ui-button-info {
  background-image: none;
}
.ui-button-info.disabled,
.ui-button-info[disabled],
fieldset[disabled] .ui-button-info,
.ui-button-info.disabled:hover,
.ui-button-info[disabled]:hover,
fieldset[disabled] .ui-button-info:hover,
.ui-button-info.disabled:focus,
.ui-button-info[disabled]:focus,
fieldset[disabled] .ui-button-info:focus,
.ui-button-info.disabled:active,
.ui-button-info[disabled]:active,
fieldset[disabled] .ui-button-info:active,
.ui-button-info.disabled.active,
.ui-button-info[disabled].active,
fieldset[disabled] .ui-button-info.active {
  background-color: #1fb3e6;
  border-color: #18a4d4;
}
.ui-button-info .badge {
  color: #1fb3e6;
  background-color: #fff;
}
.ui-button-danger {
  color: #fff;
  background-color: #A50113;
  border-color: #8c0110;
}
.ui-button-danger:hover,
.ui-button-danger:focus,
.ui-button-danger:active,
.ui-button-danger.active,
.open .dropdown-toggle.ui-button-danger {
  color: #fff;
  background-color: #7c010e;
  border-color: #4f0009;
}
.ui-button-danger:active,
.ui-button-danger.active,
.open .dropdown-toggle.ui-button-danger {
  background-image: none;
}
.ui-button-danger.disabled,
.ui-button-danger[disabled],
fieldset[disabled] .ui-button-danger,
.ui-button-danger.disabled:hover,
.ui-button-danger[disabled]:hover,
fieldset[disabled] .ui-button-danger:hover,
.ui-button-danger.disabled:focus,
.ui-button-danger[disabled]:focus,
fieldset[disabled] .ui-button-danger:focus,
.ui-button-danger.disabled:active,
.ui-button-danger[disabled]:active,
fieldset[disabled] .ui-button-danger:active,
.ui-button-danger.disabled.active,
.ui-button-danger[disabled].active,
fieldset[disabled] .ui-button-danger.active {
  background-color: #A50113;
  border-color: #8c0110;
}
.ui-button-danger .badge {
  color: #A50113;
  background-color: #fff;
}
.ui-button-inverse {
  color: #fff;
  background-color: #222222;
  border-color: #222222;
}
.ui-button-inverse:hover,
.ui-button-inverse:focus,
.ui-button-inverse:active,
.ui-button-inverse.active,
.open .dropdown-toggle.ui-button-inverse {
  color: #fff;
  background-color: #0e0e0e;
  border-color: #040404;
}
.ui-button-inverse:active,
.ui-button-inverse.active,
.open .dropdown-toggle.ui-button-inverse {
  background-image: none;
}
.ui-button-inverse.disabled,
.ui-button-inverse[disabled],
fieldset[disabled] .ui-button-inverse,
.ui-button-inverse.disabled:hover,
.ui-button-inverse[disabled]:hover,
fieldset[disabled] .ui-button-inverse:hover,
.ui-button-inverse.disabled:focus,
.ui-button-inverse[disabled]:focus,
fieldset[disabled] .ui-button-inverse:focus,
.ui-button-inverse.disabled:active,
.ui-button-inverse[disabled]:active,
fieldset[disabled] .ui-button-inverse:active,
.ui-button-inverse.disabled.active,
.ui-button-inverse[disabled].active,
fieldset[disabled] .ui-button-inverse.active {
  background-color: #222222;
  border-color: #222222;
}
.ui-button-inverse .badge {
  color: #222222;
  background-color: #fff;
}
.ui-button-success {
  color: #fff;
  background-color: #5EB75B;
  border-color: #4fad4c;
}
.ui-button-success:hover,
.ui-button-success:focus,
.ui-button-success:active,
.ui-button-success.active,
.open .dropdown-toggle.ui-button-success {
  color: #fff;
  background-color: #4aa247;
  border-color: #3c8239;
}
.ui-button-success:active,
.ui-button-success.active,
.open .dropdown-toggle.ui-button-success {
  background-image: none;
}
.ui-button-success.disabled,
.ui-button-success[disabled],
fieldset[disabled] .ui-button-success,
.ui-button-success.disabled:hover,
.ui-button-success[disabled]:hover,
fieldset[disabled] .ui-button-success:hover,
.ui-button-success.disabled:focus,
.ui-button-success[disabled]:focus,
fieldset[disabled] .ui-button-success:focus,
.ui-button-success.disabled:active,
.ui-button-success[disabled]:active,
fieldset[disabled] .ui-button-success:active,
.ui-button-success.disabled.active,
.ui-button-success[disabled].active,
fieldset[disabled] .ui-button-success.active {
  background-color: #5EB75B;
  border-color: #4fad4c;
}
.ui-button-success .badge {
  color: #5EB75B;
  background-color: #fff;
}
.ui-button-error {
  color: #fff;
  background-color: #A50113;
  border-color: #8c0110;
}
.ui-button-error:hover,
.ui-button-error:focus,
.ui-button-error:active,
.ui-button-error.active,
.open .dropdown-toggle.ui-button-error {
  color: #fff;
  background-color: #7c010e;
  border-color: #4f0009;
}
.ui-button-error:active,
.ui-button-error.active,
.open .dropdown-toggle.ui-button-error {
  background-image: none;
}
.ui-button-error.disabled,
.ui-button-error[disabled],
fieldset[disabled] .ui-button-error,
.ui-button-error.disabled:hover,
.ui-button-error[disabled]:hover,
fieldset[disabled] .ui-button-error:hover,
.ui-button-error.disabled:focus,
.ui-button-error[disabled]:focus,
fieldset[disabled] .ui-button-error:focus,
.ui-button-error.disabled:active,
.ui-button-error[disabled]:active,
fieldset[disabled] .ui-button-error:active,
.ui-button-error.disabled.active,
.ui-button-error[disabled].active,
fieldset[disabled] .ui-button-error.active {
  background-color: #A50113;
  border-color: #8c0110;
}
.ui-button-error .badge {
  color: #A50113;
  background-color: #fff;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
  width: 2.2em;
}
/* button elements seem to need a little more width */
.ui-button-icons-only {
  width: 3.4em;
}
button.ui-button-icons-only {
  width: 3.7em;
}
.ui-button-text-icon-primary .ui-button-icon-primary.ui-icon {
  margin-top: 5px;
}
/*button text element */
.ui-button .ui-button-text {
  display: block;
  line-height: 1.42857143;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
  padding: 0.4em;
  text-indent: -9999px;
  display: none;
  /*tempfix*/
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
  padding: 0.4em 1em 0.4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
  padding: 0.4em 2.1em 0.4em 1em;
}
.ui-button-text-icons .ui-button-text {
  padding-left: 2.1em;
  padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
  padding: 0.4em 1em;
}
/*button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
  margin-bottom: 0;
  margin-top: 0;
  top: 50%;
}
.ui-button-icon-only .ui-icon {
  left: 50%;
  /* chrome margin*/
  margin-left: -8px;
  /* firefox margin*/
  margin-right: -6px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
  left: 0.5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
  right: 0.5em;
}
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
  right: 0.5em;
}
/*button sets*/
.ui-buttonset {
  margin-right: 7px;
}
.ui-buttonset .ui-state-active {
  color: #fff;
  background-color: #428bca;
  border-color: #357ebd;
}
.ui-buttonset .ui-state-active.ui-state-hover {
  color: #fff;
  background-color: #3276b1;
  border-color: #285e8e;
}
.ui-buttonset .ui-button {
  margin-left: 0;
  margin-right: -0.4em;
}
/* reset extra padding in Firefox */
button.ui-button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Menu 1.10.3
 * http://docs.jquery.com/UI/Menu#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-menu {
  list-style: none;
  padding: 2px;
  margin: 0;
  display: block;
  outline: none;
}
.ui-menu .ui-menu {
  margin-top: -3px;
  position: absolute;
  list-style: none;
}
/*
* Bug inline with IE sub menu
*/
/* IE9, IE10 */
@media screen and (min-width: 0\0) {
  .ui-menu li {
    list-style-type: none;
    display: inline;
    line-height: 0;
  }
  li.ui-menu-item {
    /* This fixes the IE10 issue (jQuery UI Issue #8844)*/
    list-style-type: none;
    display: block;
  }
}
.ui-menu .ui-menu-item {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
  /* support: IE10, see #8844 */
  list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}
.ui-menu .ui-menu-divider {
  margin: 5px -2px 5px -2px;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0;
}
.ui-menu .ui-menu-item a {
  text-decoration: none;
  display: block;
  padding: 2px 0.4em;
  line-height: 1.5;
  min-height: 0;
  /* support: IE7 */
  font-weight: normal;
  background-color: #fff;
  border-color: #fff;
  color: #333333;
  /* Fix problem with border in ui-state-active */
}
.ui-menu .ui-menu-item a.ui-corner-all {
  border-radius: 0px;
}
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active,
.ui-menu .ui-menu-item a.ui-widget-content {
  font-weight: bold;
  margin: 0;
  display: block;
  white-space: nowrap;
}
.ui-menu .ui-menu-item a.ui-state-active,
.ui-menu .ui-menu-item a.ui-widget-content {
  background-color: #1B5192;
  border-color: #1B5192;
  color: #fff;
}
.ui-menu .ui-menu-item a.ui-state-focus {
  background-color: #f5f5f5;
  border-color: #f5f5f5;
  color: #262626;
}
.ui-menu .ui-menu-item a .ui-state-active {
  padding: 1px 0.4em;
}
.ui-menu .ui-state-disabled {
  font-weight: normal;
  margin: 0.4em 0 0.2em;
  line-height: 1.5;
}
.ui-menu .ui-state-disabled a {
  cursor: default;
}
/* icon support */
.ui-menu-icons {
  position: relative;
}
.ui-menu-icons .ui-menu-item a {
  position: relative;
  padding-left: 2em;
}
.ui-menu {
  width: 200px;
  margin-bottom: 2em;
  /* left-aligned */
  /* right-aligned */
}
.ui-menu .ui-icon {
  position: absolute;
  top: 0.2em;
  left: 0.2em;
}
.ui-menu .ui-menu-icon {
  position: static;
  float: right;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI spinner 1.10.3
 * http://docs.jquery.com/UI/Menu#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-spinner {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0;
  vertical-align: middle;
}
.ui-spinner-input {
  border: none;
  background: none;
  padding: 0;
  margin: 0.2em 22px 0.2em 0.4em;
  vertical-align: middle;
}
.ui-spinner-button {
  width: 16px;
  height: 50%;
  font-size: 0.5em;
  padding: 0;
  margin: 0;
  text-align: center;
  position: absolute;
  cursor: default;
  display: block;
  overflow: hidden;
  right: 0;
}
/* more specificity required here to overide default borders */
.ui-spinner {
  /* vertical centre icon */
  /* need to fix icons sprite */
}
.ui-spinner a.ui-spinner-button {
  border-top: none;
  border-bottom: none;
  border-right: none;
}
.ui-spinner .ui-icon {
  position: absolute;
  margin-top: -8px;
  top: 50%;
  left: 0;
}
.ui-spinner .ui-icon-triangle-1-s {
  background-position: -65px -16px;
}
.ui-spinner-up {
  top: 0;
}
.ui-spinner-down {
  bottom: 0;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Dialog 1.10.3
 * http://docs.jquery.com/UI/Dialog#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-dialog {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.2em;
  width: 300px;
  overflow: hidden;
  outline: 0;
  background-clip: padding-box;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 0px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  outline: medium none;
  z-index: 1050;
}
.ui-dialog .ui-dialog-titlebar {
  /*padding: .4em 1em;*/
  position: relative;
  border: 0px 0px 0px 1px solid;
  border-color: #fff;
  padding: 5px 15px;
  font-size: 18px;
  text-decoration: none;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -khtml-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  -khtml-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-bottom: 1px solid #cbcbcb;
}
.ui-dialog .ui-dialog-title {
  float: left;
  color: #333333;
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 5px 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.ui-dialog .ui-dialog-titlebar-close {
  position: absolute;
  right: 0.3em;
  top: 50%;
  width: 19px;
  margin: -20px 0 0 0;
  padding: 1px;
  height: 18px;
  font-size: 20px;
  font-weight: bold;
  line-height: 13.5px;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.25;
  filter: alpha(opacity=25);
  background: none;
  border-width: 0;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.ui-dialog .ui-dialog-titlebar-close span {
  display: block;
  margin: 1px;
  text-indent: 9999px;
}
.ui-dialog .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar-close:focus {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.ui-dialog .ui-dialog-content {
  position: relative;
  border: 0;
  padding: 15px;
  background: none;
  overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
  text-align: left;
  border-width: 1px 0 0 0;
  background-image: none;
  margin: 0.5em 0 0 0;
  background-color: #fff;
  padding: 5px 15px 5px;
  border-top: 1px solid #d5d5d5;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: inset 0 1px 0 #fff;
  box-shadow: inset 0 1px 0 #fff;
  margin-bottom: 0;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
  margin: 0.5em 0.4em 0.5em 0;
  cursor: pointer;
}
.ui-dialog .ui-resizable-se {
  width: 14px;
  height: 14px;
  right: 3px;
  bottom: 3px;
}
.ui-draggable .ui-dialog-titlebar {
  cursor: move;
}
.ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
  color: #ffffff;
  background-color: #428bca;
  border-color: #357ebd;
}
.ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
  color: #ffffff;
  background-color: #3276b1;
  border-color: #285e8e;
}
/***Dialog fixes**/
.ui-dialog-buttonset .ui-button:not(:first-child) {
  cursor: pointer;
  display: inline-block;
  color: #333333;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  -webkit-transition: 0.1s linear all;
  transition: 0.1s linear all;
  overflow: visible;
}
.ui-dialog-buttonset .ui-button:not(:first-child).ui-state-hover {
  color: #333333;
  background-color: #ebebeb;
  border-color: #adadad;
  text-decoration: none;
}
.ui-dialog-buttonset .ui-button {
  /* ui-dialog-buttonset UI info */
  /* ui-dialog-buttonset UI success */
  /* ui-dialog-buttonset UI warning */
  /* ui-dialog-buttonset UI Danger */
  /* ui-dialog-buttonset UI Inverse */
}
.ui-dialog-buttonset .ui-button.ui-button-info {
  color: #ffffff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.ui-dialog-buttonset .ui-button.ui-button-info.ui-state-hover {
  color: #ffffff;
  background-color: #39b3d7;
  border-color: #269abc;
}
.ui-dialog-buttonset .ui-button.ui-button-success {
  color: #ffffff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.ui-dialog-buttonset .ui-button.ui-button-success.ui-state-hover {
  color: #ffffff;
  background-color: #47a447;
  border-color: #398439;
}
.ui-dialog-buttonset .ui-button.ui-button-warning {
  color: #ffffff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.ui-dialog-buttonset .ui-button.ui-button-warning.ui-state-hover {
  color: #ffffff;
  background-color: #ed9c28;
  border-color: #d58512;
}
.ui-dialog-buttonset .ui-button.ui-button-danger {
  color: #ffffff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.ui-dialog-buttonset .ui-button.ui-button-danger.ui-state-hover {
  color: #ffffff;
  background-color: #d2322d;
  border-color: #ac2925;
}
.ui-dialog-buttonset .ui-button.ui-button-inverse {
  color: #ffffff;
  background-color: #222222;
  border-color: #080808;
}
.ui-dialog-buttonset .ui-button.ui-button-inverse.ui-state-hover {
  color: #ffffff;
  background-color: #363636;
  border-color: #000000;
}
/*
 * jQuery UI Slider 1.10.3
 * http://docs.jquery.com/UI/Slider#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-slider {
  position: relative;
  text-align: left;
  /* For IE8 - See #6727 */
}
.ui-slider .ui-state-disabled .ui-slider-handle,
.ui-slider .ui-state-disabled .ui-slider-range {
  filter: inherit;
}
.ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1.2em;
  height: 1.2em;
  cursor: default;
}
.ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: 0.7em;
  display: block;
  border: 0;
  background-position: 0 0;
  color: #fff;
  background-image: -webkit-linear-gradient(top, #1B5192 0%, #0f2d51 100%);
  background-image: linear-gradient(to bottom, #1B5192 0%, #0f2d51 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1b5192', endColorstr='#ff0f2d51', GradientType=0);
  -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
  /*border-color: @ui-blue-dark @ui-blue-dark @ui-blue;
		border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); */
}
.ui-slider-horizontal {
  height: 0.8em;
}
.ui-slider-horizontal .ui-slider-handle {
  top: -0.3em;
  margin-left: -0.6em;
}
.ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
  left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
  right: 0;
}
.ui-slider-vertical {
  width: 0.8em;
  height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
  left: -0.3em;
  margin-left: 0;
  margin-bottom: -0.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;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Tabs 1.10.3
 * http://docs.jquery.com/UI/Tabs#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-tabs {
  position: relative;
  /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
  border: 0;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  -khtml-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
  -webkit-border-top-right-radius: 0;
  -khtml-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
  -webkit-border-bottom-left-radius: 0;
  -khtml-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-right-radius: 0;
  -khtml-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui-tabs .ui-tabs-nav {
  margin-bottom: 5px;
  border: solid #ddd;
  border-width: 0 0 1px 0;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  -khtml-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
  -webkit-border-top-right-radius: 0;
  -khtml-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
  -webkit-border-bottom-left-radius: 0;
  -khtml-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-right-radius: 0;
  -khtml-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
  background: none;
}
.ui-tabs .ui-tabs-nav li {
  position: relative;
  top: 0;
  float: left;
  margin-right: 2px;
  margin-bottom: -1px;
  border: 0;
  list-style: none;
  white-space: nowrap;
  background: none;
}
.ui-tabs-nav .ui-state-default {
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.ui-tabs {
  /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
}
.ui-tabs .ui-tabs-nav li a {
  float: left;
  border: 1px solid #fff;
  border-bottom: 1px solid #ddd;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
  padding: 8px 12px;
  font-weight: normal;
  text-decoration: none;
  outline: none;
  color: #0069D6;
  background: none;
}
.ui-tabs .ui-tabs-nav li a:hover {
  border: 1px solid whiteSmoke;
  border-bottom: 1px solid #ddd;
  background-color: whiteSmoke;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
  border: 1px solid #ddd;
  border-bottom: 1px solid #fff;
  background-color: #fff;
  color: #555;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active:hover {
  background: #fff;
  cursor: text;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
  cursor: text;
}
.ui-tabs .ui-tabs-panel {
  display: block;
  margin: 1em 0;
  border: 0;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  -khtml-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
  -webkit-border-top-right-radius: 0;
  -khtml-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
  -webkit-border-bottom-left-radius: 0;
  -khtml-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-right-radius: 0;
  -khtml-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
  padding: 1px 0;
  background: none;
}
.ui-tabs .ui-tabs-hide {
  display: none !important;
}
.ui-tabs .ui-tabs-nav li {
  filter: none;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Tooltip 1.10.3
 * http://jqueryui.com/tooltip/
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-tooltip {
  display: block;
  font-size: 11px;
  opacity: 0.8;
  filter: alpha(opacity=80);
  position: absolute;
  visibility: visible;
  z-index: 1070;
  max-width: 200px;
  background: #000;
  border: 1px solid #000;
  color: #fff;
  padding: 3px 8px;
  text-align: center;
  text-decoration: none;
  -webkit-box-shadow: inset 0 1px 0 #000;
  box-shadow: inset 0 1px 0 #000;
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  -khtml-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  -khtml-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -khtml-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -khtml-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-width: 1px;
}
.ui-tooltip .arrow {
  overflow: hidden;
  position: absolute;
  margin-left: 0;
  height: 20px;
  width: 20px;
}
.ui-tooltip .arrow.bottom {
  top: 100%;
  left: 38%;
}
.ui-tooltip .arrow.bottom:after {
  border-top: 8px solid #000;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent;
}
.ui-tooltip .arrow.top {
  top: -50%;
  bottom: 22px;
  left: 42%;
}
.ui-tooltip .arrow.top:after {
  border-top: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #000;
  border-left: 6px solid transparent;
}
.ui-tooltip .arrow.left {
  top: 25%;
  left: -15%;
  right: 0;
  bottom: -16px;
}
.ui-tooltip .arrow.left:after {
  width: 0;
  border-top: 6px solid transparent;
  border-right: 6px solid #000;
  border-bottom: 6px solid transparent;
  border-left: 6px solid transparent;
}
.ui-tooltip .arrow.right {
  top: 26%;
  left: 100%;
  right: 0;
  bottom: -16px;
  margin-left: 1px;
}
.ui-tooltip .arrow.right:after {
  width: 0;
  border-top: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #000;
}
.ui-tooltip .arrow:after {
  content: " ";
  position: absolute ;
  height: 0 ;
  left: 0;
  top: 0;
  width: 0;
  margin-left: 0 ;
  bottom: 12px ;
  box-shadow: 6px 5px 9px -9px #000;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Progressbar 1.10.3
 * http://jqueryui.com/tooltip/
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-progressbar {
  height: 2em;
  margin-bottom: 20px;
  border: 0px;
  overflow: hidden;
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
  background-image: linear-gradient(to bottom, #f5f5f5 0%, #f9f9f9 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  -khtml-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  -khtml-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -khtml-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -khtml-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  text-align: left;
}
.ui-progressbar .ui-progressbar-value {
  margin: 0px;
  height: 100%;
  color: #fff;
  /*this can be removed if ui-widget-header is blue*/
  background-color: #428BCA;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.ui-progressbar .ui-progressbar-overlay {
  background-image: -webkit-linear-gradient(top, #1B5192 0%, #0f2d51 100%);
  background-image: linear-gradient(to bottom, #1B5192 0%, #0f2d51 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1b5192', endColorstr='#ff0f2d51', GradientType=0);
  background-size: 40px 40px;
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -moz-animation: progress-bar-stripes 2s linear infinite;
  -ms-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
  background-image: none;
}
/**Toolbar**/
.ui-toolbar {
  padding: 7px 14px;
  margin: 0 0 18px;
  background-image: -webkit-linear-gradient(top, #fff 0%, #fff 100%);
  background-image: linear-gradient(to bottom, #fff 0%, #fff 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffffffff', GradientType=0);
  border: 1px solid #ffffff;
  -moz-border-radius-topleft: 3px;
  -webkit-border-top-left-radius: 3px;
  -khtml-border-top-left-radius: 3px;
  border-top-left-radius: 3px;
  -moz-border-radius-topright: 3px;
  -webkit-border-top-right-radius: 3px;
  -khtml-border-top-right-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
  -webkit-border-bottom-left-radius: 3px;
  -khtml-border-bottom-left-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-radius-bottomright: 3px;
  -webkit-border-bottom-right-radius: 3px;
  -khtml-border-bottom-right-radius: 3px;
  border-bottom-right-radius: 3px;
  -webkit-box-shadow: inset 0 1px 0 #fff;
  box-shadow: inset 0 1px 0 #fff;
}
/*!
 * jQuery UI Bootstrap v1.0 Alpha
 *
 * jQuery UI Datepicker 1.10.3
 * http://docs.jquery.com/UI/Datepicker#theming
 *
 * Portions copyright Addy Osmani, jQuery UI & Twitter, Inc.
 * Created the LESS version by @dharapvj
 * Released under MIT
 */
.ui-datepicker {
  width: 17em;
  padding: 0.2em 0.2em 0;
  display: none;
}
.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: 0.2em 0;
  border: 0;
  font-weight: bold;
  width: 100%;
  padding: 4px 0;
  background-color: #f5f5f5;
  color: #555555;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  /*top: 1px;*/
}
.ui-datepicker .ui-datepicker-prev {
  left: 2px;
}
.ui-datepicker .ui-datepicker-next {
  right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
  /*left:1px;*/
}
.ui-datepicker .ui-datepicker-next-hover {
  /*right:1px;*/
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month-year {
  width: 100%;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 49%;
}
.ui-datepicker table {
  width: 100%;
  font-size: 1em;
  border-collapse: collapse;
  margin: 0 0 0.4em;
}
.ui-datepicker th {
  padding: 0.7em 0.3em;
  text-align: center;
  font-weight: bold;
  border: 0;
}
.ui-datepicker td {
  border: 0;
  padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: 0.2em;
  text-align: right;
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: 0.7em 0 0 0;
  padding: 0 0.2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: 0.5em 0.2em 0.4em;
  cursor: pointer;
  padding: 0.2em 0.6em 0.3em 0.6em;
  width: auto;
  overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button .ui-datepicker-current {
  float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
  float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto 0.4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
  border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left;
}
.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0em;
}
/* RTL support */
.ui-datepicker-rtl {
  direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button .ui-datepicker-current {
  float: right;
}
.ui-datepicker-rtl .ui-datepicker-group {
  float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px;
}
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px;
}
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
  display: none;
  /*sorry for IE5*/
  position: absolute;
  /*must have*/
  z-index: -1;
  /*must have*/
  filter: mask();
  /*must have*/
  top: -4px;
  /*must have*/
  left: -4px;
  /*must have*/
  width: 200px;
  /*must have*/
  height: 200px;
  /*must have*/
}
.ui-datepicker th {
  font-weight: bold;
  color: #555555;
}
.ui-datepicker-today a {
  background-color: #1B5192;
  cursor: pointer;
  padding: 0 4px;
  margin-bottom: 0px;
}
.ui-datepicker-today a:hover {
  background-color: #555555;
  color: #fff;
}
.ui-datepicker td a {
  margin-bottom: 0px;
  border: 0px;
}
.ui-datepicker td:hover {
  color: #fff;
}
.ui-datepicker td .ui-state-default {
  border: 0;
  background: none;
  margin-bottom: 0;
  padding: 5px;
  color: #555555;
  text-align: center;
  filter: none;
}
.ui-datepicker td .ui-state-highlight {
  color: #fff;
  background: rgba(27, 81, 146, 0.8);
  border-color: #46b8da;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  -khtml-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  -khtml-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  -khtml-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -khtml-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.ui-datepicker td .ui-state-active {
  color: #333333;
  background: #eeeeee;
  border-color: #adadad;
  margin-bottom: 0px;
  font-size: normal;
  text-shadow: 0px;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  -khtml-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  -khtml-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  -khtml-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -khtml-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.ui-datepicker td .ui-state-hover {
  color: #fff;
  background: #1B5192;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #357ebd;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  -khtml-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  -khtml-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  -khtml-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -khtml-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.42857143;
  border-radius: 0px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.btn:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
  color: #333;
  background-color: #ebebeb;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #1B5192;
  border-color: #17457c;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #153e70;
  border-color: #0d2849;
}
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #1B5192;
  border-color: #17457c;
}
.btn-primary .badge {
  color: #1B5192;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5EB75B;
  border-color: #4fad4c;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #4aa247;
  border-color: #3c8239;
}
.btn-success:active,
.btn-success.active,
.open .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #5EB75B;
  border-color: #4fad4c;
}
.btn-success .badge {
  color: #5EB75B;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #1fb3e6;
  border-color: #18a4d4;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #1699c6;
  border-color: #12799d;
}
.btn-info:active,
.btn-info.active,
.open .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #1fb3e6;
  border-color: #18a4d4;
}
.btn-info .badge {
  color: #1fb3e6;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ed9c28;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #A50113;
  border-color: #8c0110;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #7c010e;
  border-color: #4f0009;
}
.btn-danger:active,
.btn-danger.active,
.open .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #A50113;
  border-color: #8c0110;
}
.btn-danger .badge {
  color: #A50113;
  background-color: #fff;
}
.btn-link {
  color: #1B5192;
  font-weight: normal;
  cursor: pointer;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #0f2d51;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #dddddd;
  text-decoration: none;
}
.btn-lg {
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.3333333;
  border-radius: 0px;
}
.btn-sm {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 0px;
}
.btn-xs {
  padding: 1px 5px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 0px;
}
.btn-block {
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
/***Wijmo Theming**/
div.wijmo-wijmenu {
  padding: 0 20px;
  background-image: -webkit-linear-gradient(top, #333333 0%, #222222 100%);
  background-image: linear-gradient(to bottom, #333333 0%, #222222 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff333333', endColorstr='#ff222222', GradientType=0);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}
.wijmo-wijmenu .ui-state-default {
  box-shadow: none;
  color: #dddddd;
}
.wijmo-wijmenu .ui-state-default .wijmo-wijmenu-text {
  color: #dddddd;
}
.wijmo-wijmenu .ui-state-hover {
  background: #444;
  background: rgba(255, 255, 255, 0.05);
}
.wijmo-wijmenu .ui-state-hover .wijmo-wijmenu-text {
  color: #fff;
}
div.wijmo-wijmenu .ui-widget-header h3 {
  position: relative;
  margin-top: 1px;
  padding: 0;
}
.wijmo-wijmenu h3 a {
  color: #fff;
  display: block;
  float: left;
  font-size: 20px;
  font-weight: 200;
  line-height: 1;
  margin-left: -20px;
  margin-top: 1px;
  padding: 8px 20px 12px;
}
.wijmo-wijmenu h3 a:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  text-decoration: none;
}
.wijmo-wijmenu .ui-widget-header {
  border: 0px;
}
.wijmo-wijmenu .wijmo-wijmenu-parent .wijmo-wijmenu-child {
  padding: 0.3em 0;
}
div.wijmo-wijmenu .wijmo-wijmenu-item {
  margin: 0;
  border: 0;
}
div.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child {
  background: #333;
  border: 0;
  margin: 0;
  padding: 6px 0;
  width: 160px;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.wijmo-wijmenu a.wijmo-wijmenu-link {
  margin: 0;
  line-height: 19px;
  padding: 10px 10px 11px;
  border: 0;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  -khtml-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
  -webkit-border-top-right-radius: 0;
  -khtml-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
  -webkit-border-bottom-left-radius: 0;
  -khtml-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-right-radius: 0;
  -khtml-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
}
div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-link {
  display: block;
  float: none;
  padding: 4px 15px;
  width: auto;
}
div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-child .wijmo-wijmenu-text {
  float: none;
}
.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child .ui-state-hover {
  background: #191919;
}
.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-separator {
  padding: 5px 0;
  background-image: none;
  background-color: #222;
  border-top: 1px solid #444;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
}
.wijmo-wijmenu .wijmo-wijmenu-item input {
  -webkit-transition: none 0s ease 0s;
  transition: none 0s ease 0s;
  background-color: rgba(255, 255, 255, 0.3);
  border: 1px solid #111111;
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  -khtml-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  -khtml-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -khtml-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -khtml-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.75);
  font-family: sansFontFamily;
  line-height: 1;
  margin: 5px 10px 0 10px;
  padding: 4px 9px;
  width: 100px;
}
.wijmo-wijmenu .wijmo-wijmenu-item input:hover {
  background-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}
.wijmo-wijmenu .wijmo-wijmenu-item input:focus {
  background-color: #fff;
  border: 0 none;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  color: #333333;
  outline: 0 none;
  padding: 5px 10px;
  text-shadow: 0 1px 0 #fff;
}
.wijmo-wijmenu .ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  text-shadow: none;
}
.wijmo-wijmenu .ui-state-default {
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #dddddd;
  filter: none;
}
/*styles for jquery ui daterangepicker plugin */
.ui-daterangepickercontain {
  position: absolute;
  z-index: 999;
}
.ui-daterangepickercontain .ui-daterangepicker {
  float: left;
  padding: 5px !important;
  width: auto;
  display: inline;
  background-image: none !important;
  clear: left;
}
.ui-daterangepicker ul,
.ui-daterangepicker .ranges,
.ui-daterangepicker .range-start,
.ui-daterangepicker .range-end {
  float: left;
  padding: 0;
  margin: 0;
}
.ui-daterangepicker .ranges {
  width: auto;
  position: relative;
  padding: 5px 5px 40px 0;
  margin-left: 10px;
}
.ui-daterangepicker .range-start,
.ui-daterangepicker .range-end {
  margin-left: 5px;
}
.ui-daterangepicker button.btnDone {
  clear: both;
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
  display: inline-block;
  background-image: -webkit-linear-gradient(#fff, #fff 25%, #eeeeee);
  background-image: linear-gradient(#fff, #fff 25%, #eeeeee);
  background-repeat: no-repeat;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffeeeeee', GradientType=0);
  padding: 5px 14px 6px;
  margin: 5px;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  color: #333;
  font-size: 13px;
  line-height: normal;
  border: 1px solid #ccc;
  border-bottom-color: #bbb;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.1s linear background-image;
  transition: 0.1s linear background-image;
  overflow: visible;
}
.ui-daterangepicker ul {
  width: 17.6em;
  background: none;
  border: 0;
}
.ui-daterangepicker li {
  list-style: none;
  padding: 1px;
  cursor: pointer;
  margin: 1px 0;
}
.ui-daterangepicker .ui-widget-header {
  border: 1px solid #ccc;
}
.ui-daterangepicker .ui-state-hover {
  background: #003f81;
  color: #fff;
}
.ui-daterangepicker .ui-state-hover a {
  color: #fff;
}
.ui-daterangepicker .ui-widget {
  padding-right: 4px;
}
.ui-daterangepicker li.preset_0 {
  margin-top: 1.5em !important;
}
.ui-daterangepicker .ui-widget-content a {
  text-decoration: none !important;
  font-weight: normal;
}
.ui-daterangepicker li a {
  font-weight: normal;
  margin: 0.3em 0.5em;
  display: block;
}
.ui-daterangepicker li span {
  float: right;
  margin: 0.3em 0.2em;
}
.ui-daterangepicker .title-start,
.ui-daterangepicker .title-end {
  display: block;
  margin: 0 0 0.2em;
  font-size: 1em;
  padding: 0 4px 2px;
}
.ui-daterangepicker .ui-datepicker-inline {
  font-size: 1em;
}
.ui-daterangepicker-arrows {
  padding: 2px;
  width: 204px;
  position: relative;
}
.ui-daterangepicker-arrows input.ui-rangepicker-input {
  width: 158px;
  margin: 0 2px 0 20px;
  padding: 2px;
  height: 1.1em;
}
.ui-daterangepicker-arrows .ui-daterangepicker-prev,
.ui-daterangepicker-arrows .ui-daterangepicker-next {
  position: absolute;
  top: 2px;
  padding: 1px;
}
.ui-daterangepicker-arrows .ui-daterangepicker-prev {
  left: 2px;
}
.ui-daterangepicker-arrows .ui-daterangepicker-next {
  right: 2px;
}
.ui-daterangepicker-arrows .ui-daterangepicker-prev:hover,
.ui-daterangepicker-arrows .ui-daterangepicker-next:hover,
.ui-daterangepicker-arrows .ui-daterangepicker-prev:focus,
.ui-daterangepicker-arrows .ui-daterangepicker-next:focus {
  padding: 0;
}
/*custom upload elements*/
.customfile-input {
  position: absolute;
  left: -999em;
  background: transparent;
  border: 0;
  opacity: 0;
  filter: alpha(opacity=0);
}
.customfile {
  cursor: pointer;
  width: auto;
  display: inline-block;
  position: relative;
}
.customfile.input-append .customfile-feedback {
  border-radius: 3px 0 0 3px;
  padding-left: 25px;
}
.customfile.input-prepend .customfile-feedback {
  border-radius: 0 3px 3px 0;
}
.customfile.input-prepend .add-on,
.customfile.input-append .add-on {
  color: #333;
  cursor: pointer;
  display: inline-block;
  background-image: -webkit-linear-gradient(#fff, #fff 25%, #eeeeee);
  background-image: linear-gradient(#fff, #fff 25%, #eeeeee);
  background-repeat: no-repeat;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffeeeeee', GradientType=0);
}
.customfile-disabled {
  opacity: 0.5;
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
  cursor: default;
}
.customfile-feedback {
  border: 1px solid #CCCCCC;
  color: #555555;
  display: inline-block;
  font-size: 13px;
  line-height: 18px;
  padding: 4px;
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
  -o-transition: border linear 0.2s, box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
/* IE7 hack */
* + html .customfile-feedback {
  margin-top: 1px;
}
/* EO Hack */
.customfile-feedback-populated {
  padding-left: 25px;
  background: url(../images/icon-generic.gif) 5px center no-repeat;
  white-space: nowrap;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  overflow: hidden;
}
.customfile-button {
  /* IE7 and bellow hack*/
  *margin-top: -1px;
  /* EO Hack */
}
.customfile:hover .customfile-button,
.customfile-focus .customfile-button {
  background-position: 0 -15px;
  color: #333;
  text-decoration: none;
}
/*file type icons*/
.customfile-ext-jpg,
.customfile-ext-gif,
.customfile-ext-png,
.customfile-ext-jpeg,
.customfile-ext-bmp {
  background-image: url(../images/icon-image.gif);
}
.customfile-ext-mp3,
.customfile-ext-mp4,
.customfile-ext-mov,
.customfile-ext-swf,
.customfile-ext-wav,
.customfile-ext-m4v {
  background-image: url(../images/icon-media.gif);
}
.customfile-ext-zip,
.customfile-ext-tar,
.customfile-ext-sit {
  background-image: url(../images/icon-zip.gif);
}
/**
* fix bug position button customfile. Moved from docs.css
*/
.input-append.customfile,
.input-prepend {
  font-size: 0;
  margin-bottom: 5px;
  white-space: normal;
}
.input-append.customfile .add-on {
  height: 20px;
  font-size: 14px;
  line-height: 18px;
  min-width: 70px;
}
/**
* Less'd version of Font Awesome in jQuery UI
* @author Gerits Aurelien, Vijay Dharap
*
**/
.ui-button-icon-primary.ui-icon[class^="icon-"]:before,
.ui-button-icon-primary.ui-icon[class*=" icon-"]:before,
.ui-button-icon-secondary.ui-icon[class^="icon-"]:before,
.ui-button-icon-secondary.ui-icon[class*=" icon-"]:before {
  font-size: inherit;
  margin-left: 7px!important;
  margin-left: 5px;
  display: inline;
  text-decoration: inherit;
  color: inherit;
}
/* **
* If you use "Font awesome" is disable UI icons in element
** */
.ui-state-default .ui-icon[class*=" icon-"] {
  /* Reset background with font Awesome */
  background: none;
  margin-left: -12px;
  /*fix for margin issue with font awesome buttons*/
}
/* If you do not use ui-icon uncomment the lines */
/*
.ui-button .ui-button-text{
    display: inline-block;
    padding:5px;
}

.ui-button-text-icon-primary .ui-button-icon-primary{
    float:none;
}*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvanEtdWktYm9vdHN0cmFwLW1peGluLWFkYXB0ZXIubGVzcyIsIi4uL2pxdWVyeS11aS9ib290c3RyYXAvbWl4aW5zLmxlc3MiLCIuLi9qcXVlcnktdWkvanEtdWktYm9vdHN0cmFwL2Jhc2UubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvY29yZS5sZXNzIiwidmFyaWFibGUvX3ZhcmlhYmxlc19ib290c3RyYXAubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvaWNvbnMubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvbWlzYy5sZXNzIiwiLi4vanF1ZXJ5LXVpL2pxLXVpLWJvb3RzdHJhcC9yZXNpemFibGUubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvc2VsZWN0YWJsZS5sZXNzIiwiLi4vanF1ZXJ5LXVpL2pxLXVpLWJvb3RzdHJhcC9hY2NvcmRpb24ubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvYXV0b2NvbXBsZXRlLmxlc3MiLCIuLi9qcXVlcnktdWkvanEtdWktYm9vdHN0cmFwL2J1dHRvbi5sZXNzIiwiLi4vanF1ZXJ5LXVpL2Jvb3RzdHJhcC9idXR0b25zLmxlc3MiLCIuLi9qcXVlcnktdWkvanEtdWktYm9vdHN0cmFwL21lbnUubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvc3Bpbm5lci5sZXNzIiwiLi4vanF1ZXJ5LXVpL2pxLXVpLWJvb3RzdHJhcC9kaWFsb2cubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvc2xpZGVyLmxlc3MiLCIuLi9qcXVlcnktdWkvanEtdWktYm9vdHN0cmFwL3RhYnMubGVzcyIsIi4uL2pxdWVyeS11aS9qcS11aS1ib290c3RyYXAvdG9vbHRpcC5sZXNzIiwiLi4vanF1ZXJ5LXVpL2pxLXVpLWJvb3RzdHJhcC9wcm9ncmVzc2Jhci5sZXNzIiwiLi4vanF1ZXJ5LXVpL2pxLXVpLWJvb3RzdHJhcC90b29sYmFyLmxlc3MiLCIuLi9qcXVlcnktdWkvanEtdWktYm9vdHN0cmFwL2RhdGVwaWNrZXIubGVzcyIsIi4uL2pxdWVyeS11aS90aGlyZFBhcnR5L3dpam1vLXRoZW1pbmcubGVzcyIsIi4uL2pxdWVyeS11aS90aGlyZFBhcnR5L3VpLmRhdGVyYW5nZXBpY2tlci5sZXNzIiwiLi4vanF1ZXJ5LXVpL3RoaXJkUGFydHkvZW5oYW5jZWQubGVzcyIsIi4uL2pxdWVyeS11aS90aGlyZFBhcnR5L2ZvbnQtYXdlc29tZS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkZBO0VDa2NFLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7O0FEbGNGO0VDK2JFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7O0FEL2JGO0VBQ0ksZ0JBQUE7Ozs7QUUvRko7RUFDQyxhQUFBOztBQUdEO0VBQ0MsU0FBQTtFQUNBLE1BQU0sYUFBTjtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBOztBQUdEO0VBQ0MsU0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7O0FBR0QsbUJBQW1CO0FBQ25CLG1CQUFtQjtFQUNsQixTQUFTLEVBQVQ7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBR0QsbUJBQW1CO0VBQ2xCLFNBQVMsR0FBVDtFQUNBLGNBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBOztBQUdEOztFQUVDLGNBQUE7RUFDQSxhQUFBOzs7O0FBSUQsQ0FBRSxLQUFLO0VBQ04sVUFBQTs7O0FBSUQ7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0Esa0JBQUE7RURrT0MsVUFBQTtFQUdBLHdCQUFB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O0VBQ0EsUUFBTyxrREFBUDtFQUVBLGVBQUE7O0FBR0Q7RUFDQyx5QkFBQTtFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RXhCdUJBLDhEQUFBO0VBQ0EsMkRBQUE7RUFDQSwwREFBQTtFQUNBLHlEQUFBO0VBQ0Esc0RBQUE7RUNxREMsc0RBQUE7RUFDUSw4Q0FBQTs7O0F1QjVFVixDQUFDLE9BQU07RUFDTixlQUFBOzs7QUFHRDtFQUNDLGtCQUFBO0VBQ0EsZ0VBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQkFBQTs7QUFHRDs7RUFFQyxpQkFBQTs7O0FBR0QsV0FBVyxNQUFPO0FBQW9CLGlCQUFrQjtFQUN2RCw0QkFBQTtFQUNBLFdBQUE7RUFDQSxxQkFBQTs7O0FBTUQ7QUFBcUI7QUFBcUI7QUFBcUI7QUFBc0I7RUFDcEYsK0NBQUE7O0FBRUQ7QUFBcUI7QUFBcUI7QUFBcUI7QUFBcUI7QUFBcUI7RUFDeEcsK0NBQUE7O0FBRUQ7QUFBcUI7QUFBcUI7RUFDekMsNkNBQUE7Ozs7O0FBTUQsYUFBYTtBQUFhO0VBQ3RCLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBOztBQUVKLGFBQWEsV0FBWTtFQUNyQixZQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTs7Ozs7OztBQzFGSix1QkFBdUIsUUFBUSxnQkFBZ0I7QUFDL0MsdUJBQXVCLFFBQVEsaUJBQWlCO0FBQ2hELHlCQUF5QixRQUFRLGdCQUFnQjtBQUNqRCx5QkFBeUIsUUFBUSxpQkFBaUI7RUFDOUMsa0JBQUE7RUFDQSwwQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLHdCQUFBO0VBQ0EsY0FBQTs7Ozs7QUFNSixpQkFBa0IsU0FBUTs7RUFFdEIsZ0JBQUE7RUFDQSxrQkFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIGpRdWVyeSBVSSBCb290c3RyYXAgdjEuMCBBbHBoYSAoTWl4aW5zKVxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVQuXHJcbiAqL1xyXG5cclxuLy8gQm9yZGVyIFJhZGl1c1xyXG4jdWktYm9yZGVyLXJhZGl1cyB7XHJcblx0LnRvcExlZnQgKCBAcmFkaXVzOiA0cHggKSB7XHJcblx0XHQtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogQHJhZGl1cztcclxuXHRcdC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxuXHRcdC1raHRtbC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxuXHR9XHJcblx0LnRvcFJpZ2h0ICggQHJhZGl1czogNHB4ICkge1xyXG5cdFx0LW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiBAcmFkaXVzO1xyXG5cdFx0LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxuXHRcdC1raHRtbC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdH1cclxuXHQuYm90dG9tTGVmdCAoIEByYWRpdXM6IDRweCApIHtcclxuXHRcdC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiBAcmFkaXVzO1xyXG5cdFx0LXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdFx0LWtodG1sLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XHJcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdH1cclxuXHQuYm90dG9tUmlnaHQgKCBAcmFkaXVzOiA0cHggKSB7XHJcblx0XHQtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IEByYWRpdXM7XHJcblx0XHQtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdFx0LWtodG1sLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XHJcblx0fVxyXG5cdFxyXG5cdC5ib3JkZXIoIEB0b3BMZWZ0OjZweCwgIEB0b3BSaWdodDo2cHgsIEBib3R0b21SaWdodDo2cHgsIEBib3R0b21MZWZ0OjZweCApIHtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHRvcExlZnQgQHRvcFJpZ2h0IEBib3R0b21SaWdodCBAYm90dG9tTGVmdDtcclxuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogQHRvcExlZnQgQHRvcFJpZ2h0IEBib3R0b21SaWdodCBAYm90dG9tTGVmdDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IEB0b3BMZWZ0IEB0b3BSaWdodCBAYm90dG9tUmlnaHQgQGJvdHRvbUxlZnQ7XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4udWktYm9yZGVyLXJhZGl1cyggQHJhZGl1cyApe1xyXG5cdCN1aS1ib3JkZXItcmFkaXVzICA+IC50b3BMZWZ0ICggQHJhZGl1cyApO1xyXG5cdCN1aS1ib3JkZXItcmFkaXVzICA+IC50b3BSaWdodCAoIEByYWRpdXMgKTtcclxuXHQjdWktYm9yZGVyLXJhZGl1cyAgPiAuYm90dG9tTGVmdCAoIEByYWRpdXMgKTtcclxuXHQjdWktYm9yZGVyLXJhZGl1cyAgPiAuYm90dG9tUmlnaHQgKCBAcmFkaXVzICk7XHJcbn1cclxuXHJcbiN1aS1ncmFkaWVudCB7XHJcblx0LnZlcnRpY2FsKEBzdGFydENvbG9yLCBAZW5kQ29sb3Ipe1xyXG5cdFx0I2dyYWRpZW50ID4gLnZlcnRpY2FsKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xyXG5cdH1cclxuXHJcblx0LnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvciwgQG1pZENvbG9yLCBAY29sb3JTdG9wLCBAZW5kQ29sb3IpIHtcclxuXHRcdCNncmFkaWVudCA+IC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciwgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbi51aS10cmFuc2l0aW9uKCBAdHJhbnNpdGlvbiApe1xyXG5cdC50cmFuc2l0aW9uKCBAdHJhbnNpdGlvbiApO1xyXG59XHJcblxyXG4udWktdHJhbnNpdGlvbiggQGFyZzEsIEBhcmcyICkge1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogQGFyZzEsIEBhcmcyO1xyXG5cdC1tb3otdHJhbnNpdGlvbjogQGFyZzEsIEBhcmcyO1xyXG5cdC1tcy10cmFuc2l0aW9uOiBAYXJnMSwgQGFyZzI7XHJcblx0LW8tdHJhbnNpdGlvbjogQGFyZzEsIEBhcmcyO1xyXG5cdHRyYW5zaXRpb246IEBhcmcxLCBAYXJnMjtcclxufVxyXG5cclxuLy8gRHJvcCBzaGFkb3dzXHJcbi51aS1ib3gtc2hhZG93KCBAc2hhZG93ICl7XHJcblx0LmJveC1zaGFkb3coIEBzaGFkb3cgKTtcclxufVxyXG5cclxuLnVpLWJveC1zaGFkb3coIEBhcmcxLCBAYXJnMiApe1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzogQGFyZzEsIEBhcmcyO1xyXG5cdC1tb3otYm94LXNoYWRvdzogQGFyZzEsIEBhcmcyO1xyXG5cdGJveC1zaGFkb3c6IEBhcmcxLCBAYXJnMjtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi12YXJpYW50KEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpIHtcclxuXHQuYnV0dG9uLXZhcmlhbnQoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcik7XHJcbn1cclxuXHJcbi51aS1idXR0b24tc2l6ZSAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2Upe1xyXG5cdC5idXR0b24tc2l6ZShAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAYm9yZGVyLXJhZGl1cy1sYXJnZSk7XHJcbn1cclxuXHJcbi51aS1idG4tbGd7XHJcblx0LnVpLWJ1dHRvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBib3JkZXItcmFkaXVzLWxhcmdlKTtcclxufVxyXG4udWktYnRuLXhze1xyXG5cdC51aS1idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbn1cclxuLnVpLWJ0bi1zbXtcclxuICAgIHBhZGRpbmc6IDFweCA1cHg7XHJcbn1cclxuXHJcbi51aS1vcGFjaXR5KEBvcGFjaXR5KSB7XHJcblx0Lm9wYWNpdHkoQG9wYWNpdHkpOyAvLyByZW1vdmVkIFwiLzEwMFwiIHNvIHRoYXQgc2FtZSB2YWx1ZXMgY2FuIGJlIHVzZWQgdmlhIC5vcGFjaXR5IGFuZCAudWktb3BhY2l0eSBtaXhpbnMuXHJcbn1cclxuXHJcbi51aS1yZXNldC1maWx0ZXIoKXtcclxuXHQucmVzZXQtZmlsdGVyKCk7XHJcbn1cclxuXHJcbi51aS1ib3gtc2l6aW5nKEBib3htb2RlbCkge1xyXG5cdC5ib3gtc2l6aW5nKEBib3htb2RlbCk7XHJcbn1cclxuXHJcbi51aS11c2VyLXNlbGVjdChAc2VsZWN0KSB7XHJcblx0LnVzZXItc2VsZWN0KEBzZWxlY3QpO1xyXG59XHJcblxyXG4udWktdGFiLWZvY3VzKCkge1xyXG5cdC50YWItZm9jdXMoKTtcclxufVxyXG5cclxuLnVpLWFuaW1hdGlvbihAYW5pbSkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbTtcclxuICAgICAtbW96LWFuaW1hdGlvbjogQGFuaW07XHJcbiAgICAgIC1tcy1hbmltYXRpb246IEBhbmltO1xyXG4gICAgICAgLW8tYW5pbWF0aW9uOiBAYW5pbTtcclxuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW07XHJcbn0iLCIvL1xyXG4vLyBNaXhpbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ2xlYXJmaXhcclxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cclxuLy9cclxuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xyXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxyXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxyXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcclxuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cclxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcclxuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxyXG4uY2xlYXJmaXgoKSB7XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFdlYktpdC1zdHlsZSBmb2N1c1xyXG4udGFiLWZvY3VzKCkge1xyXG4gIC8vIERlZmF1bHRcclxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcclxuICAvLyBXZWJLaXRcclxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XHJcbn1cclxuXHJcbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcclxuLmNlbnRlci1ibG9jaygpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vIFNpemluZyBzaG9ydGN1dHNcclxuLnNpemUoQHdpZHRoOyBAaGVpZ2h0KSB7XHJcbiAgd2lkdGg6IEB3aWR0aDtcclxuICBoZWlnaHQ6IEBoZWlnaHQ7XHJcbn1cclxuLnNxdWFyZShAc2l6ZSkge1xyXG4gIC5zaXplKEBzaXplOyBAc2l6ZSk7XHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHsgY29sb3I6IEBjb2xvcjsgICAvLyBGaXJlZm94IDE5K1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfSAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXHJcbn1cclxuXHJcbi8vIFRleHQgb3ZlcmZsb3dcclxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xyXG4udGV4dC1vdmVyZmxvdygpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxyXG4vL1xyXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXHJcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xyXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC4gTm90ZVxyXG4vLyB0aGF0IHdlIGNhbm5vdCBjaGFpbiB0aGUgbWl4aW5zIHRvZ2V0aGVyIGluIExlc3MsIHNvIHRoZXkgYXJlIHJlcGVhdGVkLlxyXG4vL1xyXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcclxuXHJcbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXHJcbi5oaWRlLXRleHQoKSB7XHJcbiAgZm9udDogflwiMC8wXCIgYTtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXHJcbi50ZXh0LWhpZGUoKSB7XHJcbiAgLmhpZGUtdGV4dCgpO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIENTUzMgUFJPUEVSVElFU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxufVxyXG4uYm9yZGVyLWJvdHRvbS1yYWRpdXMoQHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcbi5ib3JkZXItbGVmdC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XHJcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxufVxyXG5cclxuLy8gRHJvcCBzaGFkb3dzXHJcbi8vXHJcbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3NcclxuLy8gICBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IHRoZVxyXG4vLyAgIHN0YW5kYXJkIGBib3gtc2hhZG93YCBwcm9wZXJ0eS5cclxuLmJveC1zaGFkb3coQHNoYWRvdykge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcclxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XHJcbn1cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcclxuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xyXG59XHJcbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IEB0cmFuc2l0aW9uLXByb3BlcnR5O1xyXG59XHJcbi50cmFuc2l0aW9uLWRlbGF5KEB0cmFuc2l0aW9uLWRlbGF5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xyXG59XHJcbi50cmFuc2l0aW9uLWR1cmF0aW9uKEB0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG59XHJcbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gQHRyYW5zaXRpb247XHJcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcclxuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcclxuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcclxufVxyXG5cclxuLy8gVHJhbnNmb3JtYXRpb25zXHJcbi5yb3RhdGUoQGRlZ3JlZXMpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxufVxyXG4uc2NhbGUoQHJhdGlvOyBAcmF0aW8teS4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8sIEByYXRpby15KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvLCBAcmF0aW8teSk7IC8vIElFOSBvbmx5XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbywgQHJhdGlvLXkpO1xyXG59XHJcbi50cmFuc2xhdGUoQHg7IEB5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5IG9ubHlcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XHJcbn1cclxuLnNrZXcoQHg7IEB5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XHJcbn1cclxuLnRyYW5zbGF0ZTNkKEB4OyBAeTsgQHopIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xyXG59XHJcblxyXG4ucm90YXRlWChAZGVncmVlcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7IC8vIElFOSBvbmx5XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xyXG59XHJcbi5yb3RhdGVZKEBkZWdyZWVzKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XHJcbn1cclxuLnBlcnNwZWN0aXZlKEBwZXJzcGVjdGl2ZSkge1xyXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcclxuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XHJcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xyXG59XHJcbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XHJcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcclxuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xyXG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XHJcbn1cclxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcclxuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XHJcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luOyAvLyBJRTkgb25seVxyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcclxufVxyXG5cclxuLy8gQW5pbWF0aW9uc1xyXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcclxuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcclxufVxyXG4uYW5pbWF0aW9uLW5hbWUoQG5hbWUpIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcclxufVxyXG4uYW5pbWF0aW9uLWR1cmF0aW9uKEBkdXJhdGlvbikge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XHJcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcclxufVxyXG4uYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcclxufVxyXG4uYW5pbWF0aW9uLWRlbGF5KEBkZWxheSkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IEBkZWxheTtcclxufVxyXG4uYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChAaXRlcmF0aW9uLWNvdW50KSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcclxufVxyXG4uYW5pbWF0aW9uLWRpcmVjdGlvbihAZGlyZWN0aW9uKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcclxufVxyXG5cclxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxyXG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxyXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXHJcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xyXG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XHJcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcclxufVxyXG5cclxuLy8gQm94IHNpemluZ1xyXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcclxuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcclxuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcclxufVxyXG5cclxuLy8gVXNlciBzZWxlY3RcclxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXHJcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7IC8vIElFMTArXHJcbiAgICAgICAtby11c2VyLXNlbGVjdDogQHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xyXG59XHJcblxyXG4vLyBSZXNpemUgYW55dGhpbmdcclxuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XHJcbiAgcmVzaXplOiBAZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XHJcbn1cclxuXHJcbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXHJcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xyXG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xyXG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XHJcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xyXG59XHJcblxyXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxyXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xyXG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XHJcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTsgLy8gSUUxMCtcclxuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xyXG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XHJcbn1cclxuXHJcbi8vIE9wYWNpdHlcclxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcclxuICBvcGFjaXR5OiBAb3BhY2l0eTtcclxuICAvLyBJRTggZmlsdGVyXHJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XHJcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eS1pZX0pXCI7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gR1JBRElFTlRTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4jZ3JhZGllbnQge1xyXG5cclxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcclxuICAvL1xyXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cclxuICAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cclxuICB9XHJcblxyXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuICAvL1xyXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cclxuICAudmVydGljYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXHJcbiAgfVxyXG5cclxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAZGVnOiA0NWRlZykge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG4gIH1cclxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcclxuICB9XHJcbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXHJcbiAgfVxyXG4gIC5yYWRpYWwoQGlubmVyLWNvbG9yOiAjNTU1OyBAb3V0ZXItY29sb3I6ICMzMzMpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB9XHJcbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcclxuLy9cclxuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XHJcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXHJcbi5yZXNldC1maWx0ZXIoKSB7XHJcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gUmV0aW5hIGltYWdlc1xyXG4vL1xyXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemVcclxuXHJcbi5pbWctcmV0aW5hKEBmaWxlLTF4OyBAZmlsZS0yeDsgQHdpZHRoLTF4OyBAaGVpZ2h0LTF4KSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcclxuXHJcbiAgQG1lZGlhXHJcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBAd2lkdGgtMXggQGhlaWdodC0xeDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBSZXNwb25zaXZlIGltYWdlXHJcbi8vXHJcbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXHJcblxyXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrKSB7XHJcbiAgZGlzcGxheTogQGRpc3BsYXk7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxyXG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcclxufVxyXG5cclxuXHJcbi8vIENPTVBPTkVOVCBNSVhJTlNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEhvcml6b250YWwgZGl2aWRlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcclxuLm5hdi1kaXZpZGVyKEBjb2xvcjogI2U1ZTVlNSkge1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbn1cclxuXHJcbi8vIFBhbmVsc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wYW5lbC12YXJpYW50KEBib3JkZXI7IEBoZWFkaW5nLXRleHQtY29sb3I7IEBoZWFkaW5nLWJnLWNvbG9yOyBAaGVhZGluZy1ib3JkZXIpIHtcclxuICBib3JkZXItY29sb3I6IEBib3JkZXI7XHJcblxyXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAaGVhZGluZy1ib3JkZXI7XHJcblxyXG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAYm9yZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmID4gLnBhbmVsLWZvb3RlciB7XHJcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbGVydHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uYWxlcnQtdmFyaWFudChAYmFja2dyb3VuZDsgQGJvcmRlcjsgQHRleHQtY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6IEBib3JkZXI7XHJcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgNSUpO1xyXG4gIH1cclxuICAuYWxlcnQtbGluayB7XHJcbiAgICBjb2xvcjogZGFya2VuKEB0ZXh0LWNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcclxuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXHJcbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcclxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxyXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xyXG4gICAgPiB0ZC5Ae3N0YXRlfSxcclxuICAgID4gdGguQHtzdGF0ZX0sXHJcbiAgICAmLkB7c3RhdGV9ID4gdGQsXHJcbiAgICAmLkB7c3RhdGV9ID4gdGgge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcclxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cclxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcclxuICAgID4gdGQuQHtzdGF0ZX06aG92ZXIsXHJcbiAgICA+IHRoLkB7c3RhdGV9OmhvdmVyLFxyXG4gICAgJi5Ae3N0YXRlfTpob3ZlciA+IHRkLFxyXG4gICAgJi5Ae3N0YXRlfTpob3ZlciA+IHRoIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMaXN0IEdyb3Vwc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kOyBAY29sb3IpIHtcclxuICAubGlzdC1ncm91cC1pdGVtLUB7c3RhdGV9IHtcclxuICAgIGNvbG9yOiBAY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcclxuXHJcbiAgICBhJiB7XHJcbiAgICAgIGNvbG9yOiBAY29sb3I7XHJcblxyXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgeyBjb2xvcjogaW5oZXJpdDsgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSxcclxuICAgICAgJi5hY3RpdmU6aG92ZXIsXHJcbiAgICAgICYuYWN0aXZlOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcclxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXHJcbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XHJcbiAgY29sb3I6IEBjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6IEBib3JkZXI7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyxcclxuICAmOmFjdGl2ZSxcclxuICAmLmFjdGl2ZSxcclxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJiB7XHJcbiAgICBjb2xvcjogQGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA4JSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcclxuICB9XHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUsXHJcbiAgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSYge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcbiAgJi5kaXNhYmxlZCxcclxuICAmW2Rpc2FibGVkXSxcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IEBib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFkZ2Uge1xyXG4gICAgY29sb3I6IEBiYWNrZ3JvdW5kO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIHNpemVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XHJcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcclxuICBmb250LXNpemU6IEBmb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcclxuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuLy8gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBib3JkZXItcmFkaXVzKSB7XHJcbiAgPiBsaSB7XHJcbiAgICA+IGEsXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XHJcbiAgICB9XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgPiBhLFxyXG4gICAgICA+IHNwYW4ge1xyXG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICA+IGEsXHJcbiAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMYWJlbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubGFiZWwtdmFyaWFudChAY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbiAgJltocmVmXSB7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmJnLXZhcmlhbnQoQGNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xyXG4gIGEmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnRleHQtZW1waGFzaXMtdmFyaWFudChAY29sb3IpIHtcclxuICBjb2xvcjogQGNvbG9yO1xyXG4gIGEmOmhvdmVyIHtcclxuICAgIGNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cclxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxyXG4ubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBlbGVtZW50LWhlaWdodCkge1xyXG4gIG1hcmdpbi10b3A6ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcclxufVxyXG5cclxuLy8gUHJvZ3Jlc3MgYmFyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wcm9ncmVzcy1iYXItdmFyaWFudChAY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XHJcbiAgICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxyXG4ucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgdGFibGUmICB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgdHImICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgdGgmLFxyXG4gIHRkJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCkge1xyXG4gICAgJixcclxuICB0ciYsXHJcbiAgdGgmLFxyXG4gIHRkJiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG5cclxuLy8gR3JpZCBTeXN0ZW1cclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XHJcbi5jb250YWluZXItZml4ZWQoKSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XHJcbn1cclxuXHJcbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXHJcbi5tYWtlLXJvdyhAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBtYXJnaW4tbGVmdDogIChAZ3V0dGVyIC8gLTIpO1xyXG4gIG1hcmdpbi1yaWdodDogKEBndXR0ZXIgLyAtMik7XHJcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXHJcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xyXG59XHJcbi5tYWtlLXhzLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLm1ha2UteHMtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIHtcclxuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG4ubWFrZS14cy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXhzLW1pbikge1xyXG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXHJcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1pbi1oZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xyXG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbi5tYWtlLXNtLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLm1ha2Utc20tY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcclxuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xyXG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xyXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG4ubWFrZS1tZC1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbi5tYWtlLW1kLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLm1ha2UtbWQtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xyXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbi5tYWtlLWxnLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXHJcbi8vXHJcbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxyXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxyXG5cclxuLm1ha2UtZ3JpZC1jb2x1bW5zKCkge1xyXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXHJcbiAgLmNvbChAaW5kZXgpIHdoZW4gKEBpbmRleCA9IDEpIHsgLy8gaW5pdGlhbFxyXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcclxuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XHJcbiAgfVxyXG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbDsgXCI9PFwiIGlzbid0IGEgdHlwb1xyXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcclxuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xyXG4gIH1cclxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcclxuICAgIEB7bGlzdH0ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxyXG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XHJcbn1cclxuXHJcbi5tYWtlLWdyaWQtY29sdW1ucy1mbG9hdChAY2xhc3MpIHtcclxuICAuY29sKEBpbmRleCkgd2hlbiAoQGluZGV4ID0gMSkgeyAvLyBpbml0aWFsXHJcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xyXG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcclxuICB9XHJcbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsXHJcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xyXG4gICAgLmNvbCgoQGluZGV4ICsgMSksIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XHJcbiAgfVxyXG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxyXG4gICAgQHtsaXN0fSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcclxufVxyXG5cclxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xyXG4gIC5jb2wtQHtjbGFzc30tQHtpbmRleH0ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkge1xyXG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbi5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIHtcclxuICAuY29sLUB7Y2xhc3N9LXB1bGwtQHtpbmRleH0ge1xyXG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gb2Zmc2V0KSB7XHJcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJhc2ljIGxvb3BpbmcgaW4gTEVTU1xyXG4ubWFrZS1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQGluZGV4ID49IDApIHtcclxuICAuY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSk7XHJcbiAgLy8gbmV4dCBpdGVyYXRpb25cclxuICAubWFrZS1ncmlkKChAaW5kZXggLSAxKSwgQGNsYXNzLCBAdHlwZSk7XHJcbn1cclxuXHJcblxyXG4vLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXHJcbi8vXHJcbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcclxuLy8gYW5kIHN1Y2Nlc3Nlcy5cclxuXHJcbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogIzU1NTsgQGJvcmRlci1jb2xvcjogI2NjYzsgQGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcclxuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxyXG4gIC5oZWxwLWJsb2NrLFxyXG4gIC5jb250cm9sLWxhYmVsLFxyXG4gIC5yYWRpbyxcclxuICAuY2hlY2tib3gsXHJcbiAgLnJhZGlvLWlubGluZSxcclxuICAuY2hlY2tib3gtaW5saW5lICB7XHJcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XHJcbiAgfVxyXG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xyXG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXItY29sb3IsIDEwJSk7XHJcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlci1jb2xvciwgMjAlKTtcclxuICAgICAgLmJveC1zaGFkb3coQHNoYWRvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcclxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XHJcbiAgfVxyXG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cclxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxyXG4vL1xyXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxyXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1mb2N1cy1ib3JkZXJgIHZhcmlhYmxlLlxyXG4vL1xyXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2VcclxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cclxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xyXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXHJcbi8vXHJcbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxyXG5cclxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBpbnB1dC1ib3JkZXItZm9jdXMpIHtcclxuICBAY29sb3ItcmdiYTogcmdiYShyZWQoQGNvbG9yKSwgZ3JlZW4oQGNvbG9yKSwgYmx1ZShAY29sb3IpLCAuNik7XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCBAe2NvbG9yLXJnYmF9XCIpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xyXG4vL1xyXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXHJcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxyXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcclxuXHJcbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XHJcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xyXG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XHJcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XHJcblxyXG4gIHNlbGVjdCYge1xyXG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICB0ZXh0YXJlYSYsXHJcbiAgc2VsZWN0W211bHRpcGxlXSYge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG4iLCJcclxuLyogTGF5b3V0IGhlbHBlcnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi51aS1oZWxwZXItaGlkZGVuIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRtYXJnaW46IC0xcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMXB4O1xyXG59XHJcblxyXG4udWktaGVscGVyLXJlc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcblx0b3V0bGluZTogMDtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRmb250LXNpemU6IDEwMCU7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXHJcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxufVxyXG5cclxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XHJcblx0Y29udGVudDogXCIuXCI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLnVpLWhlbHBlci1jbGVhcmZpeCB7XHJcblx0LypkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICovXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovXHJcbn1cclxuXHJcbi8qIHJlcXVpcmVkIGNvbW1lbnQgZm9yIGNsZWFyZml4IHRvIHdvcmsgaW4gT3BlcmEgXFwqL1xyXG4qIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeCB7XHJcblx0aGVpZ2h0OjElO1xyXG59XHJcblxyXG4vKiBlbmQgY2xlYXJmaXggKi9cclxuLnVpLWhlbHBlci16Zml4IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdC51aS1vcGFjaXR5KDApO1xyXG59XHJcbi51aS1mcm9udCB7XHJcblx0ei1pbmRleDogMTAwO1xyXG59XHJcblxyXG5cclxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLXN0YXRlLWRpc2FibGVkIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8qIEljb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cclxuLnVpLWljb24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcblxyXG4vKiBNaXNjIHZpc3VhbHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBPdmVybGF5cyAqL1xyXG5cclxuLnVpLXdpZGdldC1vdmVybGF5IHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbiIsIi8qXHJcbiAqIGpRdWVyeSBVSSBCb290c3RyYXAgdjEuMCBBbHBoYVxyXG4gKlxyXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjEwLjNcclxuICpcclxuICogUG9ydGlvbnMgY29weXJpZ2h0IEFkZHkgT3NtYW5pLCBqUXVlcnkgVUkgJiBUd2l0dGVyLCBJbmMuXHJcbiAqIENyZWF0ZWQgdGhlIExFU1MgdmVyc2lvbiBieSBAZGhhcmFwdmpcclxuICogUmVsZWFzZWQgdW5kZXIgTUlUXHJcbiAqL1xyXG5cclxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWktd2lkZ2V0IHtcclxuXHRmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7IFxyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHQudWktd2lkZ2V0IHtcclxuXHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHR9XHJcblx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbiB7IFxyXG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1zYW5zLXNlcmlmOyBcclxuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHR9XHJcbn1cclxuXHJcbi51aS13aWRnZXQtY29udGVudCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgQGdyYXktbGlnaHQ7XHJcblx0YmFja2dyb3VuZDogQGJvZHktYmcgdXJsKFwiQHt1aS1pbWFnZS1kaXJ9L3VpLWJnX2dsYXNzXzc1X0B7dWktYm9keS1iZy1udW19XzF4NDAwLnBuZ1wiKSA1MCUgNTAlIHJlcGVhdC14O1xyXG5cdGNvbG9yOiBAZ3JheS1kYXJrO1xyXG59XHJcblxyXG4udWktd2lkZ2V0LWhlYWRlciB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAcGFuZWwtZGVmYXVsdC1ib3JkZXI7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogQGdyYXktZGFya2VyO1xyXG5cdH1cclxufVxyXG5cclxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLXN0YXRlLWRlZmF1bHQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xyXG4gICBjb2xvcjogIzMzMzMzMztcclxuICAgYmFja2dyb3VuZC1jb2xvcjogQHVpLXdoaXRlO1xyXG4gICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xyXG59XHJcblxyXG4udWktc3RhdGUtZGVmYXVsdCB7XHJcblx0YSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xyXG5cdFx0Y29sb3I6ICM1NTU1NTU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4udWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlcixcclxuLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xyXG5cdGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcclxuICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1ob3ZlciB7XHJcblx0YSwgYTpob3ZlciwgYTpsaW5rLCBhOnZpc2l0ZWQge1xyXG5cdFx0Y29sb3I6ICMzMzMzMzM7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4udWktc3RhdGUtYWN0aXZlLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2FkYWRhZDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGNvbG9yOiAjMzMzMzMzO1xyXG59XHJcblxyXG4udWktc3RhdGUtYWN0aXZlIHtcclxuXHRhLCBhOmxpbmssIGE6dmlzaXRlZCB7XHJcblx0XHRjb2xvcjogIzMzMzMzMztcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEludGVyYWN0aW9uIEN1ZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWktc3RhdGUtaGlnaGxpZ2h0LFxyXG4udWktc3RhdGUtZXJyb3IsXHJcbi51aS1zdGF0ZS1kZWZhdWx0IHtcclxuXHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcblxyXG4udWktc3RhdGUtaGlnaGxpZ2h0IHAsXHJcbi51aS1zdGF0ZS1lcnJvciBwLFxyXG4udWktc3RhdGUtZGVmYXVsdCBwIHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRsaW5lLWhlaWdodDogMThweDtcclxuXHRtYXJnaW46N3B4IDE1cHg7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1oaWdobGlnaHQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcclxuXHRjb2xvcjogIzNhODdhZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XHJcbiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcclxuXHRjb2xvcjogIzJkNjk4NztcclxufVxyXG5cclxuLnVpLXN0YXRlLWVycm9yLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige1xyXG5cdGNvbG9yOiAjYjk0YTQ4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcclxuICAgIGJvcmRlci1jb2xvcjogI2VlZDNkNztcclxufVxyXG5cclxuLnVpLXN0YXRlLWVycm9yIGEsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEge1xyXG5cdGNvbG9yOiAjOTUzYjM5O1xyXG59XHJcblxyXG4udWktc3RhdGUtZXJyb3ItdGV4dCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XHJcblx0Y29sb3I6ICM5NTNiMzk7XHJcbn1cclxuXHJcbi51aS1wcmlvcml0eS1wcmltYXJ5LFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xyXG5cdC51aS1vcGFjaXR5KC43KTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4udWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XHJcblx0LnVpLW9wYWNpdHkoLjM1KTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcblxyXG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xyXG5cdC51aS1vcGFjaXR5KC4zNSk7IC8qIEZvciBJRTggLSBTZWUgIzYwNTkgKi9cclxufVxyXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbldhbGxCZWUgT3ZlcnJpZGVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJfY29sb3IubGVzc1wiO1xyXG5cclxuLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLz09IENvbG9yc1xyXG4vL1xyXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXHJcblxyXG5AZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMDtcclxuQGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oQGdyYXktYmFzZSwgMTMuNSUpOyAvLyAjMjIyXHJcbkBncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKEBncmF5LWJhc2UsIDIwJSk7ICAgLy8gIzMzM1xyXG5AZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbihAZ3JheS1iYXNlLCAzMy41JSk7IC8vICM1NTVcclxuQGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oQGdyYXktYmFzZSwgODYuNyUpOyAvLyAjNzc3XHJcbkBncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKEBncmF5LWJhc2UsIDkzLjUlKTsgLy8gI2VlZVxyXG5cclxuQGJyYW5kLXByaW1hcnk6ICAgICAgICAgIzFCNTE5MjtcclxuQGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVFQjc1QjtcclxuQGJyYW5kLWluZm86ICAgICAgICAgICAgIzFmYjNlNjtcclxuQGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZTtcclxuQGJyYW5kLWRhbmdlcjogICAgICAgICAgI0E1MDExMztcclxuXHJcbi8vPT0gU2NhZmZvbGRpbmdcclxuLy9cclxuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cclxuQGJvZHktYmc6ICAgICAgICAgICAgICAgQGJvZHktYmctd2I7XHJcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXHJcbkB0ZXh0LWNvbG9yOiAgICAgICAgICAgIEBncmF5LWRhcms7XHJcblxyXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXHJcbkBsaW5rLWNvbG9yOiAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxyXG5AbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oQGxpbmstY29sb3IsIDE1JSk7XHJcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxyXG5AbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cclxuLy89PSBUeXBvZ3JhcGh5XHJcbi8vXHJcbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXHJcblxyXG5AZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuQGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XHJcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cclxuQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XHJcbkBmb250LWZhbWlseS1iYXNlOiAgICAgICAgQGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcblxyXG5AZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDEycHg7XHJcbkBmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpOyAvLyB+MThweFxyXG5AZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDAuODUpKTsgLy8gfjEycHhcclxuXHJcbkBmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDIuNikpOyAvLyB+MzZweFxyXG5AZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKChAZm9udC1zaXplLWJhc2UgKiAyLjE1KSk7IC8vIH4zMHB4XHJcbkBmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS43KSk7IC8vIH4yNHB4XHJcbkBmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpOyAvLyB+MThweFxyXG5AZm9udC1zaXplLWg1OiAgICAgICAgICAgIEBmb250LXNpemUtYmFzZTtcclxuQGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAwLjg1KSk7IC8vIH4xMnB4XHJcblxyXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXHJcbkBsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0Mjk7IC8vIDIwLzE0XHJcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXHJcbkBsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIEBsaW5lLWhlaWdodC1iYXNlKSk7IC8vIH4yMHB4XHJcblxyXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXHJcbkBoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdDtcclxuQGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDA7XHJcbkBoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xO1xyXG5AaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQ7XHJcblxyXG5cclxuLy89PSBJY29ub2dyYXBoeVxyXG4vL1xyXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXHJcblxyXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cclxuQGljb24tZm9udC1wYXRoOiAgICAgICAgICBcIi4uLy4uL2ZvbnQvYm9vdHN0cmFwL2ZvbnRzL1wiO1xyXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXHJcbkBpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCI7XHJcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cclxuQGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiO1xyXG5cclxuXHJcbi8vPT0gQ29tcG9uZW50c1xyXG4vL1xyXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cclxuXHJcbkBwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHg7XHJcbkBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4O1xyXG5cclxuQHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHg7XHJcbkBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4O1xyXG5cclxuQHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweDtcclxuQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHg7XHJcblxyXG5AcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4O1xyXG5AcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4O1xyXG5cclxuQGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMzsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXHJcbkBsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjU7XHJcblxyXG5AYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgMHB4OyAvL3NhbmplZXYgNHB4O1xyXG5AYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgMHB4OyAvL3NhbmplZXYgNnB4O1xyXG5AYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgMHB4OyAvL3NhbmplZXYgM3B4O1xyXG5cclxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxyXG5AY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZjtcclxuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXHJcbkBjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuXHJcbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXHJcbkBjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHg7XHJcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxyXG5AY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4O1xyXG5cclxuXHJcbi8vPT0gVGFibGVzXHJcbi8vXHJcbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxyXG5cclxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxyXG5AdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweDtcclxuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXHJcbkB0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xyXG5cclxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cclxuQHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXHJcbkB0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOTtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxyXG5AdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjU7XHJcbkB0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgQHRhYmxlLWJnLWhvdmVyO1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXHJcbkB0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgQGJvcmRlci1jb2xvcjtcclxuXHJcblxyXG4vLz09IEJ1dHRvbnNcclxuLy9cclxuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxyXG5cclxuQGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsO1xyXG5cclxuQGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuQGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuQGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYztcclxuXHJcbkBidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XHJcbkBidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG5AYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1wcmltYXJ5LWJnLCA1JSk7XHJcblxyXG5AYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xyXG5AYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtc3VjY2VzcztcclxuQGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKEBidG4tc3VjY2Vzcy1iZywgNSUpO1xyXG5cclxuQGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuQGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgQGJyYW5kLWluZm87XHJcbkBidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbihAYnRuLWluZm8tYmcsIDUlKTtcclxuXHJcbkBidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XHJcbkBidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgIEBicmFuZC13YXJuaW5nO1xyXG5AYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oQGJ0bi13YXJuaW5nLWJnLCA1JSk7XHJcblxyXG5AYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmO1xyXG5AYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xyXG5AYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1kYW5nZXItYmcsIDUlKTtcclxuXHJcbkBidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuXHJcbi8vPT0gRm9ybXNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxyXG5AaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcclxuQGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgQGdyYXk7XHJcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxyXG5AaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjZGRkO1xyXG5cclxuLy8gVE9ETzogUmVuYW1lIGBAaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYEBpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XHJcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cclxuQGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgQGJvcmRlci1yYWRpdXMtYmFzZTtcclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG5AaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcclxuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG5AaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxuXHJcbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcclxuQGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgQGlucHV0LWJvcmRlcjsgLy9AYnJhbmQtcHJpbWFyeTtcclxuXHJcbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxyXG5AaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5O1xyXG5cclxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcclxuQGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAyNnB4OyAvKihAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMik7Ki9cclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbkBpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKEBmb250LXNpemUtbGFyZ2UgKiBAbGluZS1oZWlnaHQtbGFyZ2UpICsgKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKTtcclxuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbkBpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcihAZm9udC1zaXplLXNtYWxsICogQGxpbmUtaGVpZ2h0LXNtYWxsKSArIChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMik7XHJcblxyXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXHJcbkBmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHg7XHJcblxyXG5AbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAZ3JheS1kYXJrO1xyXG5AbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1O1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xyXG5AaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcclxuQGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogQGlucHV0LWJvcmRlcjtcclxuXHJcbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxyXG5AY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZDtcclxuXHJcblxyXG4vLz09IERyb3Bkb3duc1xyXG4vL1xyXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cclxuXHJcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXHJcbkBkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cclxuQGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpO1xyXG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXHJcbkBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2M7XHJcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cclxuQGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNTtcclxuXHJcbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxyXG5AZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICBAZ3JheS1kYXJrO1xyXG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cclxuQGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKEBncmF5LWRhcmssIDUlKTtcclxuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cclxuQGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNTtcclxuXHJcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxyXG5AZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcclxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXHJcbkBkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgIEBjb21wb25lbnQtYWN0aXZlLWJnO1xyXG5cclxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cclxuQGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxyXG5AZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICBAZ3JheS1saWdodDtcclxuXHJcbi8vKiogRGVwcmVjYXRlZCBgQGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcclxuQGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMDtcclxuXHJcblxyXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3RcclxuLy9cclxuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XHJcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cclxuLy9cclxuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXHJcblxyXG5AemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwO1xyXG5AemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwO1xyXG5AemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwO1xyXG5AemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwO1xyXG5AemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwO1xyXG5AemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwO1xyXG5AemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwO1xyXG5cclxuXHJcbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4O1xyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcclxuQHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICBAc2NyZWVuLXhzO1xyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLXBob25lOiAgICAgICAgICAgICAgIEBzY3JlZW4teHMtbWluO1xyXG5cclxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XHJcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXHJcbkBzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHg7XHJcbkBzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgQHNjcmVlbi1zbTtcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXHJcbkBzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgQHNjcmVlbi1zbS1taW47XHJcblxyXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4O1xyXG5Ac2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4tbWQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcclxuQHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICBAc2NyZWVuLW1kLW1pbjtcclxuXHJcbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweDtcclxuQHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICBAc2NyZWVuLWxnO1xyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXHJcbkBzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgQHNjcmVlbi1sZy1taW47XHJcblxyXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cclxuQHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoQHNjcmVlbi1zbS1taW4gLSAxKTtcclxuQHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoQHNjcmVlbi1tZC1taW4gLSAxKTtcclxuQHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoQHNjcmVlbi1sZy1taW4gLSAxKTtcclxuXHJcblxyXG4vLz09IEdyaWQgc3lzdGVtXHJcbi8vXHJcbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cclxuXHJcbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXHJcbkBncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMjtcclxuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cclxuQGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDIwcHg7XHJcbi8vIE5hdmJhciBjb2xsYXBzZVxyXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cclxuQGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgIEBzY3JlZW4tc20tbWluO1xyXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXHJcbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoQGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xyXG5cclxuXHJcbi8vPT0gQ29udGFpbmVyIHNpemVzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cclxuXHJcbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxyXG5AY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKTtcclxuLy8qKiBGb3IgYEBzY3JlZW4tc20tbWluYCBhbmQgdXAuXHJcbkBjb250YWluZXItc206ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLXRhYmxldDtcclxuXHJcbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXHJcbkBjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyBAZ3JpZC1ndXR0ZXItd2lkdGgpO1xyXG4vLyoqIEZvciBgQHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cclxuQGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgIEBjb250YWluZXItZGVza3RvcDtcclxuXHJcbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG5AY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArIEBncmlkLWd1dHRlci13aWR0aCk7XHJcbi8vKiogRm9yIGBAc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxyXG5AY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgQGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wO1xyXG5cclxuXHJcbi8vPT0gTmF2YmFyXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxyXG5AbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHg7XHJcbkBuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG5AbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcbkBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKEBncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcclxuQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKEBuYXZiYXItaGVpZ2h0IC0gQGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpO1xyXG5AbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4O1xyXG5cclxuQG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3O1xyXG5AbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4Zjg7XHJcbkBuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItZGVmYXVsdC1iZywgNi41JSk7XHJcblxyXG4vLyBOYXZiYXIgbGlua3NcclxuQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3Nzc7XHJcbkBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzO1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbkBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1O1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItZGVmYXVsdC1iZywgNi41JSk7XHJcbkBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjO1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcclxuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xyXG5AbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKEBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKTtcclxuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuLy8gTmF2YmFyIHRvZ2dsZVxyXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZDtcclxuQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODg7XHJcbkBuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkO1xyXG5cclxuXHJcbi8vIEludmVydGVkIG5hdmJhclxyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXHJcbkBuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihAZ3JheS1saWdodCwgMTUlKTtcclxuQG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyO1xyXG5AbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDEwJSk7XHJcblxyXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcclxuQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKEBncmF5LWxpZ2h0LCAxNSUpO1xyXG5AbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmY7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgMTAlKTtcclxuQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0O1xyXG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXHJcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XHJcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZjtcclxuQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcclxuQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzO1xyXG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmY7XHJcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMztcclxuXHJcblxyXG4vLz09IE5hdnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcclxuQG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHg7XHJcbkBuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuXHJcbkBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XHJcbkBuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLz09IFRhYnNcclxuQG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkO1xyXG5cclxuQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG5cclxuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICBAYm9keS1iZztcclxuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBAZ3JheTtcclxuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkO1xyXG5cclxuQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkO1xyXG5AbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgIEBib2R5LWJnO1xyXG5cclxuLy89PSBQaWxsc1xyXG5AbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XHJcblxyXG5cclxuLy89PSBQYWdpbmF0aW9uXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIEBsaW5rLWNvbG9yO1xyXG5AcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG5AcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkO1xyXG5cclxuQHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgQGxpbmstaG92ZXItY29sb3I7XHJcbkBwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XHJcbkBwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQ7XHJcblxyXG5AcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xyXG5AcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuQHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XHJcblxyXG5AcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICBAZ3JheS1saWdodDtcclxuQHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZjtcclxuQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZDtcclxuXHJcblxyXG4vLz09IFBhZ2VyXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWJnO1xyXG5AcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ib3JkZXI7XHJcbkBwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHg7XHJcblxyXG5AcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ob3Zlci1iZztcclxuXHJcbkBwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWFjdGl2ZS1iZztcclxuQHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xyXG5cclxuQHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XHJcblxyXG5cclxuLy89PSBKdW1ib3Ryb25cclxuLy9cclxuLy8jI1xyXG5cclxuQGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweDtcclxuQGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdDtcclxuQGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdDtcclxuQGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS41KSk7XHJcblxyXG5cclxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXHJcblxyXG5Ac3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkO1xyXG5Ac3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4O1xyXG5Ac3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpO1xyXG5cclxuQHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZjtcclxuQHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNztcclxuQHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLWluZm8tYmcsIC0xMCksIDclKTtcclxuXHJcbkBzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2I7XHJcbkBzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTM7XHJcbkBzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSk7XHJcblxyXG5Ac3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyO1xyXG5Ac3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlO1xyXG5Ac3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSk7XHJcblxyXG5cclxuLy89PSBUb29sdGlwc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXHJcbkB0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4O1xyXG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxyXG5AdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxyXG5AdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwO1xyXG5AdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOTtcclxuXHJcbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxyXG5AdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHg7XHJcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxyXG5AdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICBAdG9vbHRpcC1iZztcclxuXHJcblxyXG4vLz09IFBvcG92ZXJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcclxuQHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxyXG5AcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4O1xyXG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXHJcbkBwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMik7XHJcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcclxuQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjO1xyXG5cclxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcclxuQHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQHBvcG92ZXItYmcsIDMlKTtcclxuXHJcbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxyXG5AcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHg7XHJcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxyXG5AcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgIEBwb3BvdmVyLWJnO1xyXG5cclxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXHJcbkBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKEBwb3BvdmVyLWFycm93LXdpZHRoICsgMSk7XHJcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxyXG5AcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVpbihAcG9wb3Zlci1ib3JkZXItY29sb3IsIDUlKTtcclxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXHJcbkBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKEBwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKTtcclxuXHJcblxyXG4vLz09IExhYmVsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG5AbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICBAZ3JheS1saWdodDtcclxuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuQGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XHJcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgIEBicmFuZC1zdWNjZXNzO1xyXG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG5AbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICBAYnJhbmQtaW5mbztcclxuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuQGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XHJcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuQGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgQGJyYW5kLWRhbmdlcjtcclxuXHJcbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXHJcbkBsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXHJcbkBsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmY7XHJcblxyXG5cclxuLy89PSBNb2RhbHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcclxuQG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweDtcclxuXHJcbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxyXG5AbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4O1xyXG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XHJcbkBtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgIEBsaW5lLWhlaWdodC1iYXNlO1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxyXG5AbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcclxuQG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKTtcclxuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxyXG5AbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTk7XHJcblxyXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcclxuQG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMDtcclxuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XHJcbkBtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41O1xyXG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcclxuQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNTtcclxuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXHJcbkBtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgIEBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xyXG5cclxuQG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHg7XHJcbkBtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4O1xyXG5AbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweDtcclxuXHJcblxyXG4vLz09IEFsZXJ0c1xyXG4vL1xyXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxyXG5cclxuQGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweDtcclxuQGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgQGJvcmRlci1yYWRpdXMtYmFzZTtcclxuQGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZDtcclxuXHJcbkBhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgIEBzdGF0ZS1zdWNjZXNzLWJnO1xyXG5AYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICBAc3RhdGUtc3VjY2Vzcy10ZXh0O1xyXG5AYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICBAc3RhdGUtc3VjY2Vzcy1ib3JkZXI7XHJcblxyXG5AYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICBAc3RhdGUtaW5mby1iZztcclxuQGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgQHN0YXRlLWluZm8tdGV4dDtcclxuQGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgQHN0YXRlLWluZm8tYm9yZGVyO1xyXG5cclxuQGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgQHN0YXRlLXdhcm5pbmctYmc7XHJcbkBhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgIEBzdGF0ZS13YXJuaW5nLXRleHQ7XHJcbkBhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgIEBzdGF0ZS13YXJuaW5nLWJvcmRlcjtcclxuXHJcbkBhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgIEBzdGF0ZS1kYW5nZXItYmc7XHJcbkBhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgIEBzdGF0ZS1kYW5nZXItdGV4dDtcclxuQGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgQHN0YXRlLWRhbmdlci1ib3JkZXI7XHJcblxyXG5cclxuLy89PSBQcm9ncmVzcyBiYXJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XHJcbkBwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjU7XHJcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcclxuQHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZjtcclxuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxyXG5AcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxyXG5AcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxyXG5AcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICBAYnJhbmQtc3VjY2VzcztcclxuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxyXG5AcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICBAYnJhbmQtd2FybmluZztcclxuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbkBwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgIEBicmFuZC1kYW5nZXI7XHJcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcclxuQHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgQGJyYW5kLWluZm87XHJcblxyXG5cclxuLy89PSBMaXN0IGdyb3VwXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcclxuQGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcclxuQGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkO1xyXG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xyXG5AbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcclxuQGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1O1xyXG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcclxuQGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXHJcbkBsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXHJcbkBsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgQGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xyXG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXHJcbkBsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbihAbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSk7XHJcblxyXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xyXG5AbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICBAZ3JheS1saWdodDtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcclxuQGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXHJcbkBsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xyXG5cclxuQGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1O1xyXG5AbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgIEBsaXN0LWdyb3VwLWxpbmstY29sb3I7XHJcbkBsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMztcclxuXHJcblxyXG4vLz09IFBhbmVsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG5AcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4O1xyXG5AcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHg7XHJcbkBwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgIEBwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XHJcbkBwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xyXG5AcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkO1xyXG5AcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1O1xyXG5cclxuQHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgQGdyYXktZGFyaztcclxuQHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZDtcclxuQHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNTtcclxuXHJcbkBwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmY7XHJcbkBwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG5AcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICBAYnJhbmQtcHJpbWFyeTtcclxuXHJcbkBwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgIEBzdGF0ZS1zdWNjZXNzLXRleHQ7XHJcbkBwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgIEBzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcclxuQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgQHN0YXRlLXN1Y2Nlc3MtYmc7XHJcblxyXG5AcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICBAc3RhdGUtaW5mby10ZXh0O1xyXG5AcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICBAc3RhdGUtaW5mby1ib3JkZXI7XHJcbkBwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgIEBzdGF0ZS1pbmZvLWJnO1xyXG5cclxuQHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgQHN0YXRlLXdhcm5pbmctdGV4dDtcclxuQHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgQHN0YXRlLXdhcm5pbmctYm9yZGVyO1xyXG5AcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICBAc3RhdGUtd2FybmluZy1iZztcclxuXHJcbkBwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgIEBzdGF0ZS1kYW5nZXItdGV4dDtcclxuQHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgQHN0YXRlLWRhbmdlci1ib3JkZXI7XHJcbkBwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgIEBzdGF0ZS1kYW5nZXItYmc7XHJcblxyXG5cclxuLy89PSBUaHVtYm5haWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxyXG5AdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHg7XHJcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcclxuQHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgQGJvZHktYmc7XHJcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxyXG5AdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkO1xyXG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXHJcbkB0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcclxuQHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgQHRleHQtY29sb3I7XHJcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXHJcbkB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweDtcclxuXHJcblxyXG4vLz09IFdlbGxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbkB3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjU7XHJcbkB3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbihAd2VsbC1iZywgNyUpO1xyXG5cclxuXHJcbi8vPT0gQmFkZ2VzXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcclxuQGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZjtcclxuQGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXHJcbkBiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgIEBsaW5rLWNvbG9yO1xyXG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXHJcbkBiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmY7XHJcblxyXG5AYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkO1xyXG5AYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxO1xyXG5AYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4O1xyXG5cclxuXHJcbi8vPT0gQnJlYWRjcnVtYnNcclxuLy9cclxuLy8jI1xyXG5cclxuQGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHg7XHJcbkBicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweDtcclxuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcclxuQGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1O1xyXG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxyXG5AYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2M7XHJcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcclxuQGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICBAZ3JheS1saWdodDtcclxuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXHJcbkBicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCI7XHJcblxyXG5cclxuLy89PSBDYXJvdXNlbFxyXG4vL1xyXG4vLyMjXHJcblxyXG5AY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpO1xyXG5cclxuQGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbkBjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSU7XHJcbkBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNTtcclxuQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHg7XHJcblxyXG5AY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZjtcclxuQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmY7XHJcblxyXG5AY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcblxyXG4vLz09IENsb3NlXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQ7XHJcbkBjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDA7XHJcbkBjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZjtcclxuXHJcblxyXG4vLz09IENvZGVcclxuLy9cclxuLy8jI1xyXG5cclxuQGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZTtcclxuQGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNDtcclxuXHJcbkBrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbkBrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzM7XHJcblxyXG5AcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1O1xyXG5AcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAZ3JheS1kYXJrO1xyXG5AcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjO1xyXG5AcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweDtcclxuXHJcblxyXG4vLz09IFR5cGVcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxyXG5AY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweDtcclxuLy8qKiBUZXh0IG11dGVkIGNvbG9yXHJcbkB0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxyXG5AYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICBAZ3JheS1saWdodDtcclxuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxyXG5AaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICBAZ3JheS1saWdodDtcclxuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXHJcbkBibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgIEBncmF5LWxpZ2h0O1xyXG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXHJcbkBibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgIChAZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcclxuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxyXG5AYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICBAZ3JheS1saWdodGVyO1xyXG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxyXG5AcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICBAZ3JheS1saWdodGVyO1xyXG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcclxuQGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgQGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDtcclxuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXHJcbkBoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XHJcbiIsIi8qIEljb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cclxuXHJcbi8vIEZJWE1FIC0gVGhlIHNhaWQgaW1hZ2VzIGFyZSBub3QgcHJlc2VudCB1bmRlciB0aGUgaW1hZ2UgZGlyZWN0b3J5IGN1cnJlbnRseSEgTmVlZCB0byB0aGluayBhYm91dCBob3cgdG8gZml4IHRoYXQhXHJcblxyXG4udWktaWNvbiB7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7dWktaW1hZ2UtZGlyfS91aS1pY29uc19Ae3VpLWdyYXktZGFya2VyLW51bX1fMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuXHJcbi51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHt1aS1pbWFnZS1kaXJ9L3VpLWljb25zX0B7dWktZ3JheS1kYXJrZXItbnVtfV8yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG5cclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7dWktaW1hZ2UtZGlyfS91aS1pY29uc19Ae3VpLWdyYXktZGFya2VyLW51bX1fMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1kZWZhdWx0IC51aS1pY29uIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe3VpLWltYWdlLWRpcn0vdWktaWNvbnNfQHt1aS1ncmF5LWxpZ2h0LW51bX1fMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcclxuLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe3VpLWltYWdlLWRpcn0vdWktaWNvbnNfQHt1aS1ncmF5LW51bX1fMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24ge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7dWktaW1hZ2UtZGlyfS91aS1pY29uc19Ae3VpLWdyYXktbnVtfV8yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG5cclxuLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHt1aS1pbWFnZS1kaXJ9L3VpLWljb25zX0B7dWktYnJhbmQtcHJpbWFyeS1udW19XzI1NngyNDAucG5nXCIpO1xyXG59XHJcblxyXG4udWktc3RhdGUtZXJyb3IgLnVpLWljb24sXHJcbi51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe3VpLWltYWdlLWRpcn0vdWktaWNvbnNfQHt1aS1icmFuZC13YXJuaW5nLW51bX1fMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuXHJcbi8qIHBvc2l0aW9uaW5nICovXHJcblxyXG4udWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxyXG5cclxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XHJcblxyXG4udWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3dzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH1cclxuXHJcbi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XHJcblxyXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH1cclxuXHJcbi51aS1pY29uLWFycm93LTQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9XHJcbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XHJcbi51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfVxyXG4udWktaWNvbi1uZXd3aW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtODBweDsgfVxyXG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cclxuLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9XHJcbi51aS1pY29uLXRyYW5zZmVyLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC04MHB4OyB9XHJcbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XHJcblxyXG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxyXG4udWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWRvY3VtZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk2cHg7IH1cclxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XHJcbi51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfVxyXG4udWktaWNvbi1tYWlsLWNsb3NlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05NnB4OyB9XHJcbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XHJcbi51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWNvbW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk2cHg7IH1cclxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XHJcbi51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9XHJcbi51aS1pY29uLXRyYXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxyXG4udWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfVxyXG4udWktaWNvbi1ib29rbWFyayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTZweDsgfVxyXG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cclxuXHJcbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxyXG4udWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cclxuLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9XHJcbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH1cclxuLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfVxyXG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9XHJcbi51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH1cclxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cclxuLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9XHJcbi51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XHJcblxyXG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxyXG4udWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLXBsdXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cclxuLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1saWdodGJ1bGIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWNvcHkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi12aWRlbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTI4cHg7IH1cclxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxyXG5cclxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxyXG4udWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLW5vdGljZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLWJ1bGxldCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9XHJcbi51aS1pY29uLXBpbi13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cclxuXHJcbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxyXG4udWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXNlZWstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLWVqZWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNjBweDsgfVxyXG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxyXG4udWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9XHJcblxyXG4udWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XHJcbi51aS1pY29uLXNpZ25hbC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH1cclxuLnVpLWljb24tYmF0dGVyeS0xIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH1cclxuXHJcbi51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH1cclxuXHJcbi51aS1pY29uLWNpcmNsZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDhweDsgfVxyXG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxyXG4udWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfVxyXG4udWktaWNvbi1zcXVhcmVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIwOHB4OyB9XHJcbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XHJcbi51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9XHJcblxyXG4udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjI0cHg7IH1cclxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxyXG4udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH1cclxuLnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH0iLCIvKiBNaXNjIHZpc3VhbHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBDb3JuZXIgcmFkaXVzICovXHJcblxyXG4udWktY29ybmVyLWFsbCB7XHJcblx0Ym9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcclxufVxyXG5cclxuLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci10bCB7XHJcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcclxufVxyXG5cclxuLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItcmlnaHQsIC51aS1jb3JuZXItdHIge1xyXG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG59XHJcblxyXG4udWktY29ybmVyLWJvdHRvbSwgLnVpLWNvcm5lci1sZWZ0LCAudWktY29ybmVyLWJsIHtcclxuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG59XHJcblxyXG4udWktY29ybmVyLWJvdHRvbSwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci1iciB7XHJcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XHJcbn1cclxuXHJcblxyXG4vKiBPdmVybGF5cyAqL1xyXG5cclxuLnVpLXdpZGdldC1vdmVybGF5IHtcclxuXHRiYWNrZ3JvdW5kOiBAZ3JheS1saWdodCB1cmwoXCJAe3VpLWltYWdlLWRpcn0vdWktYmdfZmxhdF8wX0B7dWktZ3JheS1saWdodC1udW19XzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcclxuXHQudWktb3BhY2l0eSguMzApO1xyXG59XHJcblxyXG4udWktd2lkZ2V0LXNoYWRvdyB7XHJcblx0bWFyZ2luOiAtOHB4IDAgMCAtOHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiBAZ3JheS1saWdodCB1cmwoXCJAe3VpLWltYWdlLWRpcn0vdWktYmdfZmxhdF8wX0B7dWktZ3JheS1saWdodC1udW19XzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcclxuXHQudWktb3BhY2l0eSguMzApO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweCA7XHJcbn1cclxuXHJcblxyXG4vKioqIElucHV0IGZpZWxkIHN0eWxpbmcgZnJvbSBCb290c3RyYXAgKiovXHJcblxyXG4vKlxyXG5pbnB1dCwgdGV4dGFyZWEge1xyXG5cdC51aS10cmFuc2l0aW9uKH5cImJvcmRlciBsaW5lYXIgMC4ycywgYm94LXNoYWRvdyBsaW5lYXIgMC4yc1wiKTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbmlucHV0OmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XHJcblx0b3V0bGluZTogMDtcclxuXHRib3JkZXItY29sb3I6IHJnYmEoODIsIDE2OCwgMjM2LCAwLjgpO1xyXG5cdC51aS1ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMCA4cHggcmdiYSg4MiwgMTY4LCAyMzYsIDAuNilcIik7XHJcbn1cclxuaW5wdXRbdHlwZT1maWxlXTpmb2N1cywgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsIHNlbGVjdDpmb2N1cyB7XHJcblx0LnVpLWJveC1zaGFkb3cgKG5vbmUpO1xyXG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgIzY2NjtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4udWktYXV0b2NvbXBsZXRlLWlucHV0LFxyXG50ZXh0YXJlYSxcclxuLnVuZWRpdGFibGUtaW5wdXQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdGNvbG9yOiAjNTU1NTU1O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICAudWktYm94LXNpemluZyggY29udGVudC1ib3gpO1xyXG59XHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4qLyIsIi8qIVxyXG4gKiBqUXVlcnkgVUkgQm9vdHN0cmFwIHYxLjAgQWxwaGFcclxuICpcclxuICogalF1ZXJ5IFVJIFJlc2l6YWJsZSAxLjEwLjNcclxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcmVzaXphYmxlL1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcblxyXG4udWktcmVzaXphYmxlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtaGFuZGxlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Zm9udC1zaXplOiAwLjFweDtcclxuXHR6LWluZGV4OiA5OTk5OTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSxcclxuLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVzaXphYmxlLWhhbmRsZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnVpLXJlc2l6YWJsZS1uIHtcclxuXHRjdXJzb3I6IG4tcmVzaXplO1xyXG5cdGhlaWdodDogN3B4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRvcDogLTVweDtcclxuXHRsZWZ0OiAwO1xyXG59XHJcblxyXG4udWktcmVzaXphYmxlLXMge1xyXG5cdGN1cnNvcjogcy1yZXNpemU7XHJcblx0aGVpZ2h0OiA3cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym90dG9tOiAtNXB4O1xyXG5cdGxlZnQ6IDA7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtZSB7XHJcblx0Y3Vyc29yOiBlLXJlc2l6ZTtcclxuXHR3aWR0aDogN3B4O1xyXG5cdHJpZ2h0OiAtNXB4O1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtdyB7XHJcblx0Y3Vyc29yOiB3LXJlc2l6ZTtcclxuXHR3aWR0aDogN3B4O1xyXG5cdGxlZnQ6IC01cHg7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnVpLXJlc2l6YWJsZS1zZSB7XHJcblx0Y3Vyc29yOiBzZS1yZXNpemU7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdHJpZ2h0OiAxcHg7XHJcblx0Ym90dG9tOiAxcHg7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtc3cge1xyXG5cdGN1cnNvcjogc3ctcmVzaXplO1xyXG5cdHdpZHRoOiA5cHg7XHJcblx0aGVpZ2h0OiA5cHg7XHJcblx0bGVmdDogLTVweDtcclxuXHRib3R0b206IC01cHg7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtbncge1xyXG5cdGN1cnNvcjogbnctcmVzaXplO1xyXG5cdHdpZHRoOiA5cHg7XHJcblx0aGVpZ2h0OiA5cHg7XHJcblx0bGVmdDogLTVweDtcclxuXHR0b3A6IC01cHg7XHJcbn1cclxuXHJcbi51aS1yZXNpemFibGUtbmUge1xyXG5cdGN1cnNvcjogbmUtcmVzaXplO1xyXG5cdHdpZHRoOiA5cHg7XHJcblx0aGVpZ2h0OiA5cHg7XHJcblx0cmlnaHQ6IC01cHg7XHJcblx0dG9wOiAtNXB4O1xyXG59IiwiLypcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBTZWxlY3RhYmxlIDEuMTAuM1xyXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tL3NlbGVjdGFibGUvXHJcbiAqXHJcbiAqIFBvcnRpb25zIGNvcHlyaWdodCBBZGR5IE9zbWFuaSwgalF1ZXJ5IFVJICYgVHdpdHRlciwgSW5jLlxyXG4gKiBDcmVhdGVkIHRoZSBMRVNTIHZlcnNpb24gYnkgQGRoYXJhcHZqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuXHJcbi51aS1zZWxlY3RhYmxlLWhlbHBlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxuXHRib3JkZXI6IDFweCBkb3R0ZWQgQHVpLWJsYWNrO1xyXG59XHJcbiIsIi8qXHJcbiAqIGpRdWVyeSBVSSBCb290c3RyYXAgdjEuMCBBbHBoYVxyXG4gKlxyXG4gKiBqUXVlcnkgVUkgQWNjb3JkaW9uIDEuMTAuM1xyXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tL2FjY29yZGlvbi9cclxuICpcclxuICogUG9ydGlvbnMgY29weXJpZ2h0IEFkZHkgT3NtYW5pLCBqUXVlcnkgVUkgJiBUd2l0dGVyLCBJbmMuXHJcbiAqIENyZWF0ZWQgdGhlIExFU1MgdmVyc2lvbiBieSBAZGhhcmFwdmpcclxuICogUmVsZWFzZWQgdW5kZXIgTUlUXHJcbiAqL1xyXG4vKiBJRS9XaW4gLSBGaXggYW5pbWF0aW9uIGJ1ZyAtICM0NjE1ICovXHJcbi51aS1hY2NvcmRpb24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdC51aS1hY2NvcmRpb24ge1xyXG5cdFx0Ji1saS1maXgge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHR9XHJcblx0XHQmLWhlYWRlci1hY3RpdmUge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IFxyXG5cdFx0fVxyXG5cdFx0Ji1oZWFkZXIgeyBcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAycHg7XHJcblx0XHRcdHBhZGRpbmc6IC41ZW0gLjVlbSAuNWVtIC43ZW07XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDA7IC8qIHN1cHBvcnQ6IElFNyAqL1xyXG5cdFx0fVxyXG5cdFx0Ji1pY29ucyB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMi4yZW07XHJcblx0XHR9XHJcblx0XHQmLW5vaWNvbnMge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IC43ZW07XHJcblx0XHR9XHJcblx0XHQmLWljb25zIHtcclxuXHRcdFx0LnVpLWFjY29yZGlvbi1pY29uc3tcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIuMmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLWhlYWRlciB7XHJcblx0XHRcdC51aS1hY2NvcmRpb24taGVhZGVyLWljb24ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcdFxyXG5cdFx0XHRcdGxlZnQ6IC41ZW07XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLThweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji1jb250ZW50IHsgXHJcblx0XHRcdHBhZGRpbmc6IDFlbSAyLjJlbTsgXHJcblx0XHRcdGJvcmRlci10b3A6IDA7IFxyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMnB4OyBcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRcdFx0dG9wOiAxcHg7IFxyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycHg7IFxyXG5cdFx0XHRvdmVyZmxvdzogYXV0bzsgXHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7IFxyXG5cdFx0fVxyXG5cdFx0Ji1jb250ZW50LWFjdGl2ZSB7IFxyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLypcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgMS4xMC4zXHJcbiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQXV0b2NvbXBsZXRlI3RoZW1pbmdcclxuICpcclxuICogUG9ydGlvbnMgY29weXJpZ2h0IEFkZHkgT3NtYW5pLCBqUXVlcnkgVUkgJiBUd2l0dGVyLCBJbmMuXHJcbiAqIENyZWF0ZWQgdGhlIExFU1MgdmVyc2lvbiBieSBAZGhhcmFwdmpcclxuICogUmVsZWFzZWQgdW5kZXIgTUlUXHJcbiAqL1xyXG4udWktYXV0b2NvbXBsZXRlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59IiwiLypcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBCdXR0b24gMS4xMC4zXHJcbiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQnV0dG9uI3RoZW1pbmdcclxuICpcclxuICogUG9ydGlvbnMgY29weXJpZ2h0IEFkZHkgT3NtYW5pLCBqUXVlcnkgVUkgJiBUd2l0dGVyLCBJbmMuXHJcbiAqIENyZWF0ZWQgdGhlIExFU1MgdmVyc2lvbiBieSBAZGhhcmFwdmpcclxuICogUmVsZWFzZWQgdW5kZXIgTUlUXHJcbiAqL1xyXG4udWktYnV0dG9uIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IEB1aS1wYWRkaW5nLWJhc2UtdmVydGljYWwgQHVpLXBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xyXG4gIFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBAdWktYnRuLWRlZmF1bHQtYm9yZGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6QHVpLXdoaXRlO1xyXG5cdC51aS11c2VyLXNlbGVjdChub25lKTtcclxuXHQmOmZvY3VzIHtcclxuXHQgIC51aS10YWItZm9jdXMoKVxyXG5cdH1cclxuXHQmOmZvY3VzLCAmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAjMzMzMzMzO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcclxuXHRcdGJvcmRlci1jb2xvcjogI2FkYWRhZDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbnVpLWJ1dHRvbi5kaXNhYmxlZCxcclxudWktYnV0dG9uW2Rpc2FibGVkXSxcclxuZmllbGRzZXRbZGlzYWJsZWRdIHVpLWJ1dHRvbixcclxudWktYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxyXG51aS1idXR0b25bZGlzYWJsZWRdOmhvdmVyLFxyXG5maWVsZHNldFtkaXNhYmxlZF0gdWktYnV0dG9uOmhvdmVyLFxyXG51aS1idXR0b24uZGlzYWJsZWQ6Zm9jdXMsXHJcbnVpLWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsXHJcbmZpZWxkc2V0W2Rpc2FibGVkXSB1aS1idXR0b246Zm9jdXMsXHJcbnVpLWJ1dHRvbi5kaXNhYmxlZDphY3RpdmUsXHJcbnVpLWJ1dHRvbltkaXNhYmxlZF06YWN0aXZlLFxyXG5maWVsZHNldFtkaXNhYmxlZF0gdWktYnV0dG9uOmFjdGl2ZSxcclxudWktYnV0dG9uLmRpc2FibGVkLmFjdGl2ZSxcclxudWktYnV0dG9uW2Rpc2FibGVkXS5hY3RpdmUsXHJcbmZpZWxkc2V0W2Rpc2FibGVkXSB1aS1idXR0b24udWktc3RhdGUtYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdWktd2hpdGU7XHJcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xyXG59XHJcblxyXG4udWktYnRuLWxhcmdle1xyXG5cdC5idG4tbGc7XHJcbn1cclxuXHJcbi51aS1idG4tc21hbGx7XHJcblx0LmJ0bi1zbTtcclxufVxyXG5cclxuLnVpLWJ0bi1taW5pIHtcclxuXHQuYnRuLXhzO1xyXG59XHJcblxyXG4udWktYnRuLWJsb2NrIHtcclxuXHQuYnRuLWJsb2NrO1xyXG59XHJcblxyXG4udWktYnRuLWJsb2NrICsgLnVpLWJ0bi1ibG9jayB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGlucHV0W3R5cGU9XCJyZXNldFwiXSwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXXtcclxuXHQmLnVpLWJ0bi1ibG9ja3tcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSBcclxuLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkge1xyXG4gICAgZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSB7XHJcbnBhZGRpbmc6MnB4IDdweCAzcHg7XHJcbn1cclxuXHJcbi51aS1idXR0b24ge1xyXG5cdC51aS1idXR0b24tdmFyaWFudChAdWktd2hpdGUsIEB1aS1idG4tZGVmYXVsdC1iZywgQHVpLWJ0bi1kZWZhdWx0LWJvcmRlcik7XHJcbn1cclxuXHJcbi51aS1idXR0b24tcHJpbWFyeSB7XHJcblx0LnVpLWJ1dHRvbi12YXJpYW50KEB1aS13aGl0ZSwgQHVpLWJ0bi1wcmltYXJ5LWJnLCBAdWktYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG4udWktYnV0dG9uLXdhcm5pbmcge1xyXG5cdC51aS1idXR0b24tdmFyaWFudChAdWktd2hpdGUsIEB1aS1idG4td2FybmluZy1iZywgQHVpLWJ0bi13YXJuaW5nLWJvcmRlcik7XHJcbn1cclxuLnVpLWJ1dHRvbi1pbmZvIHtcclxuXHQudWktYnV0dG9uLXZhcmlhbnQoQHVpLXdoaXRlLCBAdWktYnRuLWluZm8tYmcsIEB1aS1idG4taW5mby1ib3JkZXIpO1xyXG59XHJcbi51aS1idXR0b24tZGFuZ2VyIHtcclxuXHQudWktYnV0dG9uLXZhcmlhbnQoQHVpLXdoaXRlLCBAdWktYnRuLWRhbmdlci1iZywgQHVpLWJ0bi1kYW5nZXItYm9yZGVyKTtcclxufVxyXG4udWktYnV0dG9uLWludmVyc2Uge1xyXG5cdC51aS1idXR0b24tdmFyaWFudChAdWktd2hpdGUsIEB1aS1ncmF5LWRhcmtlciwgQHVpLWdyYXktZGFya2VyKTtcclxufVxyXG4udWktYnV0dG9uLXN1Y2Nlc3Mge1xyXG5cdC51aS1idXR0b24tdmFyaWFudChAdWktd2hpdGUsIEB1aS1idG4tc3VjY2Vzcy1iZywgQHVpLWJ0bi1zdWNjZXNzLWJvcmRlcik7XHJcbn1cclxuLnVpLWJ1dHRvbi1lcnJvciB7XHJcblx0LnVpLWJ1dHRvbi12YXJpYW50KEB1aS13aGl0ZSwgQHVpLWJ0bi1kYW5nZXItYmcsIEB1aS1idG4tZGFuZ2VyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGljb24sIGEgd2lkdGggbmVlZHMgdG8gYmUgc2V0IGhlcmUgKi9cclxuLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xyXG5cdHdpZHRoOiAyLjJlbTtcclxufVxyXG5cclxuLyogYnV0dG9uIGVsZW1lbnRzIHNlZW0gdG8gbmVlZCBhIGxpdHRsZSBtb3JlIHdpZHRoICovXHJcbi51aS1idXR0b24taWNvbnMtb25seSB7XHJcblx0d2lkdGg6IDMuNGVtO1xyXG59XHJcblxyXG5idXR0b24udWktYnV0dG9uLWljb25zLW9ubHkge1xyXG5cdHdpZHRoOiAzLjdlbTtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeS51aS1pY29uIHtcclxuICAgIG1hcmdpbi10b3A6NXB4O1xyXG59XHJcbi8qYnV0dG9uIHRleHQgZWxlbWVudCAqL1xyXG5cclxuLnVpLWJ1dHRvbiAudWktYnV0dG9uLXRleHQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGxpbmUtaGVpZ2h0OiBAdWktbGluZS1oZWlnaHQtYmFzZTtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10ZXh0LFxyXG4udWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHtcclxuXHRwYWRkaW5nOiAuNGVtO1xyXG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG5cdGRpc3BsYXk6bm9uZTsgLyp0ZW1wZml4Ki9cclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLXRleHQsXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQge1xyXG5cdHBhZGRpbmc6IC40ZW0gMWVtIC40ZW0gMi4xZW07XHJcbn1cclxuXHJcbi51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQge1xyXG5cdHBhZGRpbmc6IC40ZW0gMi4xZW0gLjRlbSAxZW07XHJcbn1cclxuXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQge1xyXG5cdHBhZGRpbmctbGVmdDogMi4xZW07XHJcblx0cGFkZGluZy1yaWdodDogMi4xZW07XHJcbn1cclxuXHJcbi8qIG5vIGljb24gc3VwcG9ydCBmb3IgaW5wdXQgZWxlbWVudHMsIHByb3ZpZGUgcGFkZGluZyBieSBkZWZhdWx0ICovXHJcbmlucHV0LnVpLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogLjRlbSAxZW07XHJcbn1cclxuXHJcbi8qYnV0dG9uIGljb24gZWxlbWVudChzKSAqL1xyXG4udWktYnV0dG9uLWljb24tb25seSAudWktaWNvbixcclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbixcclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1pY29uLFxyXG4udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWljb24sXHJcbi51aS1idXR0b24taWNvbnMtb25seSAudWktaWNvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIHRvcDogNTAlO1xyXG59XHJcblxyXG4udWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiB7XHJcblx0bGVmdDogNTAlO1xyXG5cdC8qIGNocm9tZSBtYXJnaW4qL1xyXG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG5cdC8qIGZpcmVmb3ggbWFyZ2luKi9cclxuICAgIG1hcmdpbi1yaWdodDogLTZweDtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSwgLnVpLWJ1dHRvbi10ZXh0LWljb25zLCAudWktYnV0dG9uLWljb25zLW9ubHkge1xyXG5cdC51aS1idXR0b24taWNvbi1wcmltYXJ5IHtcclxuXHRcdGxlZnQ6IC41ZW07XHJcblx0fVxyXG59XHJcblxyXG4udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24tdGV4dC1pY29ucywgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IHtcclxuXHQudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5e1xyXG5cdFx0cmlnaHQ6IC41ZW07XHJcblx0fVxyXG59XHJcblxyXG4udWktYnV0dG9uLXRleHQtaWNvbnMsIC51aS1idXR0b24taWNvbnMtb25seSB7XHJcblx0LnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeXtcclxuXHRcdHJpZ2h0OiAuNWVtO1xyXG5cdH1cclxufVxyXG5cclxuLypidXR0b24gc2V0cyovXHJcblxyXG4udWktYnV0dG9uc2V0IHtcclxuXHRtYXJnaW4tcmlnaHQ6IDdweDtcclxuXHQudWktc3RhdGUtYWN0aXZlIHtcclxuXHRcdGNvbG9yOiBAdWktd2hpdGU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMzU3ZWJkO1xyXG5cdFx0Ji51aS1zdGF0ZS1ob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBAdWktd2hpdGU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMzMjc2YjE7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogIzI4NWU4ZTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnVpLWJ1dHRvbiB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogLS40ZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiByZXNldCBleHRyYSBwYWRkaW5nIGluIEZpcmVmb3ggKi9cclxuYnV0dG9uLnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn0gXHJcbiIsIi8vXHJcbi8vIEJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBCYXNlIHN0eWxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cclxuICBmb250LXdlaWdodDogQGJ0bi1mb250LXdlaWdodDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWJhc2UtdmVydGljYWw7IEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1iYXNlOyBAbGluZS1oZWlnaHQtYmFzZTsgQGJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIC50YWItZm9jdXMoKTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XHJcbiAgfVxyXG5cclxuICAmLmRpc2FibGVkLFxyXG4gICZbZGlzYWJsZWRdLFxyXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3NcclxuICAgIC5vcGFjaXR5KC42NSk7XHJcbiAgICAuYm94LXNoYWRvdyhub25lKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0bi1kZWZhdWx0IHtcclxuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kZWZhdWx0LWNvbG9yOyBAYnRuLWRlZmF1bHQtYmc7IEBidG4tZGVmYXVsdC1ib3JkZXIpO1xyXG59XHJcbi5idG4tcHJpbWFyeSB7XHJcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tcHJpbWFyeS1jb2xvcjsgQGJ0bi1wcmltYXJ5LWJnOyBAYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cclxuLmJ0bi1zdWNjZXNzIHtcclxuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1zdWNjZXNzLWNvbG9yOyBAYnRuLXN1Y2Nlc3MtYmc7IEBidG4tc3VjY2Vzcy1ib3JkZXIpO1xyXG59XHJcbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXHJcbi5idG4taW5mbyB7XHJcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcclxufVxyXG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXHJcbi5idG4td2FybmluZyB7XHJcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4td2FybmluZy1jb2xvcjsgQGJ0bi13YXJuaW5nLWJnOyBAYnRuLXdhcm5pbmctYm9yZGVyKTtcclxufVxyXG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcclxuLmJ0bi1kYW5nZXIge1xyXG4gIC5idXR0b24tdmFyaWFudChAYnRuLWRhbmdlci1jb2xvcjsgQGJ0bi1kYW5nZXItYmc7IEBidG4tZGFuZ2VyLWJvcmRlcik7XHJcbn1cclxuXHJcblxyXG4vLyBMaW5rIGJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcclxuLmJ0bi1saW5rIHtcclxuICBjb2xvcjogQGxpbmstY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgJixcclxuICAmOmFjdGl2ZSxcclxuICAmW2Rpc2FibGVkXSxcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxuICAmLFxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyxcclxuICAmOmFjdGl2ZSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQnV0dG9uIFNpemVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYnRuLWxnIHtcclxuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XHJcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBib3JkZXItcmFkaXVzLWxhcmdlKTtcclxufVxyXG4uYnRuLXNtIHtcclxuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcclxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xyXG59XHJcbi5idG4teHMge1xyXG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbn1cclxuXHJcblxyXG4vLyBCbG9jayBidXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5idG4tYmxvY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXHJcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xyXG4gICYuYnRuLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvKiFcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBNZW51IDEuMTAuM1xyXG4gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL01lbnUjdGhlbWluZ1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcbi51aS1tZW51IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDJweDtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHQudWktbWVudXtcclxuXHRcdG1hcmdpbi10b3A6IC0zcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsaXN0LXN0eWxlOm5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKlxyXG4qIEJ1ZyBpbmxpbmUgd2l0aCBJRSBzdWIgbWVudVxyXG4qL1xyXG4vKiBJRTksIElFMTAgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDp+XCIwXFwwXCIpIHtcclxuXHQudWktbWVudSBsaSB7XHJcblx0ICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0ICBkaXNwbGF5OiBpbmxpbmU7XHJcblx0ICBsaW5lLWhlaWdodDogMDtcclxuXHR9XHJcblxyXG5cdGxpLnVpLW1lbnUtaXRlbSB7IFxyXG5cdCAgLyogVGhpcyBmaXhlcyB0aGUgSUUxMCBpc3N1ZSAoalF1ZXJ5IFVJIElzc3VlICM4ODQ0KSovXHJcblx0ICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi51aS1tZW51e1xyXG5cdC51aS1tZW51LWl0ZW0ge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bGlzdC1zdHlsZTpub25lO1xyXG5cdFx0Lyogc3VwcG9ydDogSUUxMCwgc2VlICM4ODQ0ICovXHJcblx0XHRsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3KTtcclxuXHR9XHJcblx0LnVpLW1lbnUtZGl2aWRlciB7XHJcblx0XHRtYXJnaW46IDVweCAtMnB4IDVweCAtMnB4O1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0Zm9udC1zaXplOiAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0XHRib3JkZXItd2lkdGg6IDFweCAwIDAgMDtcclxuXHR9XHJcblx0LnVpLW1lbnUtaXRlbSBhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogMnB4IC40ZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0bWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovXHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuXHRcdGJhY2tncm91bmQtY29sb3I6IEB1aS1tZW51LWl0ZW0tYS1iZztcclxuXHRcdGJvcmRlci1jb2xvcjogQHVpLW1lbnUtaXRlbS1hLWJvcmRlcjtcclxuXHRcdGNvbG9yOiBAdWktbWVudS1pdGVtLWEtY29sb3I7XHJcblx0XHRcclxuXHRcdCYudWktY29ybmVyLWFsbHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMHB4O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmLnVpLXN0YXRlLWZvY3VzLCAmLnVpLXN0YXRlLWFjdGl2ZSwgJi51aS13aWRnZXQtY29udGVudHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji51aS1zdGF0ZS1hY3RpdmUsICYudWktd2lkZ2V0LWNvbnRlbnQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAdWktbWVudS1pdGVtLWEtYWN0aXZlLWJnO1xyXG5cdFx0XHRib3JkZXItY29sb3I6IEB1aS1tZW51LWl0ZW0tYS1hY3RpdmUtYm9yZGVyO1xyXG5cdFx0XHRjb2xvcjogQHVpLW1lbnUtaXRlbS1hLWFjdGl2ZS1jb2xvcjtcclxuXHRcdH1cclxuXHJcblx0XHQmLnVpLXN0YXRlLWZvY3VzIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQHVpLW1lbnUtaXRlbS1hLWZvY3VzLWJnO1xyXG5cdFx0XHRib3JkZXItY29sb3I6IEB1aS1tZW51LWl0ZW0tYS1mb2N1cy1ib3JkZXI7XHJcblx0XHRcdGNvbG9yOiBAdWktbWVudS1pdGVtLWEtZm9jdXMtY29sb3I7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8qIEZpeCBwcm9ibGVtIHdpdGggYm9yZGVyIGluIHVpLXN0YXRlLWFjdGl2ZSAqL1xyXG5cdFx0LnVpLXN0YXRlLWFjdGl2ZSB7XHJcblx0XHRcdHBhZGRpbmc6IDFweCAuNGVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnVpLW1lbnUgLnVpLXN0YXRlLWRpc2FibGVkIHtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdG1hcmdpbjogLjRlbSAwIC4yZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRhIHtcclxuXHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIGljb24gc3VwcG9ydCAqL1xyXG4udWktbWVudS1pY29ucyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC51aS1tZW51LWl0ZW0gYSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi51aS1tZW51e1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblx0LyogbGVmdC1hbGlnbmVkICovXHJcblx0LnVpLWljb24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAuMmVtO1xyXG5cdFx0bGVmdDogLjJlbTtcclxuXHR9XHJcblxyXG5cdC8qIHJpZ2h0LWFsaWduZWQgKi9cclxuXHQudWktbWVudS1pY29uIHtcclxuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG59XHJcbiIsIi8qIVxyXG4gKiBqUXVlcnkgVUkgQm9vdHN0cmFwIHYxLjAgQWxwaGFcclxuICpcclxuICogalF1ZXJ5IFVJIHNwaW5uZXIgMS4xMC4zXHJcbiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTWVudSN0aGVtaW5nXHJcbiAqXHJcbiAqIFBvcnRpb25zIGNvcHlyaWdodCBBZGR5IE9zbWFuaSwgalF1ZXJ5IFVJICYgVHdpdHRlciwgSW5jLlxyXG4gKiBDcmVhdGVkIHRoZSBMRVNTIHZlcnNpb24gYnkgQGRoYXJhcHZqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuXHJcbi51aS1zcGlubmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4udWktc3Bpbm5lci1pbnB1dCB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IC4yZW0gMjJweCAwLjJlbSAwLjRlbTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4udWktc3Bpbm5lci1idXR0b24ge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogNTAlO1xyXG5cdGZvbnQtc2l6ZTogLjVlbTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHJpZ2h0OiAwO1xyXG59XHJcblxyXG4vKiBtb3JlIHNwZWNpZmljaXR5IHJlcXVpcmVkIGhlcmUgdG8gb3ZlcmlkZSBkZWZhdWx0IGJvcmRlcnMgKi9cclxuLnVpLXNwaW5uZXIge1xyXG5cdGEudWktc3Bpbm5lci1idXR0b24ge1xyXG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0fVxyXG5cdC8qIHZlcnRpY2FsIGNlbnRyZSBpY29uICovXHJcblx0LnVpLWljb24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLXRvcDogLThweDtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0bGVmdDogMDtcclxuXHR9XHJcblx0LyogbmVlZCB0byBmaXggaWNvbnMgc3ByaXRlICovXHJcblx0LnVpLWljb24tdHJpYW5nbGUtMS1zIHtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0xNnB4O1xyXG5cdH1cclxufVxyXG5cdFxyXG4udWktc3Bpbm5lci11cCB7XHJcblx0dG9wOiAwO1xyXG59XHJcblxyXG4udWktc3Bpbm5lci1kb3duIHtcclxuXHRib3R0b206IDA7XHJcbn1cclxuIiwiLyohXHJcbiAqIGpRdWVyeSBVSSBCb290c3RyYXAgdjEuMCBBbHBoYVxyXG4gKlxyXG4gKiBqUXVlcnkgVUkgRGlhbG9nIDEuMTAuM1xyXG4gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RpYWxvZyN0aGVtaW5nXHJcbiAqXHJcbiAqIFBvcnRpb25zIGNvcHlyaWdodCBBZGR5IE9zbWFuaSwgalF1ZXJ5IFVJICYgVHdpdHRlciwgSW5jLlxyXG4gKiBDcmVhdGVkIHRoZSBMRVNTIHZlcnNpb24gYnkgQGRoYXJhcHZqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuLnVpLWRpYWxvZyB7IFxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cGFkZGluZzogLjJlbTsgXHJcblx0d2lkdGg6IDMwMHB4OyBcclxuXHRvdmVyZmxvdzogaGlkZGVuOyBcclxuXHRvdXRsaW5lOiAwO1xyXG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XHJcblx0LnVpLWJveC1zaGFkb3coMCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKSk7XHJcblx0b3V0bGluZTogbWVkaXVtIG5vbmU7XHJcblx0ei1pbmRleDogMTA1MDtcclxuXHQudWktZGlhbG9nLXRpdGxlYmFyIHsgXHJcblx0XHQvKnBhZGRpbmc6IC40ZW0gMWVtOyovXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3JkZXI6MHB4IDBweCAwcHggMXB4IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiBAdWktd2hpdGU7XHJcblx0XHRwYWRkaW5nOiA1cHggMTVweDtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0I3VpLWJvcmRlci1yYWRpdXMgPiAuYm90dG9tUmlnaHQgKCAwcHggKTtcclxuXHRcdCN1aS1ib3JkZXItcmFkaXVzID4gLmJvdHRvbUxlZnQgKCAwcHggKTtcclxuXHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkIGRhcmtlbihAdWktZ3JheS1saWdodGVyLCAxNCk7XHJcblx0fVxyXG5cdC51aS1kaWFsb2ctdGl0bGUge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRjb2xvcjpAdWktZ3JheS1kYXJrOyAvLyBGSVhNRSAtIHRoaXMgbmVlZHMgdG8gYmUgIzQwNDA0MFxyXG5cdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcclxuXHRcdG1hcmdpbi10b3A6NXB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTo1cHg7XHJcblx0XHRwYWRkaW5nOjVweCAwO1xyXG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHQudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAuM2VtO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHR3aWR0aDogMTlweDtcclxuXHRcdG1hcmdpbjogLTIwcHggMCAwIDA7XHJcblx0XHRwYWRkaW5nOiAxcHg7XHJcblx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMy41cHg7XHJcblx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMCBAdWktd2hpdGU7XHJcblx0XHQudWktb3BhY2l0eSguMjUpO1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJvcmRlci13aWR0aDogMDtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdC5ib3gtc2hhZG93KCBub25lKTtcclxuXHR9XHJcblx0LnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFuIHsgXHJcblx0XHRkaXNwbGF5OiBibG9jazsgXHJcblx0XHRtYXJnaW46IDFweDsgXHJcblx0XHR0ZXh0LWluZGVudDo5OTk5cHg7XHJcblx0fVxyXG5cdC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6Zm9jdXMgeyBcclxuXHRcdC5vcGFjaXR5KC45KTtcclxuXHR9XHJcblx0LnVpLWRpYWxvZy1jb250ZW50IHsgXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0Ym9yZGVyOiAwOyBcclxuXHRcdHBhZGRpbmc6IDE1cHg7IFxyXG5cdFx0YmFja2dyb3VuZDogbm9uZTsgXHJcblx0XHRvdmVyZmxvdzogYXV0bzsgXHJcblx0fVxyXG5cdC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdFx0bWFyZ2luOiAuNWVtIDAgMCAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHVpLWZvcm0tYWN0aW9ucy1iYWNrZ3JvdW5kO1xyXG5cdFx0cGFkZGluZzogNXB4IDE1cHggNXB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbihAdWktZ3JheS1saWdodGVyLDEwJSk7XHJcblx0XHQjdWktYm9yZGVyLXJhZGl1cyA+IC5ib3JkZXIoIDAsIDAsIDZweCwgNnB4ICk7XHJcblx0XHQudWktYm94LXNoYWRvdyggaW5zZXQgMCAxcHggMCBAdWktd2hpdGUgKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cdC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnNldCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG5cdC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b24geyBcclxuXHRcdG1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDsgXHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7IFxyXG5cdH1cclxuXHQudWktcmVzaXphYmxlLXNlIHsgXHJcblx0XHR3aWR0aDogMTRweDsgXHJcblx0XHRoZWlnaHQ6IDE0cHg7IFxyXG5cdFx0cmlnaHQ6IDNweDsgXHJcblx0XHRib3R0b206IDNweDsgXHJcblx0fVxyXG59XHJcbi51aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhciB7IGN1cnNvcjogbW92ZTsgfVxyXG5cclxuLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IC51aS1idXR0b24ge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMzU3ZWJkO1xyXG5cdCYudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMzMjc2YjE7XHJcblx0XHRib3JkZXItY29sb3I6ICMyODVlOGU7XHJcblx0fVxyXG59XHJcblxyXG4vKioqRGlhbG9nIGZpeGVzKiovXHJcbi51aS1kaWFsb2ctYnV0dG9uc2V0IC51aS1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcclxuICAgIC51aS10cmFuc2l0aW9uKCAwLjFzIGxpbmVhciBhbGwpO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblx0Ji51aS1zdGF0ZS1ob3ZlcntcclxuXHRcdGNvbG9yOiAjMzMzMzMzO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcclxuXHRcdGJvcmRlci1jb2xvcjogI2FkYWRhZDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi51aS1kaWFsb2ctYnV0dG9uc2V0IC51aS1idXR0b257XHJcblx0LyogdWktZGlhbG9nLWJ1dHRvbnNldCBVSSBpbmZvICovXHJcblx0Ji51aS1idXR0b24taW5mb3tcclxuXHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTtcclxuXHRcdGJvcmRlci1jb2xvcjogIzQ2YjhkYTtcclxuXHRcdCYudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzliM2Q3O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICMyNjlhYmM7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIHVpLWRpYWxvZy1idXR0b25zZXQgVUkgc3VjY2VzcyAqL1xyXG5cdCYudWktYnV0dG9uLXN1Y2Nlc3N7XHJcblx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7XHJcblx0XHRib3JkZXItY29sb3I6ICM0Y2FlNGM7XHJcblx0XHQmLnVpLXN0YXRlLWhvdmVye1xyXG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzQ3YTQ0NztcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjMzk4NDM5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiB1aS1kaWFsb2ctYnV0dG9uc2V0IFVJIHdhcm5pbmcgKi9cclxuXHQmLnVpLWJ1dHRvbi13YXJuaW5ne1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjBhZDRlO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjZWVhMjM2O1xyXG5cdFx0Ji51aS1zdGF0ZS1ob3ZlcntcclxuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlZDljMjg7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogI2Q1ODUxMjtcclxuXHRcdH1cclxuXHR9XHJcblx0LyogdWktZGlhbG9nLWJ1dHRvbnNldCBVSSBEYW5nZXIgKi9cclxuXHQmLnVpLWJ1dHRvbi1kYW5nZXJ7XHJcblx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XHJcblx0XHRib3JkZXItY29sb3I6ICNkNDNmM2E7XHJcblx0XHQmLnVpLXN0YXRlLWhvdmVye1xyXG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2QyMzIyZDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjYWMyOTI1O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiB1aS1kaWFsb2ctYnV0dG9uc2V0IFVJIEludmVyc2UgKi9cclxuXHQmLnVpLWJ1dHRvbi1pbnZlcnNle1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMDgwODA4O1xyXG5cdFx0Ji51aS1zdGF0ZS1ob3ZlcntcclxuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMzNjM2MzY7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogIzAwMDAwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLypcclxuICogalF1ZXJ5IFVJIFNsaWRlciAxLjEwLjNcclxuICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIjdGhlbWluZ1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcbi51aS1zbGlkZXIgeyBcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdHRleHQtYWxpZ246IGxlZnQ7IFxyXG5cdC8qIEZvciBJRTggLSBTZWUgIzY3MjcgKi9cclxuXHQudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1oYW5kbGUsXHJcblx0LnVpLXN0YXRlLWRpc2FibGVkIC51aS1zbGlkZXItcmFuZ2Uge1xyXG5cdFx0ZmlsdGVyOiBpbmhlcml0O1xyXG5cdH1cclxuXHQudWktc2xpZGVyLWhhbmRsZSB7IFxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHRcdHotaW5kZXg6IDI7IFxyXG5cdFx0d2lkdGg6IDEuMmVtOyBcclxuXHRcdGhlaWdodDogMS4yZW07IFxyXG5cdFx0Y3Vyc29yOiBkZWZhdWx0OyBcclxuXHR9XHJcblx0LnVpLXNsaWRlci1yYW5nZSB7IFxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHRcdHotaW5kZXg6IDE7IFxyXG5cdFx0Zm9udC1zaXplOiAuN2VtOyBcclxuXHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRcdGJvcmRlcjogMDsgXHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcblxyXG5cdFx0Y29sb3I6IEB1aS13aGl0ZTtcclxuXHRcdCN1aS1ncmFkaWVudCA+IC52ZXJ0aWNhbCAoIEB1aS1saW5rLWNvbG9yLCBAdWktbGluay1ob3Zlci1jb2xvciApO1x0Ly8gRklYTUUgLSBOZWVkIHRvIGZpeCB0aGUgY29sb3JzXHJcblx0XHQudWktYm94LXNoYWRvdyggMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KSApO1xyXG5cdFx0LnVpLWJveC1zaXppbmcoIGJvcmRlci1ib3ggKTtcclxuXHRcdC51aS10cmFuc2l0aW9uKCB3aWR0aCAwLjZzIGVhc2UpO1xyXG5cdFx0Lypib3JkZXItY29sb3I6IEB1aS1ibHVlLWRhcmsgQHVpLWJsdWUtZGFyayBAdWktYmx1ZTtcclxuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpOyAqL1xyXG5cdH1cclxufVxyXG5cclxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcclxuXHRoZWlnaHQ6IC44ZW07XHJcblx0LnVpLXNsaWRlci1oYW5kbGUgeyBcclxuXHRcdHRvcDogLS4zZW07IFxyXG5cdFx0bWFyZ2luLWxlZnQ6IC0uNmVtOyBcclxuXHR9XHJcblx0LnVpLXNsaWRlci1yYW5nZSB7IFxyXG5cdFx0dG9wOiAwOyBcclxuXHRcdGhlaWdodDogMTAwJTsgXHJcblx0fVxyXG5cdC51aS1zbGlkZXItcmFuZ2UtbWluIHsgbGVmdDogMDsgfVxyXG5cdC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgcmlnaHQ6IDA7IH1cclxufVxyXG5cclxuLnVpLXNsaWRlci12ZXJ0aWNhbCB7IFxyXG5cdHdpZHRoOiAuOGVtO1xyXG5cdGhlaWdodDogMTAwcHg7IFxyXG5cdC51aS1zbGlkZXItaGFuZGxlIHsgXHJcblx0XHRsZWZ0OiAtLjNlbTsgXHJcblx0XHRtYXJnaW4tbGVmdDogMDsgXHJcblx0XHRtYXJnaW4tYm90dG9tOiAtLjZlbTsgXHJcblx0fVxyXG5cdC51aS1zbGlkZXItcmFuZ2UgeyBcclxuXHRcdGxlZnQ6IDA7IFxyXG5cdFx0d2lkdGg6IDEwMCU7IFxyXG5cdH1cclxuXHQudWktc2xpZGVyLXJhbmdlLW1pbiB7IGJvdHRvbTogMDsgfVxyXG5cdC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgdG9wOiAwOyB9XHJcbn0iLCIvKiFcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBUYWJzIDEuMTAuM1xyXG4gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RhYnMjdGhlbWluZ1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcbi51aS10YWJzIHsgXHJcblx0cG9zaXRpb246IHJlbGF0aXZlOyBcdC8qIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmV2ZW50cyBJRSBzY3JvbGwgYnVnIChlbGVtZW50IHdpdGggcG9zaXRpb246IHJlbGF0aXZlIGluc2lkZSBjb250YWluZXIgd2l0aCBvdmVyZmxvdzogYXV0byBhcHBlYXIgYXMgXCJmaXhlZFwiKSAqL1xyXG5cdGJvcmRlcjogMDsgXHJcblx0LnVpLWJvcmRlci1yYWRpdXMoMCk7XHJcblx0LnVpLXRhYnMtbmF2IHsgXHJcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0XHRib3JkZXI6IHNvbGlkICNkZGQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuXHRcdC51aS1ib3JkZXItcmFkaXVzKCAwICk7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdH1cclxuXHQudWktdGFicy1uYXYgbGkgeyBcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnVpLXRhYnMtbmF2IC51aS1zdGF0ZS1kZWZhdWx0e1xyXG5cdGJvcmRlcjogMDtcclxuXHQudWktYm94LXNoYWRvdyggbm9uZSApO1xyXG59XHJcbi51aS10YWJzIHtcclxuXHQudWktdGFicy1uYXZ7XHJcblx0XHRsaSBhIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIEB1aS13aGl0ZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcblx0XHRcdCN1aS1ib3JkZXItcmFkaXVzID4gLmJvcmRlciggNHB4LCA0cHgsIDAsIDAgKTtcclxuXHRcdFx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdFx0Y29sb3I6ICMwMDY5RDY7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgd2hpdGVTbW9rZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZVNtb2tlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRsaS51aS10YWJzLWFjdGl2ZSBhe1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0Y29sb3I6ICM1NTU7XHJcblx0XHR9XHJcblx0XHRsaS51aS10YWJzLWFjdGl2ZTpob3ZlcntcclxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0Y3Vyc29yOiB0ZXh0O1xyXG5cdFx0fVxyXG5cdFx0bGkudWktdGFicy1hY3RpdmUgYSxcclxuXHRcdGxpLnVpLXN0YXRlLWRpc2FibGVkIGEsXHJcblx0XHRsaS51aS10YWJzLWxvYWRpbmcgYSB7XHJcblx0XHRcdGN1cnNvcjogdGV4dDtcclxuXHRcdH1cclxuXHR9XHJcblx0LyogZmlyc3Qgc2VsZWN0b3IgaW4gZ3JvdXAgc2VlbXMgb2Jzb2xldGUsIGJ1dCByZXF1aXJlZCB0byBvdmVyY29tZSBidWcgaW4gT3BlcmEgYXBwbHlpbmcgY3Vyc29yOiB0ZXh0IG92ZXJhbGwgaWYgZGVmaW5lZCBlbHNld2hlcmUuLi4gKi9cclxuXHQudWktdGFicy1wYW5lbCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMWVtIDA7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHQudWktYm9yZGVyLXJhZGl1cygwKTtcclxuXHRcdHBhZGRpbmc6IDFweCAwO1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHR9XHJcblx0LnVpLXRhYnMtaGlkZSB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC51aS10YWJzLW5hdiBsaSB7XHJcblx0XHRmaWx0ZXI6bm9uZTtcclxuXHR9XHJcbn1cclxuIiwiLyohXHJcbiAqIGpRdWVyeSBVSSBCb290c3RyYXAgdjEuMCBBbHBoYVxyXG4gKlxyXG4gKiBqUXVlcnkgVUkgVG9vbHRpcCAxLjEwLjNcclxuICogaHR0cDovL2pxdWVyeXVpLmNvbS90b29sdGlwL1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcbi51aS10b29sdGlwIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0LnVpLW9wYWNpdHkoLjgwKTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHR6LWluZGV4OiBAdWktemluZGV4LXRvb2x0aXA7XHJcblx0bWF4LXdpZHRoOiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kOiBAdWktYmxhY2s7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgQHVpLWJsYWNrO1xyXG5cdGNvbG9yOiBAdWktd2hpdGU7XHJcblx0cGFkZGluZzogM3B4IDhweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdC51aS1ib3gtc2hhZG93KGluc2V0IDAgMXB4IDAgQHVpLWJsYWNrKTtcclxuXHQudWktYm9yZGVyLXJhZGl1cyg0cHgpO1xyXG5cdGJvcmRlci13aWR0aDogMXB4O1xyXG5cclxuXHQuYXJyb3cge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcblx0XHQmLmJvdHRvbSB7XHJcblx0XHRcdHRvcDogMTAwJTtcclxuXHRcdFx0bGVmdDogMzglO1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRib3JkZXItdG9wOjhweCBzb2xpZCBAdWktYmxhY2s7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOjhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRib3JkZXItbGVmdDo4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYudG9wIHtcclxuXHRcdFx0dG9wOiAtNTAlO1xyXG5cdFx0XHRib3R0b206IDIycHg7XHJcblx0XHRcdGxlZnQ6IDQyJTtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOjZweCBzb2xpZCBAdWktYmxhY2s7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmxlZnQge1xyXG5cdFx0XHR0b3AgOiAyNSU7XHJcblx0XHRcdGxlZnQ6IC0xNSU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRib3R0b206LTE2cHg7XHJcblx0XHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdFx0d2lkdGg6MDtcclxuXHRcdFx0XHRib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgQHVpLWJsYWNrO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0dG9wOiAyNiU7XHJcblx0XHRcdGxlZnQ6IDEwMCU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRib3R0b206LTE2cHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcHg7XHJcblx0XHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdFx0d2lkdGg6MDtcclxuXHRcdFx0XHRib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA2cHggc29saWQgQHVpLWJsYWNrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudCA6IFwiIFwiIDtcclxuXHRcdFx0cG9zaXRpb24gOiBhYnNvbHV0ZSA7XHJcblx0XHRcdGhlaWdodCA6IDAgO1xyXG5cdFx0XHRsZWZ0OjA7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0d2lkdGg6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0IDogMCA7XHJcblx0XHRcdGJvdHRvbSA6IDEycHggO1xyXG5cdFx0XHRib3gtc2hhZG93OiA2cHggNXB4IDlweCAtOXB4IEB1aS1ibGFjaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIi8qIVxyXG4gKiBqUXVlcnkgVUkgQm9vdHN0cmFwIHYxLjAgQWxwaGFcclxuICpcclxuICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIDEuMTAuM1xyXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tL3Rvb2x0aXAvXHJcbiAqXHJcbiAqIFBvcnRpb25zIGNvcHlyaWdodCBBZGR5IE9zbWFuaSwgalF1ZXJ5IFVJICYgVHdpdHRlciwgSW5jLlxyXG4gKiBDcmVhdGVkIHRoZSBMRVNTIHZlcnNpb24gYnkgQGRoYXJhcHZqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuLnVpLXByb2dyZXNzYmFyIHtcclxuXHRoZWlnaHQ6MmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0Ym9yZGVyOjBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdCN1aS1ncmFkaWVudCA+IC52ZXJ0aWNhbCgjZjVmNWY1LCAjZjlmOWY5KTtcclxuXHQudWktYm9yZGVyLXJhZGl1cyg0cHgpO1xyXG5cdC51aS1ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xyXG5cdFxyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0LnVpLXByb2dyZXNzYmFyLXZhbHVlIHtcclxuXHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHRjb2xvcjogQHVpLXdoaXRlOyAvKnRoaXMgY2FuIGJlIHJlbW92ZWQgaWYgdWktd2lkZ2V0LWhlYWRlciBpcyBibHVlKi9cclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM0MjhCQ0E7XHJcblx0XHQudWktYm94LXNpemluZyhib3JkZXItYm94KTtcclxuXHRcdC51aS10cmFuc2l0aW9uKCB3aWR0aCAwLjZzIGVhc2UpO1xyXG5cdH1cclxuXHQudWktcHJvZ3Jlc3NiYXItb3ZlcmxheXtcclxuXHRcdCN1aS1ncmFkaWVudCA+IC52ZXJ0aWNhbCggQHVpLWxpbmstY29sb3IsIEB1aS1saW5rLWhvdmVyLWNvbG9yICk7XHQvLyBGSVhNRSAtIFZlcmlmeSB0aGF0IHRoaXMgbWF0Y2hlcyB0aGUgYWN0dWFsIENTUyBvdXRjb21lLlxyXG5cdFx0YmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XHJcblx0XHQudWktYW5pbWF0aW9uKCBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGUpO1xyXG5cdH1cdFx0XHJcbn1cclxuXHJcbi51aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIC51aS1wcm9ncmVzc2Jhci12YWx1ZSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufSIsIi8qKlRvb2xiYXIqKi9cclxuXHJcbi51aS10b29sYmFye1xyXG5cdHBhZGRpbmc6IDdweCAxNHB4O1xyXG5cdG1hcmdpbjogMCAwIDE4cHg7XHJcblx0I3VpLWdyYWRpZW50ID4gLnZlcnRpY2FsKCBAdWktd2hpdGUsIEB1aS1mb3JtLWFjdGlvbnMtYmFja2dyb3VuZCApO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oQHVpLWdyYXktbGlnaHQsMjUlKTtcclxuXHQudWktYm9yZGVyLXJhZGl1cyggM3B4ICk7XHJcblx0LnVpLWJveC1zaGFkb3coIGluc2V0IDAgMXB4IDAgQHVpLXdoaXRlICk7XHJcbn0iLCIvKiFcclxuICogalF1ZXJ5IFVJIEJvb3RzdHJhcCB2MS4wIEFscGhhXHJcbiAqXHJcbiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuMTAuM1xyXG4gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RhdGVwaWNrZXIjdGhlbWluZ1xyXG4gKlxyXG4gKiBQb3J0aW9ucyBjb3B5cmlnaHQgQWRkeSBPc21hbmksIGpRdWVyeSBVSSAmIFR3aXR0ZXIsIEluYy5cclxuICogQ3JlYXRlZCB0aGUgTEVTUyB2ZXJzaW9uIGJ5IEBkaGFyYXB2alxyXG4gKiBSZWxlYXNlZCB1bmRlciBNSVRcclxuICovXHJcbiAudWktZGF0ZXBpY2tlciB7IFxyXG4gXHR3aWR0aDogMTdlbTsgXHJcbiBcdHBhZGRpbmc6IC4yZW0gLjJlbSAwOyBcclxuIFx0ZGlzcGxheTogbm9uZTsgXHJcbiBcdC51aS1kYXRlcGlja2VyLWhlYWRlciB7IFxyXG4gXHRcdHBvc2l0aW9uOnJlbGF0aXZlOyBcclxuIFx0XHRwYWRkaW5nOi4yZW0gMDsgXHJcbiBcdFx0Ym9yZGVyOjA7XHJcbiBcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiBcdFx0d2lkdGg6IDEwMCU7XHJcbiBcdFx0cGFkZGluZzogNHB4IDA7XHJcbiBcdFx0YmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWhvdmVyO1xyXG4gXHRcdGNvbG9yOiBAdWktZ3JheTtcclxuIFx0fVxyXG4gXHQudWktZGF0ZXBpY2tlci1wcmV2LFxyXG4gXHQudWktZGF0ZXBpY2tlci1uZXh0IHsgXHJcbiBcdFx0cG9zaXRpb246YWJzb2x1dGU7IFxyXG4gXHRcdHRvcDogMnB4OyBcclxuIFx0XHR3aWR0aDogMS44ZW07IFxyXG4gXHRcdGhlaWdodDogMS44ZW07IFxyXG4gXHR9XHJcblxyXG4gXHQudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxyXG4gXHQudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHsgXHJcbiBcdFx0Lyp0b3A6IDFweDsqLyBcclxuIFx0fVxyXG4gXHQudWktZGF0ZXBpY2tlci1wcmV2IHsgbGVmdDoycHg7IH1cclxuIFx0LnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfVxyXG5cclxuIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgeyAvKmxlZnQ6MXB4OyovIH1cclxuLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IC8qcmlnaHQ6MXB4OyovIH1cclxuXHJcbi51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgXHJcbi51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IFxyXG5cdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG5cdGxlZnQ6IDUwJTsgXHJcblx0bWFyZ2luLWxlZnQ6IC04cHg7IFxyXG5cdHRvcDogNTAlOyBcclxuXHRtYXJnaW4tdG9wOiAtOHB4OyAgXHJcbn1cclxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xyXG5cdG1hcmdpbjogMCAyLjNlbTtcclxuXHRsaW5lLWhlaWdodDogMS44ZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHNlbGVjdCB7IFxyXG5cdFx0Zm9udC1zaXplOjFlbTsgXHJcblx0XHRtYXJnaW46MXB4IDA7IFxyXG5cdH1cclxufVxyXG5zZWxlY3QudWktZGF0ZXBpY2tlci1tb250aC15ZWFyIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5zZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XHJcblx0d2lkdGg6IDQ5JTtcclxufVxyXG50YWJsZSB7XHJcblx0d2lkdGg6IDEwMCU7IFxyXG5cdGZvbnQtc2l6ZTogMWVtOyBcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBcclxuXHRtYXJnaW46MCAwIC40ZW07IFxyXG59XHJcbnRoIHsgXHJcblx0cGFkZGluZzogLjdlbSAuM2VtOyBcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdGZvbnQtd2VpZ2h0OiBib2xkOyBcclxuXHRib3JkZXI6IDA7ICBcclxufVxyXG50ZCB7XHJcblx0Ym9yZGVyOiAwOyBcclxuXHRwYWRkaW5nOiAxcHg7IFxyXG5cdHNwYW4sIGEgeyBcclxuXHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRcdHBhZGRpbmc6IC4yZW07IFxyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7IFxyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuXHR9XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IFxyXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IFxyXG5cdG1hcmdpbjogLjdlbSAwIDAgMDsgXHJcblx0cGFkZGluZzowIC4yZW07IFxyXG5cdGJvcmRlci1sZWZ0OiAwOyBcclxuXHRib3JkZXItcmlnaHQ6IDA7IFxyXG5cdGJvcmRlci1ib3R0b206IDA7IFxyXG5cdGJ1dHRvbiB7IFxyXG5cdFx0ZmxvYXQ6IHJpZ2h0OyBcclxuXHRcdG1hcmdpbjogLjVlbSAuMmVtIC40ZW07IFxyXG5cdFx0Y3Vyc29yOiBwb2ludGVyOyBcclxuXHRcdHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07IFxyXG5cdFx0d2lkdGg6YXV0bzsgXHJcblx0XHRvdmVyZmxvdzp2aXNpYmxlO1xyXG5cdFx0LnVpLWRhdGVwaWNrZXItY3VycmVudCB7XHJcblx0XHRcdGZsb2F0OmxlZnQ7IFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG59XHJcbi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovXHJcbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkgeyB3aWR0aDphdXRvOyB9XHJcbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7IFxyXG5cdHdpZHRoOjk1JTsgXHJcblx0bWFyZ2luOjAgYXV0byAuNGVtOyBcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6NTAlOyB9XHJcbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDozMy4zJTsgfVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6MjUlOyB9XHJcbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgY2xlYXI6bGVmdDsgfVxyXG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgeyBcclxuXHRjbGVhcjpib3RoOyBcclxuXHR3aWR0aDoxMDAlOyBcclxuXHRmb250LXNpemU6MGVtOyBcclxufVxyXG5cclxuLyogUlRMIHN1cHBvcnQgKi9cclxuLnVpLWRhdGVwaWNrZXItcnRsIHtcclxuXHRkaXJlY3Rpb246IHJ0bDtcclxuXHQudWktZGF0ZXBpY2tlci1wcmV2IHsgXHJcblx0XHRyaWdodDogMnB4OyBcclxuXHRcdGxlZnQ6IGF1dG87XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0cmlnaHQ6IDFweDsgXHJcblx0XHRcdGxlZnQ6IGF1dG87IFxyXG5cdFx0fVxyXG5cdH1cclxuXHQudWktZGF0ZXBpY2tlci1uZXh0IHsgXHJcblx0XHRsZWZ0OiAycHg7IFxyXG5cdFx0cmlnaHQ6IGF1dG87XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0bGVmdDogMXB4OyBcclxuXHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cdC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xyXG5cdFx0Y2xlYXI6cmlnaHQ7IFxyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdC51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xyXG5cdFx0XHRcdGZsb2F0OnJpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC51aS1kYXRlcGlja2VyLWdyb3VwIHtcclxuXHRcdGZsb2F0OnJpZ2h0O1xyXG5cdH1cclxuXHQudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciB7IFxyXG5cdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7IFxyXG5cdFx0Ym9yZGVyLWxlZnQtd2lkdGg6MXB4OyBcclxuXHR9XHJcblx0LnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IFxyXG5cdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7IFxyXG5cdFx0Ym9yZGVyLWxlZnQtd2lkdGg6MXB4OyBcclxuXHR9XHJcbn1cclxuXHJcbi8qIElFNiBJRlJBTUUgRklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi9cclxuLnVpLWRhdGVwaWNrZXItY292ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qc29ycnkgZm9yIElFNSovXHJcblx0Ly9kaXNwbGF5LyoqLzogYmxvY2s7IC8qc29ycnkgZm9yIElFNSovXHJcblx0cG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovXHJcblx0ei1pbmRleDogLTE7IC8qbXVzdCBoYXZlKi9cclxuXHRmaWx0ZXI6IG1hc2soKTsgLyptdXN0IGhhdmUqL1xyXG5cdHRvcDogLTRweDsgLyptdXN0IGhhdmUqL1xyXG5cdGxlZnQ6IC00cHg7IC8qbXVzdCBoYXZlKi9cclxuXHR3aWR0aDogMjAwcHg7IC8qbXVzdCBoYXZlKi9cclxuXHRoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovXHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyIHRoe1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiBAdWktZ3JheTtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItdG9kYXkge1xyXG5cdGF7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAdWktbGluay1jb2xvcjtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgNHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTowcHg7XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAdWktZ3JheTtcclxuXHRcdFx0Y29sb3I6IEB1aS13aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4udWktZGF0ZXBpY2tlciB0ZCB7XHJcblx0YXtcclxuXHRcdG1hcmdpbi1ib3R0b206MHB4O1xyXG5cdFx0Ym9yZGVyOjBweDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXJ7XHJcblx0XHRjb2xvcjpAdWktd2hpdGU7XHJcblx0fVxyXG5cclxuXHQudWktc3RhdGUtZGVmYXVsdCB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0cGFkZGluZzogNXB4O1xyXG5cdFx0Y29sb3I6IEB1aS1ncmF5O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ZmlsdGVyOiBub25lO1xyXG5cdH1cclxuXHRcclxuXHQudWktc3RhdGUtaGlnaGxpZ2h0e1xyXG5cdFx0Y29sb3I6IEB1aS13aGl0ZTtcclxuXHRcdGJhY2tncm91bmQ6IGZhZGUoQGJyYW5kLXByaW1hcnksIDgwJSk7XHJcblx0XHRib3JkZXItY29sb3I6ICM0NmI4ZGE7XHJcblx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG5cdFx0LnVpLWJvcmRlci1yYWRpdXMoMHB4KTtcclxuXHR9XHJcblx0XHJcblx0LnVpLXN0YXRlLWFjdGl2ZSB7XHJcblx0XHRjb2xvcjpAZ3JheS1kYXJrO1xyXG5cdFx0YmFja2dyb3VuZDpAdWktZ3JheS1saWdodGVyO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjYWRhZGFkO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTowcHg7XHJcblx0XHRmb250LXNpemU6bm9ybWFsO1xyXG5cdFx0dGV4dC1zaGFkb3c6IDBweDtcclxuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG5cdFx0LnVpLWJvcmRlci1yYWRpdXMoIDBweCApO1xyXG5cdH1cclxuXHQudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRjb2xvcjpAdWktd2hpdGU7XHJcblx0XHRiYWNrZ3JvdW5kOkBsYWJlbC1wcmltYXJ5LWJnO1xyXG5cdFx0dGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcblx0XHRib3JkZXItY29sb3I6ICMzNTdlYmQ7XHJcblx0XHRib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuXHRcdC51aS1ib3JkZXItcmFkaXVzKCAwcHggKTtcclxuXHR9XHJcbn0iLCJcclxuLyoqKldpam1vIFRoZW1pbmcqKi9cclxuXHJcbmRpdi53aWptby13aWptZW51e1xyXG5cdHBhZGRpbmc6MCAyMHB4O1xyXG5cdCN1aS1ncmFkaWVudCA+IC52ZXJ0aWNhbCAoICMzMzMzMzMsICMyMjIyMjIgKTsgIFxyXG5cdC51aS1ib3gtc2hhZG93KCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpICk7XHJcbn1cclxuXHJcbi53aWptby13aWptZW51IHtcclxuXHQudWktc3RhdGUtZGVmYXVsdCB7XHJcblx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0Y29sb3I6IEB1aS1ncmF5LWxpZ2h0O1xyXG5cdH1cclxuXHJcblx0LnVpLXN0YXRlLWRlZmF1bHQgLndpam1vLXdpam1lbnUtdGV4dCB7XHJcblx0XHRjb2xvcjogQHVpLWdyYXktbGlnaHQ7XHJcblx0fVxyXG5cclxuXHQudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRiYWNrZ3JvdW5kOiAjNDQ0O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcclxuXHRcdC53aWptby13aWptZW51LXRleHR7XHJcblx0XHRcdGNvbG9yOkB1aS13aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmRpdi53aWptby13aWptZW51IC51aS13aWRnZXQtaGVhZGVyIGgze1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW4tdG9wOjFweDtcclxuXHRwYWRkaW5nOjA7XHJcbn1cclxuXHJcbi53aWptby13aWptZW51IHtcclxuXHRoMyBhe1xyXG5cdFx0Y29sb3I6IEB1aS13aGl0ZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRmb250LXdlaWdodDogMjAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRtYXJnaW4tbGVmdDogLTIwcHg7XHJcblx0XHRtYXJnaW4tdG9wOjFweDtcclxuXHRcdHBhZGRpbmc6IDhweCAyMHB4IDEycHg7XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xyXG5cdFx0XHRjb2xvcjogQHVpLXdoaXRlO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC51aS13aWRnZXQtaGVhZGVye1xyXG5cdFx0Ym9yZGVyOjBweDtcclxuXHR9XHJcblx0Lndpam1vLXdpam1lbnUtcGFyZW50IC53aWptby13aWptZW51LWNoaWxkIHtcclxuXHRcdHBhZGRpbmc6IDAuM2VtIDA7XHJcblx0fVxyXG59XHJcblxyXG5kaXYud2lqbW8td2lqbWVudSAud2lqbW8td2lqbWVudS1pdGVtIHtcclxuXHQud2lqbW8td2lqbWVudS1jaGlsZHtcclxuXHRcdGJhY2tncm91bmQ6ICMzMzM7XHJcblx0XHRib3JkZXI6MDtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0cGFkZGluZzogNnB4IDA7XHJcblx0XHR3aWR0aDoxNjBweDtcclxuXHRcdCN1aS1ib3JkZXItcmFkaXVzID4gLmJvcmRlciggMCwgMCwgNnB4LCA2cHggKTtcclxuXHRcdC51aS1ib3gtc2hhZG93KCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpICk7XHJcblx0fVxyXG5cdG1hcmdpbjowO1xyXG5cdGJvcmRlcjowO1xyXG59XHJcblxyXG4ud2lqbW8td2lqbWVudSBhLndpam1vLXdpam1lbnUtbGlua3tcclxuXHRtYXJnaW46MDtcclxuXHRsaW5lLWhlaWdodDogMTlweDtcclxuXHRwYWRkaW5nOiAxMHB4IDEwcHggMTFweDtcclxuXHRib3JkZXI6MDtcclxuXHQudWktYm9yZGVyLXJhZGl1cyggMCApO1xyXG59XHJcblxyXG5kaXYud2lqbW8td2lqbWVudSAud2lqbW8td2lqbWVudS1jaGlsZCB7XHJcblx0Lndpam1vLXdpam1lbnUtbGlua3tcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRmbG9hdDpub25lO1xyXG5cdFx0cGFkZGluZzogNHB4IDE1cHg7XHJcblx0XHR3aWR0aDphdXRvO1xyXG5cdH1cclxuXHJcblx0Lndpam1vLXdpam1lbnUtY2hpbGQgLndpam1vLXdpam1lbnUtdGV4dCB7XHJcblx0XHRmbG9hdDpub25lO1xyXG5cdH1cclxufVxyXG4ud2lqbW8td2lqbWVudSAud2lqbW8td2lqbWVudS1pdGVtIHtcclxuXHQud2lqbW8td2lqbWVudS1jaGlsZCAudWktc3RhdGUtaG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZDogIzE5MTkxOTtcclxuXHR9XHJcblxyXG5cdC53aWptby13aWptZW51LXNlcGFyYXRvcntcclxuXHRcdHBhZGRpbmc6IDVweCAwO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMyMjI7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgIzQ0NDtcclxuXHRcdGJvcmRlci1ib3R0b206MDtcclxuXHRcdGJvcmRlci1sZWZ0OjA7XHJcblx0XHRib3JkZXItcmlnaHQ6MDtcclxuXHR9XHJcblx0aW5wdXQge1xyXG5cdFx0LnRyYW5zaXRpb24oIG5vbmUgMHMgZWFzZSAwcyApO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgIzExMTExMTtcclxuXHRcdC51aS1ib3JkZXItcmFkaXVzKCA0cHggKTtcclxuXHRcdC51aS1ib3gtc2hhZG93KCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgKTtcclxuXHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHNhbnNGb250RmFtaWx5O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRtYXJnaW46IDVweCAxMHB4IDAgMTBweDtcclxuXHRcdHBhZGRpbmc6IDRweCA5cHg7XHJcblx0XHR3aWR0aDoxMDBweDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcblx0XHRcdGNvbG9yOiBAdWktd2hpdGU7XHJcblx0XHR9XHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQHVpLXdoaXRlO1xyXG5cdFx0XHRib3JkZXI6IDAgbm9uZTtcclxuXHRcdFx0LnVpLWJveC1zaGFkb3coIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KSApO1xyXG5cdFx0XHRjb2xvcjogQHVpLWdyYXktZGFyaztcclxuXHRcdFx0b3V0bGluZTogMCBub25lO1xyXG5cdFx0XHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRcdFx0dGV4dC1zaGFkb3c6IDAgMXB4IDAgQHVpLXdoaXRlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLndpam1vLXdpam1lbnUgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xyXG5cdHRleHQtc2hhZG93Om5vbmU7XHJcbn1cclxuXHJcbi53aWptby13aWptZW51IC51aS1zdGF0ZS1kZWZhdWx0e1xyXG5cdC51aS1ib3gtc2hhZG93KCBub25lICk7XHJcblx0Y29sb3I6QHVpLWdyYXktbGlnaHQ7XHJcblx0ZmlsdGVyOiBub25lO1xyXG59XHJcblxyXG5cclxuIiwiLypzdHlsZXMgZm9yIGpxdWVyeSB1aSBkYXRlcmFuZ2VwaWNrZXIgcGx1Z2luICovXHJcblxyXG4udWktZGF0ZXJhbmdlcGlja2VyY29udGFpbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHQudWktZGF0ZXJhbmdlcGlja2VyIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0cGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdGNsZWFyOiBsZWZ0O1xyXG5cdH1cclxufVxyXG5cclxuLnVpLWRhdGVyYW5nZXBpY2tlciB7XHJcblx0dWwsIC5yYW5nZXMsIC5yYW5nZS1zdGFydCwgLnJhbmdlLWVuZCB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdCAucmFuZ2VzIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogNXB4IDVweCA0MHB4IDA7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHR9XHJcblx0LnJhbmdlLXN0YXJ0LCAucmFuZ2UtZW5kIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0fVxyXG5cdGJ1dHRvbi5idG5Eb25lIHtcclxuXHRcdGNsZWFyOmJvdGg7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0Ym90dG9tOjA7XHJcblx0XHRyaWdodDowO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHJcblx0XHQjdWktZ3JhZGllbnQgPiAudmVydGljYWwtdGhyZWUtY29sb3JzKCBAdWktd2hpdGUsIEB1aS13aGl0ZSwgMjUlLCBAdWktZ3JheS1saWdodGVyICk7XHJcblx0XHRcclxuXHRcdHBhZGRpbmc6IDVweCAxNHB4IDZweDtcclxuXHRcdG1hcmdpbjogNXB4O1xyXG5cdFx0dGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG5cdFx0Y29sb3I6ICMzMzM7XHJcblx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcclxuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICNiYmI7XHJcblx0XHRcclxuXHRcdC51aS1ib3gtc2hhZG93KCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSkgKTtcclxuXHRcdC51aS10cmFuc2l0aW9uKCAwLjFzIGxpbmVhciBiYWNrZ3JvdW5kLWltYWdlICk7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcblx0dWwge1xyXG5cdFx0d2lkdGg6IDE3LjZlbTtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAxcHg7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRtYXJnaW46IDFweCAwO1xyXG5cdH1cclxuXHQudWktd2lkZ2V0LWhlYWRlcntcclxuXHRcdGJvcmRlcjoxcHggc29saWQgI2NjYztcclxuXHR9XHJcblxyXG5cdC51aS1zdGF0ZS1ob3ZlcntcclxuXHRcdGJhY2tncm91bmQ6IEB1aS1ibHVlLWRhcms7XHJcblx0XHRjb2xvcjogQHVpLXdoaXRlO1xyXG5cdFx0YXtcclxuXHRcdFx0Y29sb3I6IEB1aS13aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC51aS13aWRnZXR7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OjRweDtcclxuXHR9XHJcblx0bGkucHJlc2V0XzAge1xyXG5cdFx0bWFyZ2luLXRvcDogMS41ZW0gIWltcG9ydGFudDtcclxuXHR9XHJcblx0LnVpLXdpZGdldC1jb250ZW50IGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRmb250LXdlaWdodDpub3JtYWw7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdGEge1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRtYXJnaW46IC4zZW0gLjVlbTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW46IC4zZW0gLjJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50aXRsZS1zdGFydCwgLnRpdGxlLWVuZCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCAwIC4yZW07XHJcblx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdHBhZGRpbmc6IDAgNHB4IDJweDtcclxuXHR9XHJcblx0LnVpLWRhdGVwaWNrZXItaW5saW5lIHtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdH1cclxufVxyXG5cclxuLnVpLWRhdGVyYW5nZXBpY2tlci1hcnJvd3Mge1xyXG5cdHBhZGRpbmc6IDJweDtcclxuXHR3aWR0aDogMjA0cHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGlucHV0LnVpLXJhbmdlcGlja2VyLWlucHV0IHtcclxuXHRcdHdpZHRoOiAxNThweDtcclxuXHRcdG1hcmdpbjogMCAycHggMCAyMHB4O1xyXG5cdFx0cGFkZGluZzogMnB4O1xyXG5cdFx0aGVpZ2h0OiAxLjFlbTtcclxuXHR9XHJcblx0LnVpLWRhdGVyYW5nZXBpY2tlci1wcmV2LCAudWktZGF0ZXJhbmdlcGlja2VyLW5leHQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAycHg7IFxyXG5cdFx0cGFkZGluZzogMXB4O1xyXG5cdH1cclxuXHQudWktZGF0ZXJhbmdlcGlja2VyLXByZXYge1xyXG5cdFx0bGVmdDogMnB4O1xyXG5cdH1cclxuXHQudWktZGF0ZXJhbmdlcGlja2VyLW5leHQge1xyXG5cdFx0cmlnaHQ6IDJweDtcclxuXHR9XHJcblx0LnVpLWRhdGVyYW5nZXBpY2tlci1wcmV2OmhvdmVyLCAudWktZGF0ZXJhbmdlcGlja2VyLW5leHQ6aG92ZXIsIC51aS1kYXRlcmFuZ2VwaWNrZXItcHJldjpmb2N1cywgLnVpLWRhdGVyYW5nZXBpY2tlci1uZXh0OmZvY3VzIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG59XHJcbiIsIi8qY3VzdG9tIHVwbG9hZCBlbGVtZW50cyovXHJcbi5jdXN0b21maWxlLWlucHV0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogLTk5OWVtO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMDtcclxuXHQudWktb3BhY2l0eSgwKTtcclxufVxyXG5cclxuLmN1c3RvbWZpbGUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR3aWR0aDogYXV0bztcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jdXN0b21maWxlLmlucHV0LWFwcGVuZCAuY3VzdG9tZmlsZS1mZWVkYmFjayB7IFxyXG5cdGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xyXG5cdHBhZGRpbmctbGVmdDoyNXB4O1xyXG59XHJcbi5jdXN0b21maWxlLmlucHV0LXByZXBlbmQgLmN1c3RvbWZpbGUtZmVlZGJhY2sge1xyXG5cdGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xyXG59XHJcbi5jdXN0b21maWxlLmlucHV0LXByZXBlbmQgLmFkZC1vbiwgLmN1c3RvbWZpbGUuaW5wdXQtYXBwZW5kIC5hZGQtb24ge1xyXG5cdGNvbG9yOiMzMzM7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQjdWktZ3JhZGllbnQgPiAudmVydGljYWwtdGhyZWUtY29sb3JzKCBAdWktd2hpdGUsIEB1aS13aGl0ZSwgMjUlLCBAdWktZ3JheS1saWdodGVyICk7XHJcbn1cclxuLmN1c3RvbWZpbGUtZGlzYWJsZWQge1xyXG5cdG9wYWNpdHk6IC41O1xyXG5cdGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEob3BhY2l0eT0wKTtcclxuXHQvLy51aS1vcGFjaXR5KC41MCk7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uY3VzdG9tZmlsZS1mZWVkYmFjayB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcclxuXHRjb2xvcjogQGdyYXk7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRsaW5lLWhlaWdodDogMThweDtcclxuXHRwYWRkaW5nOiA0cHg7IFxyXG5cdC51aS10cmFuc2l0aW9uKCBib3JkZXIgbGluZWFyIDAuMnMsIGJveC1zaGFkb3cgbGluZWFyIDAuMnMgKTtcclxuXHQudWktYm94LXNoYWRvdyggaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSApO1xyXG59XHJcbi8qIElFNyBoYWNrICovXHJcbioraHRtbCAuY3VzdG9tZmlsZS1mZWVkYmFjayB7XHJcblx0bWFyZ2luLXRvcDogMXB4O1xyXG59XHJcbi8qIEVPIEhhY2sgKi9cclxuLmN1c3RvbWZpbGUtZmVlZGJhY2stcG9wdWxhdGVkIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWdlbmVyaWMuZ2lmKSA1cHggY2VudGVyIG5vLXJlcGVhdDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jdXN0b21maWxlLWJ1dHRvbiB7XHJcblx0LyogSUU3IGFuZCBiZWxsb3cgaGFjayovXHJcblx0Km1hcmdpbi10b3A6IC0xcHg7XHJcblx0LyogRU8gSGFjayAqL1xyXG59XHJcbi5jdXN0b21maWxlOmhvdmVyIC5jdXN0b21maWxlLWJ1dHRvbiwgLmN1c3RvbWZpbGUtZm9jdXMgLmN1c3RvbWZpbGUtYnV0dG9uICB7IFxyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1cHg7XHJcblx0Y29sb3I6ICMzMzM7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5jdXN0b21maWxlLWZvY3VzIC5jdXN0b21maWxlLWJ1dHRvbiB7fVxyXG5cclxuXHJcbi8qZmlsZSB0eXBlIGljb25zKi9cclxuLmN1c3RvbWZpbGUtZXh0LWpwZywgLmN1c3RvbWZpbGUtZXh0LWdpZiwgLmN1c3RvbWZpbGUtZXh0LXBuZywgLmN1c3RvbWZpbGUtZXh0LWpwZWcsIC5jdXN0b21maWxlLWV4dC1ibXAge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1pbWFnZS5naWYpO1xyXG59XHJcbi5jdXN0b21maWxlLWV4dC1tcDMsIC5jdXN0b21maWxlLWV4dC1tcDQsIC5jdXN0b21maWxlLWV4dC1tb3YsIC5jdXN0b21maWxlLWV4dC1zd2YsIC5jdXN0b21maWxlLWV4dC13YXYsIC5jdXN0b21maWxlLWV4dC1tNHYge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1tZWRpYS5naWYpO1xyXG59XHJcbi5jdXN0b21maWxlLWV4dC16aXAsIC5jdXN0b21maWxlLWV4dC10YXIsIC5jdXN0b21maWxlLWV4dC1zaXQge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi16aXAuZ2lmKTtcclxufVxyXG5cclxuLyoqXHJcbiogZml4IGJ1ZyBwb3NpdGlvbiBidXR0b24gY3VzdG9tZmlsZS4gTW92ZWQgZnJvbSBkb2NzLmNzc1xyXG4qL1xyXG4uaW5wdXQtYXBwZW5kLmN1c3RvbWZpbGUsIC5pbnB1dC1wcmVwZW5kIHtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuLmlucHV0LWFwcGVuZC5jdXN0b21maWxlIC5hZGQtb257XHJcbiAgICBoZWlnaHQ6MjBweDtcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MThweDtcclxuICAgIG1pbi13aWR0aDogNzBweDtcclxufVxyXG4iLCIvKipcclxuKiBMZXNzJ2QgdmVyc2lvbiBvZiBGb250IEF3ZXNvbWUgaW4galF1ZXJ5IFVJXHJcbiogQGF1dGhvciBHZXJpdHMgQXVyZWxpZW4sIFZpamF5IERoYXJhcFxyXG4qXHJcbioqL1xyXG5cclxuLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkudWktaWNvbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsXHJcbi51aS1idXR0b24taWNvbi1wcmltYXJ5LnVpLWljb25bY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSxcclxuLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeS51aS1pY29uW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSxcclxuLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeS51aS1pY29uW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDdweCFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgY29sb3I6aW5oZXJpdDtcclxufVxyXG5cclxuLyogKipcclxuKiBJZiB5b3UgdXNlIFwiRm9udCBhd2Vzb21lXCIgaXMgZGlzYWJsZSBVSSBpY29ucyBpbiBlbGVtZW50XHJcbioqICovXHJcbi51aS1zdGF0ZS1kZWZhdWx0IC51aS1pY29uW2NsYXNzKj1cIiBpY29uLVwiXXtcclxuICAgIC8qIFJlc2V0IGJhY2tncm91bmQgd2l0aCBmb250IEF3ZXNvbWUgKi9cclxuICAgIGJhY2tncm91bmQ6bm9uZTtcclxuICAgIG1hcmdpbi1sZWZ0Oi0xMnB4OyAvKmZpeCBmb3IgbWFyZ2luIGlzc3VlIHdpdGggZm9udCBhd2Vzb21lIGJ1dHRvbnMqL1xyXG59XHJcblxyXG4vKiBJZiB5b3UgZG8gbm90IHVzZSB1aS1pY29uIHVuY29tbWVudCB0aGUgbGluZXMgKi9cclxuLypcclxuLnVpLWJ1dHRvbiAudWktYnV0dG9uLXRleHR7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOjVweDtcclxufVxyXG5cclxuLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeXtcclxuICAgIGZsb2F0Om5vbmU7XHJcbn0qLyJdLCJmaWxlIjoianF1ZXJ5LXVpLmNzcyJ9 */
