/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Your Name
==============================================================================================*/
@import url(../font/stylesheet.css);
/*
    Taken From : http://serenedestiny.com/blog/web-development/lets-create-the-perfect-css-reset; 
    Reset all your HTML Element to condition zero.
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

textarea {
  overflow: auto;
  margin: 0;
}

input {
  border: 0px solid white;
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* global
----------------------------------------------------------------------------------------------*/
a {
  color: #ed595b;
  text-decoration: none;
  outline: none;
}

a:hover {
  cursor: pointer;
  color: #333333;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input, textarea, select {
  font-size: 12px;
  font-family: arial,tahoma, times new roman;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 4px;
  margin: 0;
  color: #666;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

del {
  text-decoration: line-through;
}

th {
  font-weight: normal;
}

.left {
  float: left;
  display: inline;
}

.right {
  float: right;
  display: inline;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.clear {
  clear: both;
  padding: 0;
  margin: 0;
}

.before_clear:before,
.after_clear:after {
  content: '';
  display: block;
  clear: both;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h3 {
  font-size: 18px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
body {
  color: #494949;
  font-size: 14px;
  font-family: "DIN Next LT Pro";
  font-weight: 300;
  position: relative;
  overflow-x: hidden;
}

body.lock {
  overflow: hidden;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

p {
  margin: 1px 0 15px;
  line-height: 1.8em;
}

input, textarea, select {
  font-size: 12px;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 10px;
  margin: 0;
  color: #666;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: "DIN Next LT Pro";
}

input[type=checkbox], input[type=radio] {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

a {
  color: #333;
}

/* structure 
----------------------------------------------------------------------------------------------*/
section {
  position: relative;
}

.wrapper {
  width: 1170px;
  margin: 0 auto;
}

/* global
----------------------------------------------------------------------------------------------*/
.after_clear:after, .wrapper:after, section:after {
  clear: both;
  display: block;
  content: " ";
}

.before_clear:before {
  clear: both;
  display: block;
  content: " ";
}

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

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

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

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.regular {
  font-weight: lighter;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.clear {
  clear: both;
}

a {
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}

.trigger {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  /*&.trigger-suitable {
        top: 20px; bottom: auto;
    }*/
}

.trigger.trigger-5 {
  top: 30px;
  bottom: auto;
}

.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}

.clearfix:after {
  clear: both;
}

.btn_more {
  background: #22a49d;
  display: inline-block;
  height: 40px;
  line-height: 40px;
  font-size: 17px;
  padding: 0 50px;
  color: #fff;
  text-transform: uppercase;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
}

.btn_more:hover {
  background: #b72729;
  color: #fff;
}

.btn_more.v2 {
  background: #ed595b;
}

.btn_more.v2:hover {
  background: #22a49d;
}

.btn_more.v3 {
  background: #22a49d;
  font-size: 14px;
}

.btn_more.v3:hover {
  background: #ed595b;
}

.btn_more.red {
  background: #d52d30;
}

.btn_more.red:hover {
  background: #22a49d;
}

.btn_more.vline {
  font-size: 14px;
  background: none;
  border: 2px solid #ed595b;
  color: #ed595b;
  margin-left: 12px;
  padding: 0 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.btn_more.vline:hover {
  background: #ed595b;
  color: #fff;
}

.loader {
  position: fixed;
  z-index: 9999;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #FFF;
}

.loader .img {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: url(../images/material/loaderdoku.gif) no-repeat;
  background-size: 100%;
}

/* header
----------------------------------------------------------------------------------------------*/
header {
  height: 120px;
  position: absolute;
  z-index: 9;
  left: 0;
  right: 0;
  z-index: 88888;
  transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}

header .ovwhite {
  position: fixed;
  width: 100%;
  height: 90px;
  background: #fff;
  border-bottom: 1px solid #eaeaea;
  left: 0;
  top: -95px;
  z-index: 3;
}

header .logo {
  float: left;
  margin: -10px -65px;
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
}

header .logo img {
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
}

header .logo.expand {
  z-index: 888887;
  position: relative;
  margin-top: -10px;
}

header .colLanguage {
  float: right;
  margin: 35px 0 0 0;
  position: relative;
  padding: 0 0 0 0;
}

header .lg {
  float: right;
  margin: 35px 0 0 0;
  position: relative;
  padding: 0 0 0 0;
}

header .colLanguage:before {
  position: absolute;
  width: 9px;
  height: 7px;
  content: "";
  right: 0;
  top: 50%;
}

header .colLanguage select {
  background: none;
  padding: 0 20px 0 0;
  border: 0;
  height: 20px;
  line-height: 20px;
  color: #fff;
  font-size: 17px;
  position: relative;
  z-index: 3;
  cursor: pointer;
}

header .colLanguage select option {
  color: #333;
}

header .colSearch {
  float: right;
  margin: 35px 30px 0 10px;
}

header .colSearch .ico {
  display: block;
  cursor: pointer;
  width: 20px;
  height: 20px;
  background: url("../images/material/ico_search.png") no-repeat 0 0;
}

header nav {
  float: right;
  margin: 0 0;
}

header nav ul li {
  float: left;
  text-transform: uppercase;
  margin: 30px 0;
  position: relative;
}

header nav ul li a {
  font-size: 17px;
  color: #fff;
  padding: 0 24px;
  line-height: 40px;
  display: inline-block;
  font-weight: 400;
  margin: 0 10px;
  transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  @inlude boxSizing(border-box);
  height: 34px;
}

header nav ul li.current a.active, header nav ul li a:hover {
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #fff;
  color: #d32f2f;
}

header nav ul li.current a{
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #fff;
  color: #d32f2f;
}

header.fixed nav ul li.current a{
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #ed595b;
  color: #fff;
}

header nav ul li:hover a {
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #fff;
  color: #d32f2f;
}



header nav ul li:hover .sub ul a {
  background: #ed595b;
  color: #fff;
}

header nav ul li .sub {
  position: absolute;
  width: 235px;
  top: 100%;
  left: -40px;
  margin-top: 20px;
  padding: 37px 0 0 0;
  opacity: 0;
  filter: alpha(opacity=0);
  display: none;
}

header nav ul li .sub ul {
  position: relative;
  background: #ed595b;
  padding: 15px 0;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

header nav ul li .sub ul:before {
  position: absolute;
  width: 18px;
  height: 15px;
  content: "";
  left: 50%;
  top: -14px;
  background: url("../images/material/arr_1.png") no-repeat 0 0;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}

header nav ul li .sub ul li {
  float: none;
  margin: 0;
  padding: 0 0 0 0;
}

header nav ul li .sub ul li a {
  font-size: 14px;
  line-height: 25px;
  height: 25px;
  padding: 8px 20px 8px 55px;
  margin: 0;
  display: block;
  position: relative;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
}

header nav ul li .sub ul li a:before {
  position: absolute;
  width: 25px;
  height: 25px;
  background: #f17a7c;
  content: "";
  left: 20px;
  top: 8px;
}

header nav ul li .sub ul li a:hover {
  background: #d52e30;
  color: #fff;
}

header nav ul li .sub ul li a.i-wallet:before {
  background: url("../images/material/i-wallet.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-payment:before {
  background: url("../images/material/i-payment.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-risk:before {
  background: url("../images/material/i-risk.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-disbur:before {
  background: url("../images/material/i-disbur.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-biller:before {
  background: url("../images/material/i-bill.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-kirim:before {
  background: url("../images/material/i-kirim.png") no-repeat 0 50%;
}

header nav ul li .sub ul li a.i-account:before {
  background: url("../images/material/i-account.png") no-repeat 0 50%;
}

header nav ul li .sub ul li:last-child {
  padding-bottom: 0;
}

header nav ul li .sub ul li.line {
  height: 1px;
  background: #d52e30;
  margin: 10px 0;
}

header nav ul li .sub ul li.head {
  font-size: 16px;
}

header nav ul li .sub ul li.head a {
  padding: 2px 20px 2px 20px;
  background: none;
  font-size: 16px;
}

header nav ul li .sub ul li.head a:before {
  display: none;
}

header.fixed {
  position: fixed;
  height: 90px;
  left: 0;
  top: 0;
}

header.fixed .wrapper {
  z-index: 5;
  position: relative;
}

header.fixed .logo {
  /* width: 62px; height: 61px; margin-top:15px; margin-left: 0px;      
             background: url('../images/material/logo_fixed.png') no-repeat 0 0;  */
  margin-top: -32px;
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
}

header.fixed .logo img {
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
}

header.fixed nav ul li {
  margin: 28px 0;
}

header.fixed nav ul li a {
  color: #435159;
}

header.fixed nav ul li a.active, header.fixed nav ul li a:hover {
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #ed595b;
  color: #fff;
}

header.fixed nav ul li:hover a {
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #ed595b;
  color: #fff;
}

header.fixed nav ul li:hover .sub ul a {
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
}

header.fixed .colLanguage:before {
  /*background: url("../images/material/arr_fixed.png") no-repeat 0 0;*/
  top: 40%;
}

header.fixed .lg:before {
  /*background: url("../images/material/arr_fixed.png") no-repeat 0 0;*/
  top: 40%;
}

header.fixed .colLanguage select {
  color: #435159;
}

header.fixed .colSearch .ico {
  background: url("../images/material/ico_search_fixed.png") no-repeat 0 0;
}

header .toggleMenu {
  position: relative;
  width: 26px;
  height: 23px;
  float: right;
  margin: 27px 20px 0 0;
  display: none;
}

header .toggleMenu span {
  position: absolute;
  width: 26px;
  height: 3px;
  background: #fff;
  right: 0;
  top: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
}

header .toggleMenu span:nth-child(1) {
  top: 0;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

header .toggleMenu span:nth-child(2) {
  top: 10px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

header .toggleMenu span:nth-child(3) {
  top: 20px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

header .toggleMenu.expand {
  z-index: 888887;
  margin-top: 17px;
}

header .toggleMenu.expand span {
  background: #d52e30;
}

header .toggleMenu.expand span:nth-child(1) {
  top: 0px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

header .toggleMenu.expand span:nth-child(2) {
  top: 10px;
  opacity: 0;
}

header .toggleMenu.expand span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

header .boxNavmobile {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 888787;
  background: #fff;
  overflow: auto;
  display: none;
}

header .boxNavmobile .ddMobile {
  padding: 82px 0 0px 0;
  position: relative;
  margin-top: 0;
  margin-bottom: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

header .boxNavmobile .ddMobile:before {
  position: fixed;
  width: 100%;
  height: 60px;
  background: #fff;
  content: "";
  top: 0;
  left: 0;
  z-index: 5;
}

header .boxNavmobile .ddMobile ul li a {
  display: block;
  padding: 18px 30px;
  position: relative;
  font-size: 17px;
  color: #47555c;
  text-transform: uppercase;
}

header .boxNavmobile .ddMobile ul li.hasChild a.child:after {
  position: absolute;
  width: 14px;
  height: 9px;
  content: "";
  background: url("../images/material/arr_styled_red.png") no-repeat 0 0;
  right: 30px;
  top: 45%;
  -webkit-transform: translateY(-45%);
  -moz-transform: translateY(-45%);
  transform: translateY(-45%);
}

header .boxNavmobile .ddMobile ul li.hasChild .sub {
  background: #ed595b;
  display: none;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul {
  padding: 10px 0;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li {
  padding: 0;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a {
  font-size: 14px;
  text-transform: capitalize;
  color: #fff;
  padding: 10px 0 10px 33px;
  margin: 0 30px;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a:before {
  position: absolute;
  width: 25px;
  height: 25px;
  background: #f17a7c;
  content: "";
  left: 0;
  top: 8px;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a:hover {
  background: #d52e30;
  color: #fff;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-wallet:before {
  background: url("../images/material/i-wallet.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-payment:before {
  background: url("../images/material/i-payment.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-risk:before {
  background: url("../images/material/i-risk.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-disbur:before {
  background: url("../images/material/i-disbur.png") no-repeat 0 50%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-biller:before {
  background: url("../images/material/i-bill.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-kirim:before {
  background: url("../images/material/i-kirim.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li a.i-account:before {
  background: url("../images/material/i-account.png") no-repeat 0 5%;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li.line {
  height: 1px;
  background: #d52e30;
  margin: 10px 0;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li.head {
  font-size: 16px;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li.head a {
  padding: 8px 20px 8px 0;
  background: none;
  font-size: 16px;
  text-transform: uppercase;
}

header .boxNavmobile .ddMobile ul li.hasChild .sub ul li.head a:before {
  display: none;
}

header .boxNavmobile .colLanguage {
  float: left;
  margin-left: 30px;
  margin-right: 30px;
  margin-bottom: 25px;
  display: block;
  position: relative;
}

header .boxNavmobile .colLanguage:before {
  background: url("../images/material/arr_fixed.png") no-repeat 0 0;
  top: 40%;
}

header .boxNavmobile .colLanguage select {
  color: #435159;
  font-size: 17px;
}

.searchFloating {
  position: fixed;
  width: 100%;
  height: 116px;
  background: #fff;
  top: -116px;
  left: 0;
  z-index: 888899;
}

.searchFloating .box {
  position: relative;
  margin-top: 40px;
}

.searchFloating .box input[type="submit"] {
  position: absolute;
  width: 30px;
  height: 40px;
  top: 0;
  left: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: url("../images/material/ico_search_med.png") no-repeat 0 50%;
}

.searchFloating .box input[type="text"] {
  font-size: 35px;
  line-height: 35px;
  color: #47555c;
  padding: 0;
  font-weight: normal;
  font-style: italic;
  border: 0;
  padding: 0 40px 0 64px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.searchFloating .box .close {
  position: absolute;
  width: 30px;
  height: 40px;
  top: 0;
  right: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: url("../images/material/i-close.png") no-repeat center 50%;
}

/* middle
----------------------------------------------------------------------------------------------*/
.banner {
  position: relative;
  overflow: hidden;
}

.banner .img {
  line-height: 0;
}

.banner .img img {
  width: 100%;
}

.banner .caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1170px;
  height: 265px;
  color: #fff;
}

.banner .caption h2 {
  font-size: 72px;
  font-weight: 600;
}

.banner .caption p {
  font-size: 20px;
  margin-top: 25px;
  width: 870px;
  font-weight: 200;
  line-height: 1.8em;
  margin-bottom: 50px;
}

.banner .caption > .left {
  margin-right: 40px;
  margin-top: 15px;
}

.banner .caption > .left .left:nth-child(1) {
  font-size: 50px;
  margin-right: 19px;
  font-weight: 400;
}

.banner .caption > .left .left:nth-child(2) {
  font-size: 20px;
  font-weight: 400;
  margin-right: 19px;
  padding: 4px 0;
}

.banner .homeSlide .col {
  position: relative;
}

.banner .homeSlide.slick-slider {
  height: 100%;
}

.banner .homeSlide.slick-slider .slick-list {
  height: 100%;
}

.banner .homeSlide.slick-slider .slick-track {
  height: 100%;
}

.bannerpage {
  position: relative;
  overflow: hidden;
}

.bannerpage .img {
  line-height: 0;
}

.bannerpage .img img {
  width: 100%;
}

.bannerpage .caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1170px;
  height: 165px;
  color: #fff;
}

.bannerpage .caption h2 {
  font-size: 50px;
  font-weight: 500;
}

.bannerpage .caption p {
  font-size: 20px;
  margin-top: 15px;
  width: 870px;
  font-weight: 200;
  line-height: 1.6em;
  margin-bottom: 50px;
}

.bannerpage .caption > .left {
  margin-right: 40px;
}

.bannerpage .caption > .left .left:nth-child(1) {
  font-size: 50px;
  margin-right: 19px;
  font-weight: 400px;
}

.bannerpage .caption > .left .left:nth-child(2) {
  font-size: 20px;
  font-weight: 400;
  margin-right: 19px;
  padding: 4px 0;
}

.suitable_content {
  padding: 135px 0 155px 0;
  position: relative;
}

.suitable_content.foot {
  padding: 0;
  background: #fbfbfb;
  padding-bottom: 155px;
}

.suitable_content.foot .wrapper .wrap .isi .rounded {
  border: 1px solid #ededed;
  border-radius: 14px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  -ms-border-radius: 14px;
  -o-border-radius: 14px;
  padding: 37px 31px;
}

.suitable_content.foot .wrapper .wrap .isi .rounded .img {
  width: 205px;
  float: left;
}

.suitable_content.foot .wrapper .wrap .isi .rounded:after {
  content: "";
  clear: both;
  display: block;
}

.suitable_content.foot .wrapper .wrap .isi .text h3 {
  color: #22a49d;
}

.suitable_content.foot .wrapper .wrap .isi .text .btn_exp {
  background: #22a49d;
}

.suitable_content.foot .wrapper .wrap .isi .text .btn_exp:hover {
  background: #b72729;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  color: #fff;
}

.suitable_content.foot .wrapper .wrap.shd .isi .rounded {
  box-shadow: 0px 8px 24px -10px #ccc;
  -webkit-box-shadow: 0px 8px 24px -10px #ccc;
  -moz-box-shadow: 0px 8px 24px -10px #ccc;
  -ms-box-shadow: 0px 8px 24px -10px #ccc;
  -o-box-shadow: 0px 8px 24px -10px #ccc;
}

.suitable_content .wrapper .wrap {
  margin: 0 -25px;
}

.suitable_content .wrapper .wrap.shd .isi .rounded {
  box-shadow: 0px 8px 24px -10px #ccc;
  -webkit-box-shadow: 0px 8px 24px -10px #ccc;
  -moz-box-shadow: 0px 8px 24px -10px #ccc;
  -ms-box-shadow: 0px 8px 24px -10px #ccc;
  -o-box-shadow: 0px 8px 24px -10px #ccc;
  background-color: #ffffff;
}

.suitable_content .wrapper .wrap .isi {
  width: 50%;
  float: left;
  padding: 0 25px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.suitable_content .wrapper .wrap .isi .rounded {
  border: 1px solid #ededed;
  border-radius: 14px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  -ms-border-radius: 14px;
  -o-border-radius: 14px;
  padding: 37px 31px;
}

.suitable_content .wrapper .wrap .isi .rounded .img {
  width: 200px;
  float: left;
}

.suitable_content .wrapper .wrap .isi .rounded:after {
  content: "";
  clear: both;
  display: block;
}

.suitable_content .wrapper .wrap .isi .btn_exp {
  width: 152px;
  text-transform: uppercase;
  background: #ed595b;
  color: #fff;
  font-size: 14px;
  text-align: center;
  height: 37px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  display: inline-block;
  padding: 0 0;
  line-height: 37px;
  font-weight: 400;
}

.suitable_content .wrapper .wrap .isi .btn_exp:hover {
  background: #b72729;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  color: #fff;
}

.suitable_content .wrapper .wrap .isi .text {
  width: 265px;
  float: right;
}

.suitable_content .wrapper .wrap .isi .text h3 {
  font-size: 24px;
  text-transform: uppercase;
  color: #ed595b;
  width: 244px;
  margin-bottom: 30px;
}

.suitable_content .wrapper .wrap .isi .text:last-child {
  margin-right: 0;
}

.suitable_content .wrapper .wrap .isi .text p {
  font-size: 14px;
  color: #435159;
  font-weight: 400;
  width: 244px;
  margin: 0 0 40px;
}

.tittle {
  text-align: center;
}

.tittle .border_ico {
  padding: 35px 25px;
  border: 1px solid #ededed;
  display: inline-block;
  margin-bottom: 80px;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}

.tittle .border_ico img {
  width: 63px;
  display: block;
  height: auto;
}

.tittle .img_tittle {
  display: block;
  width: 76px;
  height: 61px;
  margin: auto auto;
}

.tittle h2 {
  font-size: 35px;
  color: #ed595b;
  text-transform: uppercase;
  margin-top: 0;
}

.tittle h3 {
  font-size: 35px;
  color: #22a49d;
  text-transform: uppercase;
  margin-bottom: 40px;
}

.tittle p {
  font-size: 24px;
  color: #47555c;
  font-weight: 400;
  margin-bottom: 95px;
  margin-top: 40px;
}

.various_payment {
  margin-top: 0;
  position: relative;
  background: #fbfbfb;
  padding-top: 110px;
  padding-bottom: 35px;
}

.various_payment .trigger-4 {
  position: absolute;
  top: 63%;
}

.various_payment .wrapper .wrap .isi {
  cursor: pointer;
  float: left;
  width: 33.333333333333333%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 50px;
  margin-bottom: 35px;
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}

.various_payment .wrapper .wrap .isi .rounded {
  text-align: center;
}

.various_payment .wrapper .wrap .isi .rounded:after {
  content: "";
  clear: both;
  display: block;
}

.various_payment .wrapper .wrap .isi .text {
  float: left;
  margin-top: 30px;
  width: 100%;
}

.various_payment .wrapper .wrap .isi .text h4 {
  font-size: 29px;
  color: #47555c;
  margin-bottom: 30px;
  text-align: center;
}

.various_payment .wrapper .wrap .isi .text p {
  font-size: 14px;
  color: #999999;
  font-weight: 400;
  margin: 0 0 30px;
  line-height: 1.8em;
  text-align: center;
}

.various_payment .wrapper .wrap .isi .ico {
  margin-left: 0;
}

.various_payment .wrapper .wrap .isi:hover {
  opacity: 0.7;
}

.middle_content .wrapper {
  padding: 90px 0;
  position: relative;
}

.middle_content h3 {
  font-size: 35px;
  line-height: 35px;
  color: #ed595b;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.middle_content h3.color_2 {
  color: #ed595b;
  line-height: 42px;
}

.middle_content h4 {
  font-size: 29px;
  margin-bottom: 10px;
}

.middle_content p {
  color: #435159;
  font-size: 17px;
  line-height: 24px;
  margin: 0 0 20px 0;
}

.middle_content p.short {
  font-size: 24px;
  line-height: 35px;
}

.middle_content .detop {
  text-align: center;
  padding-bottom: 50px;
}

.middle_content .detop h3 {
  margin-bottom: 20px;
}

.middle_content .detop p {
  font-size: 24px;
}

.middle_content .std_table th {
  font-size: 24px;
  padding: 30px 30px 25px 30px;
  background: #ee5a5a;
  color: #fff;
  border-right: 5px solid #fafafa;
}

.middle_content .std_table th:first-child {
  border-radius: 0px 0 0 0;
  -webkit-border-radius: 0px 0 0 0;
  -moz-border-radius: 0px 0 0 0;
  -ms-border-radius: 0px 0 0 0;
  -o-border-radius: 0px 0 0 0;
}

.middle_content .std_table th:last-child {
  border-radius: 0 0px 0 0;
  -webkit-border-radius: 0 0px 0 0;
  -moz-border-radius: 0 0px 0 0;
  -ms-border-radius: 0 0px 0 0;
  -o-border-radius: 0 0px 0 0;
  border-right: 0;
}

.middle_content .std_table table {
  width: 100%;
}

.middle_content .std_table tbody tr:nth-child(odd) {
  background: #fff;
}

.middle_content .std_table tbody tr:nth-child(even) {
  background: #ebebeb;
}

.middle_content .std_table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 15px;
  -webkit-border-radius: 0 0 0 15px;
  -moz-border-radius: 0 0 0 15px;
  -ms-border-radius: 0 0 0 15px;
  -o-border-radius: 0 0 0 15px;
}

.middle_content .std_table tbody tr:last-child td:last-child {
  border-radius: 0 0 15px 0;
  -webkit-border-radius: 0 0 15px 0;
  -moz-border-radius: 0 0 15px 0;
  -ms-border-radius: 0 0 15px 0;
  -o-border-radius: 0 0 15px 0;
}

.middle_content .std_table tbody td {
  padding: 30px;
  font-size: 20px;
  color: #494949;
  border-right: 5px solid #fafafa;
}

.middle_content .std_table tbody td:first-child {
  color: #333;
}

.middle_content .std_table tbody td:last-child {
  border-right: 0;
}

.middle_content .std_table tbody td p {
  font-size: 20px;
  line-height: 30px;
  color: #878a8b;
}

.middle_content .std_table tbody td ul li {
  position: relative;
  padding: 0 0 18px 37px;
  line-height: 30px;
}

.middle_content .std_table tbody td ul li:before {
  position: absolute;
  width: 14px;
  height: 14px;
  content: "";
  left: 0;
  top: 5px;
  background: #d52e30;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

.middle_content .std_table tbody td .small {
  font-size: 14px;
}

.middle_content .std_table.v2 tbody tr:nth-child(odd) {
  background: #fff;
}

.middle_content .std_table.v2 tbody tr:nth-child(even) {
  background: #fafafa;
}

.middle_content .std_table.v2 tbody td {
  color: #47555c;
  font-size: 24px;
  padding: 35px 30px;
  border-right: 5px solid #ebf2f5;
  border-bottom: 5px solid #ebf2f5;
}

.middle_content .std_table.know th:nth-child(1) {
  width: 40%;
}

.middle_content .std_table.know th:nth-child(2) {
  width: 30%;
}

.middle_content .std_table.know th:nth-child(3) {
  width: 30%;
}

.middle_content .colPay .col {
  float: left;
  width: 50%;
  padding: 0 25px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .colPay .col .box {
  border: 1px solid #ededed;
  padding: 50px 65px;
  text-align: center;
  border-radius: 14px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  -ms-border-radius: 14px;
  -o-border-radius: 14px;
  box-shadow: 0px 8px 24px -10px #ccc;
  -webkit-box-shadow: 0px 8px 24px -10px #ccc;
  -moz-box-shadow: 0px 8px 24px -10px #ccc;
  -ms-box-shadow: 0px 8px 24px -10px #ccc;
  -o-box-shadow: 0px 8px 24px -10px #ccc;
}

.middle_content .colPay .col .box .img {
  height: 258px;
  margin-bottom: 30px;
  position: relative;
}

.middle_content .colPay .col .box .img img {
  position: absolute;
  top: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.middle_content .colBusiness {
  height: auto;
}

.middle_content .colBusiness .wrapper {
  padding: 80px 0;
  height: 100%;
  position: relative;
}

.middle_content .colBusiness .row {
  background: #fbfbfb;
}

.middle_content .colBusiness .row:nth-child(odd) {
  background: #fbfbfb;
}

.middle_content .colBusiness .row:nth-child(even) {
  background: #fff;
}

.middle_content .colBusiness .row .col {
  float: left;
  width: 50%;
  padding: 0 90px 0 0;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .colBusiness .row .col:last-child {
  padding-right: 0;
  padding-left: 90px;
}

.middle_content .colBusiness .row .col.img {
  min-height: 375px;
  max-height: 480px;
}

.middle_content .colBusiness .row .col.img img {
  position: relative;
  top: 0;
  right: 20px;
  max-width: none;
}

.middle_content .colBusiness .row .col.text {
  float: right;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .colBusiness .row .col.text .coltwo {
  padding-top: 10px;
}

.middle_content .colBusiness .row .col.text .coltwo .cl {
  display: inline-block;
  width: 49.6%;
  padding: 0 55px 0 0;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .colBusiness .row .col.text .coltwo .cl h4 {
  color: #47555c;
}

.middle_content .colBusiness .row .col.text .coltwo .cl p {
  font-size: 14px;
  line-height: 21px;
  color: #494949;
}

.middle_content .colBusiness .row .col.text .coltwo .cl:last-child {
  padding-left: 0;
  padding-right: 0;
}

.middle_content .colBusiness .row .col.text .coltwo a.mobapps {
  display: inline-block;
  margin-right: 18px;
}

.middle_content .colBusiness .row .col iframe {
  width: 100% !important;
  height: 315px !important;
}

.middle_content .colBusiness .row.imright .col.img {
  float: right;
  padding: 0 0 0 0;
}

.middle_content .colBusiness .row.imright .col.img img {
  /* left: 100px; */
  left: 120px;
  right: 0;
}

.middle_content .colBusiness .row.imright .col.text {
  float: left;
  left: 0;
  padding: 0 22px 0 0;
  /* padding: 0 100px 0 0; */
}

.middle_content .colBusiness .row.autoheight .col.text {
  position: relative;
  right: 0;
  top: 0%;
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  transform: translateY(0%);
}

.middle_content .colBusiness.e-invoice {
  background: #ed595b;
}

.middle_content .colBusiness.e-invoice .row {
  background: #ed595b;
}

.middle_content .colBusiness.e-invoice .row .col h3 {
  color: #fff;
}

.middle_content .colBusiness.e-invoice .row .col p {
  color: #fff;
}

.middle_content .colBusiness.e-invoice .row .col.img {
  min-height: 330px;
  max-height: 330px;
}

.middle_content .colBusiness.e-invoice .row .col.img img {
  left: 0;
}

.middle_content .colBusiness.e-invoice .row .col.text .coltwo .cl h4 {
  color: #fff;
}

.middle_content .colBusiness.e-invoice .row .col.text .coltwo .cl p {
  color: #fff;
}

.middle_content .colBusiness.firstwhite .row:nth-child(odd) {
  background: #fff;
}

.middle_content .colBusiness.firstwhite .row:nth-child(even) {
  background: #fbfbfb;
}

.middle_content .colBusiness.haveSlide {
  /* padding-bottom: 80px; */
  padding-bottom: 0px;
}

.middle_content .colBusiness.haveSlide .slick-dots {
  text-align: center;
  position: absolute;
  width: 100%;
  left: 0;
  /*bottom: 75px;  */
  bottom: 15px;
}

.middle_content .colBusiness.haveSlide .slick-dots li {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  border: 2px solid #9e9e9e;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.middle_content .colBusiness.haveSlide .slick-dots li button {
  padding: 0;
  border: 0;
  text-indent: -999999px;
}

.middle_content .colBusiness.haveSlide .slick-dots li.slick-active {
  border-color: #ed595b;
  background: #ed595b;
}

.middle_content .colBusiness.haveSlide .row .col.img {
  text-align: center;
}

.middle_content .colBusiness.haveSlide .row .col.img img {
  display: block;
  margin: auto;
}

.middle_content .colStartbuilding {
  height: 284px;
  background: #ccc;
  color: #fff;
  font-size: 35px;
  background-size: cover !important;
}

.middle_content .colStartbuilding .wrapper {
  padding: 90px 270px 0 270px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
}

.middle_content .colStartbuilding .fl {
  padding: 10px 0 0 170px;
}

.middle_content .colStartbuilding .title {
  margin-bottom: 32px;
}

.middle_content .colStartbuilding .areabtn .cl {
  display: inline-block;
  vertical-align: top;
}

.middle_content .colStartbuilding .areabtn .cl.selectProduct {
  width: 252px;
  height: 58px;
  line-height: 58px;
  border: 2px solid #fff;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 35px;
  -webkit-border-radius: 35px;
  -moz-border-radius: 35px;
  -ms-border-radius: 35px;
  -o-border-radius: 35px;
}

.middle_content .colStartbuilding .areabtn .cl.selectProduct:before {
  position: absolute;
  width: 16px;
  height: 9px;
  content: "";
  right: 28px;
  top: 50%;
  background: url("../images/material/arr_white_med.png") no-repeat 0 0;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .colStartbuilding .areabtn .cl.selectProduct select {
  width: 100%;
  padding: 0 55px 0 27px;
  background: none;
  border: 0;
  font-size: 20px;
  color: #fff;
  height: 100%;
  line-height: 58px;
  top: 0;
  left: 0;
  position: absolute;
  cursor: pointer;
  z-index: 2;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .colStartbuilding .areabtn .cl.btn_more {
  height: 60px;
  line-height: 60px;
}

.middle_content .colStartbuilding.v2 {
  height: 372px;
}

.middle_content .colStartbuilding.v2 .wrapper {
  padding-top: 112px;
}

.middle_content .colStartbuilding.v2 a.btn_more {
  height: 60px;
  line-height: 60px;
}

.middle_content .easycol {
  background: #fbfbfb;
}

.middle_content .easycol h3 {
  text-align: center;
  margin-bottom: 50px;
}

.middle_content .easycol .wrapper {
  padding: 100px 0;
}

.middle_content .easycol .row {
  text-align: center;
}

.middle_content .easycol .row .col {
  float: none;
  width: 25%;
  padding: 0 13px;
  margin: 0 -3px 0 0;
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .easycol .row .col .img {
  height: 80px;
  position: relative;
  margin-bottom: 24px;
  text-align: center;
}

.middle_content .easycol .row .col .img img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.middle_content .easycol .row .col .text {
  font-size: 14px;
  color: #999;
  line-height: 24px;
}

.middle_content .easycol.v2 .etop {
  padding: 0 0 60px 0;
  text-align: center;
}

.middle_content .easycol.v2 .etop p {
  font-size: 24px;
}

.middle_content .easycol.v2 h3 {
  margin-bottom: 20px;
}

.middle_content .easycol.v2 h4 {
  font-size: 24px;
  color: #47555c;
}

.middle_content .easycol.v2 .row .col {
  text-align: center;
  padding: 0 20px;
}

.middle_content .easycol.v2 .row .col .img {
  height: 108px;
  margin-bottom: 45px;
}

.middle_content .easycol.v2 .row .col .text {
  font-size: 17px;
  line-height: 24px;
  color: #435159;
}

.middle_content .easycol.v3 .wrapper {
  padding-top: 20px;
  padding-bottom: 25px;
}

.middle_content .easycol.v3 .row {
  text-align: left;
}

.middle_content .easycol.v3 .row .col {
  width: 50%;
  text-align: left;
  position: relative;
  min-height: 110px;
  margin-bottom: 50px;
}

.middle_content .easycol.v3 .row .col .img {
  height: 85px;
  width: 65px;
  margin-bottom: 45px;
  text-align: left;
  position: absolute;
  top: 0;
  left: 13px;
}

.middle_content .easycol.v3 .row .col .img img {
  height: auto;
  width: 100%;
}

.middle_content .easycol.v3 .row .col h4 {
  padding-left: 112px;
  padding-right: 90px;
  font-size: 24px;
  color: #47555c;
}

.middle_content .easycol.v3 .row .col .text {
  padding-left: 112px;
  padding-right: 90px;
  font-size: 14px;
  line-height: 24px;
  color: #494949;
}

.middle_content .easycol.v3 .row .col:nth-child(2n+2) {
  padding-left: 50px;
}

.middle_content .easycol.v3 .row .col:nth-child(2n+2) .img {
  left: 65px;
}

.middle_content .easycol.v3 .row .col:nth-child(2n+2) h4 {
  padding-left: 120px;
}

.middle_content .easycol.v3 .row .col:nth-child(2n+2) .text {
  padding-left: 120px;
}

.middle_content .easycol.v4 {
  background: #fbfbfb;
}

.middle_content .easycol.v4 h3 {
  margin-bottom: 20px;
}

.middle_content .easycol.v4 h4 {
  font-size: 24px;
  color: #47555c;
}

.middle_content .easycol.v4 .row .col {
  text-align: center;
  padding: 0 20px;
  width: 50%;
  margin-bottom: 35px;
}

.middle_content .easycol.v4 .row .col .img {
  height: 108px;
  margin-bottom: 45px;
}

.middle_content .easycol.v4 .row .col .text {
  font-size: 17px;
  line-height: 24px;
  color: #435159;
}

.middle_content .easycol.main {
  background: #fff;
}

.middle_content .easycol.main h3 {
  padding-bottom: 30px;
}

.middle_content .easycol.main .row .col {
  width: 50%;
  text-align: left;
  position: relative;
  min-height: 110px;
  margin-bottom: 50px;
}

.middle_content .easycol.main .row .col .img {
  height: 120px;
  width: 125px;
  margin-bottom: 45px;
  text-align: left;
  position: absolute;
  top: 0;
  left: 13px;
}

.middle_content .easycol.main .row .col .img img {
  height: auto;
  width: 100%;
}

.middle_content .easycol.main .row .col h4 {
  padding-left: 158px;
  padding-right: 90px;
  color: #47555c;
  font-size: 35px;
}

.middle_content .easycol.main .row .col h4 span {
  display: block;
  font-size: 29px;
  color: #999;
  padding-top: 5px;
}

.middle_content .easycol.main .row .col .text {
  padding-left: 158px;
  padding-right: 90px;
  font-size: 17px;
  line-height: 24px;
  color: #435159;
}

.middle_content .easycol.feature h3 {
  padding-bottom: 30px;
}

.middle_content .easycol.feature .row {
  text-align: left;
}

.middle_content .easycol.feature .row .col {
  width: 50%;
  text-align: left;
  position: relative;
  min-height: 110px;
  margin-bottom: 50px;
  padding: 0;
  margin-right: -2px;
}

.middle_content .easycol.feature .row .col .img {
  height: 80px;
  width: 70px;
  margin-bottom: 45px;
  text-align: left;
  position: absolute;
  top: 0;
  left: 13px;
}

.middle_content .easycol.feature .row .col .img img {
  height: auto;
  width: 100%;
}

.middle_content .easycol.feature .row .col h4 {
  padding-left: 130px;
  padding-right: 90px;
  font-size: 24px;
  color: #47555c;
}

.middle_content .easycol.feature .row .col .text {
  padding-left: 130px;
  padding-right: 90px;
  font-size: 14px;
  line-height: 24px;
  color: #494949;
}

.middle_content .easycol.feature .row .col:nth-child(2n+2) .img {
  left: 115px;
}

.middle_content .easycol.feature .row .col:nth-child(2n+2) h4 {
  padding-left: 230px;
  padding-right: 0;
}

.middle_content .easycol.feature .row .col:nth-child(2n+2) .text {
  padding-left: 230px;
  padding-right: 0;
}

.middle_content .easycol.extra h3 {
  padding-bottom: 30px;
}

.middle_content .easycol.extra .row .col {
  text-align: center;
  padding: 0 34px 35px 34px;
  width: 33.33%;
}

.middle_content .easycol.extra .row .col h4 {
  font-size: 29px;
  color: #47555c;
}

.middle_content .easycol.extra .row .col .img {
  height: 100px;
  margin-bottom: 45px;
}

.middle_content .easycol.extra .row .col .text {
  font-size: 14px;
  line-height: 24px;
  color: #494949;
}

.middle_content .easycol.extra.ewallet {
  background: #fbfbfb;
}

.middle_content .easycol.extra.ewallet .row .col {
  padding: 0 44px 35px 44px;
}

.middle_content .easycol.extra.ewallet .row .col .text {
  padding: 0 15px;
}

.middle_content .colMerchant {
  text-align: center;
}

.middle_content .colMerchant .merchantlogo {
  padding-bottom: 60px;
}

.middle_content .colMerchant .merchantlogo a {
  display: inline-block;
  margin: 0 20px;
}

.middle_content .colMerchant .sdes {
  text-align: center;
  padding: 0 200px;
}

.middle_content .colMerchant .sdes p {
  margin-bottom: 30px;
}

.middle_content .colScope {
  height: 375px;
  color: #fff;
  position: relative;
  background-size: cover !important;
}

.middle_content .colScope img {
  position: absolute;
  top: 50%;
  height: 100%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .colScope img.sc_left {
  left: 0;
}

.middle_content .colScope img.sc_right {
  right: 130px;
}

.middle_content .colScope .wrapper {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 110px 70px 0 550px;
}

.middle_content .colScope h3 {
  color: #fff;
  margin-bottom: 5px;
}

.middle_content .colScope p {
  color: #f9e1d8;
  font-size: 20px;
  line-height: 30px;
}

.middle_content .colScope.v2 .wrapper {
  padding-left: 0;
  padding-right: 638px;
}

.middle_content .havegot {
  text-align: center;
}

.middle_content .havegot h3 {
  margin-bottom: 65px;
}

.middle_content .havegot .row .col {
  display: inline-block;
  width: 280px;
  margin: 0 125px 0 0;
  font-size: 50px;
  color: #44555c;
}

.middle_content .havegot .row .col:nth-child(3n+3) {
  margin-right: 0;
}

.middle_content .havegot .row .col .count {
  margin-bottom: 12px;
}

.middle_content .havegot .row .col .txt {
  font-size: 35px;
}

.middle_content .howintegrate {
  background: #fbfbfb;
}

.middle_content .howintegrate .row .col {
  float: left;
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .howintegrate .row .col:nth-child(1) {
  padding-right: 138px;
}

.middle_content .howintegrate .row .col:nth-child(2) {
  padding-left: 138px;
}

.middle_content .howintegrate .row .col h3 {
  text-transform: capitalize;
}

.middle_content .howintegrate .row .col p a {
  color: #666;
}

.middle_content .howintegrate.v2 .col p {
  padding-right: 25px;
}

.middle_content .howintegrate.v2 .col:nth-child(1) {
  padding-right: 105px;
}

.middle_content .howintegrate.v2 .col:nth-child(2) {
  padding-left: 80px;
}

.middle_content .howintegrate.v2 .col:nth-child(2) p {
  padding-right: 45px;
}

.middle_content .howintegrate.center {
  text-align: center;
}

.middle_content .colbillServices {
  background: #ebf2f5;
}

.middle_content .colbillServices .bill-table table {
  width: 100%;
}

.middle_content .colbillServices .bill-table table tbody tr:nth-child(odd) td {
  background: #fafafa;
}

.middle_content .colbillServices .bill-table table tbody tr:nth-child(even) td {
  background: #fff;
}

.middle_content .colbillServices .bill-table table tbody tr:first-child td:first-child {
  border-radius: 15px 0 0 0;
  -webkit-border-radius: 15px 0 0 0;
  -moz-border-radius: 15px 0 0 0;
  -ms-border-radius: 15px 0 0 0;
  -o-border-radius: 15px 0 0 0;
}

.middle_content .colbillServices .bill-table table tbody tr:first-child td:last-child {
  border-radius: 0 15px 0 0;
  -webkit-border-radius: 0 15px 0 0;
  -moz-border-radius: 0 15px 0 0;
  -ms-border-radius: 0 15px 0 0;
  -o-border-radius: 0 15px 0 0;
}

.middle_content .colbillServices .bill-table table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 15px;
  -webkit-border-radius: 0 0 0 15px;
  -moz-border-radius: 0 0 0 15px;
  -ms-border-radius: 0 0 0 15px;
  -o-border-radius: 0 0 0 15px;
}

.middle_content .colbillServices .bill-table table tbody tr:last-child td:last-child {
  border-radius: 0 0 15px 0;
  -webkit-border-radius: 0 0 15px 0;
  -moz-border-radius: 0 0 15px 0;
  -ms-border-radius: 0 0 15px 0;
  -o-border-radius: 0 0 15px 0;
}

.middle_content .colbillServices .bill-table table tbody tr td {
  padding: 35px;
  color: #47555c;
  font-size: 24px;
  border-right: 5px solid #ebf2f5;
  border-bottom: 5px solid #ebf2f5;
}

.middle_content .colbillServices .bill-table table tbody tr td:nth-child(1) {
  width: 330px;
}

.middle_content .colbillServices .bill-table table tbody tr td:last-child {
  border-right: 0;
}

.middle_content .colbillServices .bill-table .col {
  text-align: right;
}

.middle_content .colbillServices .bill-table .col .log {
  display: inline-block;
  vertical-align: top;
  margin: 0 70px 35px 0;
}

.middle_content .colbillServices .bill-table .col:last-child .log {
  margin-bottom: 0;
}

.middle_content .whatis {
  background-size: cover !important;
  min-height: 367px;
  color: #fff;
  text-align: center;
}

.middle_content .whatis .wrapper {
  padding-left: 100px;
  padding-right: 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.middle_content .whatis h3 {
  color: #fff;
  margin-bottom: 30px;
}

.middle_content .whatis p {
  color: #fff;
  font-size: 24px;
  line-height: 35px;
}

.middle_content .colAutomated {
  background: #ebf2f5;
}

.middle_content .colAutomated .detop {
  padding-bottom: 10px;
}

.middle_content .colAutomated .row {
  padding: 15px 0 0 0;
}

.middle_content .colAutomated .row h3 {
  text-transform: capitalize;
}

.middle_content .colAutomated .row .col {
  display: inline-block;
  width: 50%;
  margin: 0 -2px 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 130px;
  vertical-align: top;
}

.middle_content .colAutomated .row .col:nth-child(2n+2) {
  padding-left: 130px;
  padding-right: 0;
}

.middle_content .colAutomated .row.col_3 .col {
  width: 33.222%;
  padding-right: 40px;
}

.middle_content .colAutomated .row.col_3 .col:nth-child(2n+2) {
  padding-left: 0;
}

.middle_content .colMilestone {
  padding: 35px 0;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-slide {
  width: 305px;
  padding: 105px 75px 0 30px;
  position: relative;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-slide:before {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #ed595b;
  left: 0;
  top: 65px;
  content: "";
  border-top: 1px solid #ef6f71;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-slide:after {
  position: absolute;
  width: 26px;
  height: 27px;
  left: 30px;
  top: 54px;
  content: "";
  background: url("../images/material/bullet_mile.png") no-repeat 0 0;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-arrow {
  position: absolute;
  top: 0;
  z-index: 12;
  cursor: pointer;
  width: 44px;
  height: 22px;
  text-indent: -999999px;
  padding: 0;
  border: 0;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-arrow.slick-prev {
  left: 0;
  background: url("../images/material/arrs_prev.png") no-repeat 0 0;
}

.middle_content .colMilestone .slideMile.slick-initialized .slick-arrow.slick-next {
  right: 0;
  background: url("../images/material/arrs_next.png") no-repeat 0 0;
}

.middle_content .colMilestone .slideMile .col h4 {
  color: #22a49d;
  font-size: 20px;
}

.middle_content .colMilestone .slideMile .col .stitle {
  font-size: 29px;
  color: #435159;
  margin-bottom: 13px;
}

.middle_content .colMilestone .slideMile .col .stext {
  color: #435159;
  font-size: 14px;
  line-height: 21px;
}

.middle_content .banner-promo {
  position: relative;
}

.middle_content .banner-promo:before {
  position: absolute;
  width: 100%;
  height: 4px;
  content: "";
  background: #fff;
  bottom: -2px;
  left: 0;
  z-index: 3;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .banner-promo .col {
  float: left;
  width: 50%;
  line-height: 0;
  position: relative;
}

.middle_content .banner-promo .col .title {
  position: absolute;
  left: 75px;
  bottom: 50px;
  color: #fff;
  font-size: 29px;
  z-index: 35;
}

.middle_content .banner-promo .col.large:after {
  position: absolute;
  width: 4px;
  height: 100%;
  background: #fff;
  top: 0;
  right: 0;
  content: "";
}

.middle_content .banner-promo .col.large a {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
}

.middle_content .banner-promo .col.large a img {
  width: 100%;
  /*height: 100%; */
  transition: all 0.18s ease-out;
  -webkit-transition: all 0.18s ease-out;
  -moz-transition: all 0.18s ease-out;
  -ms-transition: all 0.18s ease-out;
  -o-transition: all 0.18s ease-out;
}

.middle_content .banner-promo .col.large:hover a img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}

.middle_content .banner-promo .col.small {
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
}

.middle_content .banner-promo .col.small .title {
  left: 29px;
}

.middle_content .banner-promo .col.small div.cl {
  float: left;
  width: 50%;
  height: 50%;
  position: absolute;
}

.middle_content .banner-promo .col.small div.cl:nth-child(1) {
  top: 0;
  left: 0;
}

.middle_content .banner-promo .col.small div.cl:nth-child(2) {
  top: 0;
  right: 0;
}

.middle_content .banner-promo .col.small div.cl:nth-child(3) {
  bottom: 0;
  left: 0;
}

.middle_content .banner-promo .col.small div.cl:nth-child(4) {
  bottom: 0;
  right: 0;
}

.middle_content .banner-promo .col.small div.cl a {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  line-height: 0;
}

.middle_content .banner-promo .col.small div.cl a img {
  height: 100%;
  transition: all 0.18s ease-out;
  -webkit-transition: all 0.18s ease-out;
  -moz-transition: all 0.18s ease-out;
  -ms-transition: all 0.18s ease-out;
  -o-transition: all 0.18s ease-out;
}

.middle_content .banner-promo .col.small div.cl:hover a img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}

.middle_content .banner-promo .col.small:before {
  position: absolute;
  width: 4px;
  height: 100%;
  content: "";
  background: #fff;
  top: 0;
  left: 50%;
  z-index: 3;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}

.middle_content .banner-promo .col.small:after {
  position: absolute;
  width: 100%;
  height: 4px;
  content: "";
  background: #fff;
  top: 50%;
  left: 0;
  z-index: 3;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .banner-promo .sliderpromo .slick-dots {
  text-align: center;
  position: absolute;
  width: 100%;
  bottom: 44px;
}

.middle_content .banner-promo .sliderpromo .slick-dots li {
  display: inline-block;
  margin: 0 19px;
}

.middle_content .banner-promo .sliderpromo .slick-dots li button {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: #d7d7d7;
  text-indent: -999999px;
  border: 8px solid #fff;
  cursor: pointer;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.middle_content .banner-promo .sliderpromo .slick-dots li.slick-active button {
  background: #d52e30;
}

.middle_content hr {
  height: 1px;
  background: #ccc;
  border: 0;
}

.middle_content aside {
  background: #ffffff;
  width: 330px;
}

.middle_content aside.white {
  background: #fff;
}

.middle_content aside h3 {
  margin-bottom: 25px;
}

.middle_content aside h4 {
  font-size: 24px;
  color: #47555c;
}

.middle_content aside ul li a {
  display: block;
  line-height: 24px;
  font-size: 20px;
  color: #47555c;
  padding: 15px 15px;
}

.middle_content aside ul li a:hover, .middle_content aside ul li a.active {
  background: #ee5a5a;
  color: #fff;
}

.middle_content aside p {
  color: #999;
}

.middle_content aside.v2 h4 {
  background: #ee5a5a;
  color: #fff;
  height: 60px;
  line-height: 60px;
  padding: 0 30px;
  margin-bottom: 0;
}

.middle_content aside.v2 ul {
  padding: 30px 30px 10px 30px;
  position: relative;
}

.middle_content aside.v2 ul li {
  border-bottom: 1px solid #e3e3e3;
}

.middle_content aside.v2 ul li a {
  font-size: 16px;
  color: #999;
  padding: 20px 0;
}

.middle_content aside.v2 ul li a:hover, .middle_content aside.v2 ul li a.active {
  background: none;
  color: #ee5a5a;
}

.middle_content aside.v2 ul li.seeall {
  border-bottom: 0;
  text-align: center;
}

.middle_content aside.v2 ul li.seeall a {
  color: #ee5a5a;
  font-size: 14px;
  display: inline-block;
}

.middle_content aside.v2 ul li.seeall a:hover {
  color: #22a49d;
}

.middle_content aside.sideScroll {
  /*position: fixed; left: 16.5%; top: 150px;*/
}

.middle_content aside.sideScroll .dropmob {
  display: none;
}

.middle_content aside.sideScroll ul {
  position: relative;
  height: 550px;
  overflow-y: auto;
}

.middle_content aside.sideScroll.fixed {
  position: fixed;
  left: 50%;
  bottom: 230px;
  -webkit-transform: translateX(-178%);
  -moz-transform: translateX(-178%);
  transform: translateX(-178%);
}

.middle_content aside.sideScroll.fixed.abs {
  position: absolute;
  bottom: 100px;
}

.middle_content aside.sideScroll.fixed.abs ul {
  position: relative;
  /* height: auto; */
  overflow-y: auto;
}

.middle_content .styledSelect {
  height: 60px;
  width: 370px;
  border: 1px solid #ccc;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.middle_content .styledSelect:after {
  position: absolute;
  width: 16px;
  height: 9px;
  content: "";
  top: 50%;
  right: 30px;
  z-index: 1;
  background: url("../images/material/arr_styled.png") no-repeat 0 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.middle_content .styledSelect select {
  width: 100%;
  height: 100%;
  padding: 0 50px 0 20px;
  border: 0;
  background: none;
  font-size: 20px;
  color: #ccc;
  position: relative;
  z-index: 2;
  cursor: pointer;
}

.middle_content .styledSelect select option {
  font-size: 14px;
}

.middle_content .endtriggerscroll {
  height: 50px;
  position: relative;
}

.middle_content .content_right {
  width: 768px;
}

.middle_content .content_right .pcsection {
  margin-bottom: 25px;
  min-height: 200px;
}

.middle_content .content_right h3 {
  margin-bottom: 35px;
}

.middle_content .content_right h3.leg {
  margin-bottom: 15px;
}

.middle_content .content_right h4 {
  font-size: 24px;
  color: #47555c;
  line-height: 35px;
  margin-bottom: 30px;
}

.middle_content .content_right p {
  font-size: 14px;
  color: #494949;
  margin-bottom: 30px;
  font-weight: 300;
}

.middle_content .content_right p.question {
  font-size: 24px;
  color: #22a49d;
  margin-bottom: 10px;
}

.middle_content .content_right p.answer {
  font-size: 14px;
  color: #494949;
  margin-bottom: 45px;
}

.middle_content .content_right p.date {
  margin-bottom: 10px;
}

.middle_content .content_right ul {
  margin-left: 20px;
  padding-bottom: 30px;
}

.middle_content .content_right ul li {
  list-style: disc;
  line-height: 18px;
  padding: 2px 0 4px 0;
  color: #494949;
}

.middle_content .content_right ul ul {
  padding-bottom: 10px;
}

.middle_content .content_right ul ol {
  padding-bottom: 10px;
}

.middle_content .content_right ol {
  margin-left: 20px;
  padding-bottom: 30px;
}

.middle_content .content_right ol li {
  list-style: decimal;
  line-height: 18px;
  padding: 2px 0 4px 0;
  color: #494949;
  font-weight: 300;
}

.middle_content .content_right ol ul {
  padding-bottom: 10px;
}

.middle_content .content_right ol ul li {
  list-style: disc;
}

.middle_content .content_right ol ol {
  padding-bottom: 10px;
}

.middle_content  ul {
  margin-left: 16px;
  padding-bottom: 30px;
}

.middle_content  ul li {
  list-style: disc;
  line-height: 18px;
  padding: 2px 0 4px 0;
  color: #494949;
}

.middle_content aside ul li {
  list-style: none;
  line-height: 18px;
  padding: 2px 0 4px 0;
  color: #494949;
}

.middle_content  ul ul {
  padding-bottom: 10px;
}

.middle_content  ul ol {
  padding-bottom: 10px;
}

.middle_content  ol {
  margin-left: 20px;
  padding-bottom: 30px;
}

.middle_content  ol li {
  list-style: decimal;
  line-height: 24px;
  padding: 2px 0 4px 0;
  color: #494949;
  font-weight: 300;
}

.middle_content  ol ul {
  padding-bottom: 10px;
}

.middle_content  ol ul li {
  list-style: disc;
}

.middle_content  ol ol {
  padding-bottom: 10px;
}

.middle_content .content_right.full {
  width: 100%;
}

.middle_content .content_right .std_form .field {
  margin-bottom: 25px;
}

.middle_content .content_right .std_form .field label {
  display: block;
  font-size: 14px;
  color: #26a59d;
  padding: 14px 20px 3px 20px;
}

.middle_content .content_right .std_form .field input[type="text"],
.middle_content .content_right .std_form .field input[type="email"],
.middle_content .content_right .std_form .field textarea {
  font-size: 20px;
  color: #999;
  border: 0;
  padding: 0 20px;
  width: 100%;
  font-family: "DIN Next LT Pro";
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: none;
}

.middle_content .content_right .std_form .field textarea {
  height: 100px;
}

.middle_content .content_right .std_form .field .col {
  height: 70px;
  border: 1px solid #ccc;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.middle_content .content_right .std_form .field.tarea .col {
  height: auto;
}

.middle_content .content_right .std_form .field.two .col {
  width: 370px;
}

.middle_content .content_right .std_form input[type="submit"] {
  font-family: "DIN Next LT Pro";
  height: 60px;
  line-height: 60px;
  color: #fff;
  padding: 0 70px;
  background: #d52d30;
  border: 0;
  font-size: 20px;
  cursor: pointer;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  -ms-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
}

.middle_content .content_right .std_form input[type="submit"]:hover {
  background: #22a49d;
}

.middle_content .content_right .thankyou {
  text-align: center;
  padding: 50px 120px;
  border: 1px solid #ededed;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  box-shadow: 0px 5px 3px #f7f7f7;
  -webkit-box-shadow: 0px 5px 3px #f7f7f7;
  -moz-box-shadow: 0px 5px 3px #f7f7f7;
  -ms-box-shadow: 0px 5px 3px #f7f7f7;
  -o-box-shadow: 0px 5px 3px #f7f7f7;
}

.middle_content .content_right .thankyou img {
  margin-bottom: 30px;
}

.middle_content .content_right .thankyou h3 {
  margin-bottom: 20px;
}

.middle_content .seemore {
  display: inline-block;
  color: #22a49d;
  font-size: 14px;
}

.middle_content .seemore:hover {
  color: #ee5a5a;
}

.middle_content .seemore.v2 {
  color: #ee5a5a;
  text-align: right;
}

.middle_content .seemore.v2:hover {
  color: #22a49d;
}

.middle_content .bottom_detail {
  text-align: right;
}

.middle_content .paging {
  text-align: right;
}

.middle_content .paging ul li {
  display: inline-block;
}

.middle_content .paging ul li a {
  font-size: 20px;
  color: #47555c;
  padding: 0 8px;
}

.middle_content .paging ul li a:hover, .middle_content .paging ul li a.active {
  color: #ee5a5a;
}

.middle_content .paging ul li.next a, .middle_content .paging ul li.prev a {
  display: block;
  width: 8px;
  height: 16px;
  padding: 0;
  text-indent: 999999px;
}

.middle_content .paging ul li.prev {
  padding-right: 25px;
}

.middle_content .paging ul li.prev a {
  background: url("../images/material/arr_paging_prev.png") no-repeat 0 0;
}

.middle_content .paging ul li.next {
  padding-left: 25px;
}

.middle_content .paging ul li.next a {
  background: url("../images/material/arr_paging_next.png") no-repeat 0 0;
}

.middle_content .mediarelease .row {
  margin-bottom: 60px;
}

.middle_content .mediarelease .row p {
  font-size: 14px;
  color: #999;
}

.middle_content .mediarelease .row p.date {
  margin-bottom: 12px;
  line-height: 20px;
}

.middle_content .mediarelease .row h4 {
  font-size: 24px;
  line-height: 35px;
  color: #47555c;
  margin-bottom: 20px;
}

.middle_content .mediarelease .row .fl {
  width: 330px;
  line-height: 0;
}

.middle_content .mediarelease .row .fr {
  width: 770px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 24px;
}

.middle_content .mediarelease .row .fr.full {
  width: 100%;
}

.middle_content .mediarelease.v2 .row .fr {
  width: 100%;
}

.searchResult .field {
  padding: 0 0 0 0;
  border-bottom: 1px solid #dadada;
  margin-bottom: 14px;
  position: relative;
}

.searchResult .field input[type="text"] {
  font-size: 25px;
  line-height: 25px;
  color: #ed595b;
  padding: 0;
  border: 0;
  width: 100%;
  padding: 0 0 10px 0;
  text-transform: uppercase;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.searchResult .field ::-webkit-input-placeholder {
  color: #ed595b;
}

.searchResult .field :-moz-placeholder {
  color: #ed595b;
}

.searchResult .field ::-moz-placeholder {
  color: #ed595b;
}

.searchResult .field :-ms-input-placeholder {
  color: #ed595b;
}

.searchResult .field input[type="submit"] {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 100%;
  padding: 0;
  border: 0;
  background: url("../images/material/ico_search_med.png") no-repeat 0 7px;
  background-size: 100%;
  cursor: pointer;
}

.searchResult .info {
  font-size: 16px;
  color: #999;
}

.searchResult.vm {
  padding: 0 30px;
}

.searchResult.vm input[type="text"] {
  text-transform: capitalize;
  font-size: 17px;
  color: #d3d5d6;
  font-style: italic;
}

.searchResult.vm ::-webkit-input-placeholder {
  color: #d3d5d6;
}

.searchResult.vm :-moz-placeholder {
  color: #d3d5d6;
}

.searchResult.vm ::-moz-placeholder {
  color: #d3d5d6;
}

.searchResult.vm :-ms-input-placeholder {
  color: #d3d5d6;
}

.backtoTop {
  cursor: pointer;
  width: 35px;
  height: 35px;
  padding: 0px;
  text-align: center;
  font-weight: bold;
  color: #444;
  text-decoration: none;
  position: fixed;
  bottom: 25px;
  right: 20px;
  display: none;
  background: #ddd url("../images/material/arr_1.png") no-repeat center 50%;
  z-index: 3535;
}

.backtoTop:hover {
  text-decoration: none;
}

/* footer
----------------------------------------------------------------------------------------------*/
.footer_br {
  width: 100%;
  background: #ebf2f5;
  height: 200px;
  position: relative;
  margin-top: 0;
}

.footer_br .wrapper {
  text-align: center;
  padding: 55px 0 0;
  vertical-align: middle;
}

.footer_br .wrapper h3 {
  font-size: 20px;
  color: #ed595b;
  text-transform: uppercase;
  padding-bottom: 15px;
}

.footer_br .wrapper a {
  display: inline-block;
  padding: 0 30px;
}

.footer_br .wrapper a img {
  width: auto;
  height: 53px;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  -ms-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
}

.footer_br .wrapper a:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}

footer {
  position: relative;
  width: 100%;
  /* background: url(../images/material/bg_footer.png) no-repeat top center; */
  background-size: cover;
  background: #ed595b;
  /*background: -moz-linear-gradient(-45deg, #ed595b 0%, #ed5b5b 35%, #f68b62 88%, #f68b62 100%);
  background: -webkit-linear-gradient(-45deg, #ed595b 0%, #ed5b5b 35%, #f68b62 88%, #f68b62 100%);
  background: linear-gradient(135deg, #ed595b 0%, #ed5b5b 35%, #f68b62 88%, #f68b62 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ed595b', endColorstr='#f68b62',GradientType=1 );*/
}

footer:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  top: 0;
  left: 0;
  z-index: 1;
  /*background: url("../images/material/bg_footer_before.png") no-repeat center 50%;*/
  background-size: 100%;
}

footer:after {
  content: "";
  clear: both;
  display: block;
}

footer .wrapper {
  position: relative;
  z-index: 3;
}

footer .wrapper .foot {
  padding-top: 100px;
}

footer .wrapper .text {
  float: left;
  /* width: 52%; */
}

footer .wrapper .text .isi {
  /*width: 28.3333333333%; margin:0 7.6% 0 0; */
  width: 162px;
  float: left;
  color: #fff;
  margin: 0 75px 0 0;
}

footer .wrapper .text .isi h3 {
  text-transform: uppercase;
  font-size: 29px;
  margin-bottom: 35px;
}

footer .wrapper .text .isi a {
  font-size: 20px;
  line-height: 22px;
  color: #fff;
  font-weight: 400;
  display: block;
  padding: 10px 0;
}

footer .wrapper .text .isi a:hover {
  color: #f2d45a;
}

footer .wrapper .text .isi:last-child {
  margin-right: 0;
}

footer .wrapper .text.btm {
  margin-bottom: 0;
}

footer .wrapper .text.btm .isi p {
  font-size: 17px;
  font-weight: 400;
  margin-top: 10px;
  margin-bottom: 0;
}

footer .wrapper .text.btm .isi h4 {
  font-weight: 700;
  font-size: 17px;
}

footer .wrapper .img_logo {
  float: right;
  width: 375px;
  text-align: center;
  margin-top: -25px;
}

footer .wrapper .img_logo a {
  margin: 40px 10px 0;
  display: inline-block;
  background: #4d4846;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  height: 50px;
  width: 50px;
}

footer .wrapper .img_logo a:hover {
  background: #22a49d;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
}

footer .wrapper .detail {
  margin: 40px 0 0 0;
  padding-bottom: 32px;
}

footer .wrapper .detail .right P {
  color: #fff;
  font-size: 17px;
  font-weight: 300;
  margin-top: 17px;
}

footer .wrapper .detail .right h4 {
  font-size: 14px;
  font-weight: 700;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vY3NzL3Jlc2V0LmNzcyIsIi4uL2Nzcy9zbGljay5jc3MiLCJzYXNzLWxpYi5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsImJvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsImJvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJib3VyYm9uL2NzczMvX2NvbHVtbnMuc2NzcyIsImJvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJib3VyYm9uL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsImJvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImJvdXJib24vY3NzMy9faHlwaGVucy5zY3NzIiwiYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsImJvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2Zvcm0uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsImJvdXJib24vYWRkb25zL19idXR0b25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsImJvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fbWFyZ2luLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsImJvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsImJvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsImJvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsImJvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHRcclxuICAgIENvbXBhbnkgICAgOiBQVCBXZWIgQXJjaGl0ZWN0IFRlY2hub2xvZ3kgLSB3ZWJhcnEuY29tXHJcbiAgICBEb2N1bWVudCAgIDogU3R5bGVzaGVldFxyXG4gICAgQXV0aG9yICAgICA6IFlvdXIgTmFtZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuQGltcG9ydCBcIi4uL2ZvbnQvc3R5bGVzaGVldC5jc3NcIjtcclxuQGltcG9ydCBcIi4uL2Nzcy9yZXNldFwiO1xyXG5AaW1wb3J0IFwiLi4vY3NzL3NsaWNrXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWxpYlwiO1xyXG5cclxuXHJcbmJvZHkgeyAgXHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkRJTiBOZXh0IExUIFByb1wiOyBcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICAgJi5sb2NrIHtvdmVyZmxvdzogaGlkZGVuO30gXHJcblxyXG59XHJcbmltZ3sgYm9yZGVyOjA7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxyXG5wIHtcclxuICAgIG1hcmdpbjogMXB4IDAgMTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcclxufVxyXG5pbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDhEOEQ4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkRJTiBOZXh0IExUIFByb1wiO1xyXG59XHJcbmlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICBib3JkZXItdG9wLXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xyXG59XHJcbmgxIHsgZm9udC1zaXplOiAzMnB4OyB9XHJcbmgyIHsgZm9udC1zaXplOiAyOHB4OyB9XHJcbmgzIHsgZm9udC1zaXplOiAyNHB4OyB9XHJcbmg0IHsgZm9udC1zaXplOiAyMHB4OyB9IFxyXG5oNSB7IGZvbnQtc2l6ZTogMTZweDsgfSBcclxuaDYgeyBmb250LXNpemU6IDE0cHg7IH1cclxuXHJcbmEge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbn1cclxuXHJcblxyXG4vKiBzdHJ1Y3R1cmUgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5zZWN0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi53cmFwcGVyIHt3aWR0aDogMTE3MHB4O21hcmdpbjogMCBhdXRvO31cclxuXHJcbi8qIGdsb2JhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmFmdGVyX2NsZWFyOmFmdGVyLC53cmFwcGVyOmFmdGVyLHNlY3Rpb246YWZ0ZXJ7Y2xlYXI6Ym90aDtkaXNwbGF5OiBibG9jaztjb250ZW50OlwiIFwifVxyXG4uYmVmb3JlX2NsZWFyOmJlZm9yZXtjbGVhcjpib3RoO2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6XCIgXCJ9XHJcbi5hLWxlZnR7dGV4dC1hbGlnbjogbGVmdH1cclxuLmEtcmlnaHR7dGV4dC1hbGlnbjogcmlnaHR9XHJcbi5hLWNlbnRlcnt0ZXh0LWFsaWduOiBjZW50ZXJ9XHJcbi5pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuLmJvbGQgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4ucmVndWxhciB7IGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XHJcbi5mbCB7IGZsb2F0OiBsZWZ0OyB9XHJcbi5mciB7IGZsb2F0OiByaWdodDsgfVxyXG4uY2xlYXIgeyBjbGVhcjogYm90aDsgfVxyXG5cclxuLmJ0bi1ibHVle31cclxuXHJcbmEge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTsgIFxyXG59XHJcblxyXG4udHJpZ2dlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgdG9wOiAwOyBtYXJnaW46IGF1dG87IGRpc3BsYXk6IGJsb2NrOyBcclxuICAgIC8qJi50cmlnZ2VyLXN1aXRhYmxlIHtcclxuICAgICAgICB0b3A6IDIwcHg7IGJvdHRvbTogYXV0bztcclxuICAgIH0qL1xyXG4gICAgJi50cmlnZ2VyLTV7XHJcbiAgICAgICAgdG9wOiAzMHB4OyBib3R0b206IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY2xlYXJmaXgge1xyXG4gICp6b29tOiAxO1xyXG59XHJcblxyXG4uY2xlYXJmaXg6YmVmb3JlLFxyXG4uY2xlYXJmaXg6YWZ0ZXIge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDphZnRlciB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5idG5fbW9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAgIzIyYTQ5ZDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBoZWlnaHQ6IDQwcHg7IGxpbmUtaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE3cHg7XHJcbiAgICBwYWRkaW5nOiAwIDUwcHg7IGNvbG9yOiAjZmZmOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgXHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQ6I2I3MjcyOTsgY29sb3I6ICNmZmY7ICAgICAgXHJcbiAgICB9XHJcbiAgICAmLnYyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ1OTViO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzIyYTQ5ZDsgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudjMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlZDU5NWI7IGZvbnQtc2l6ZTogMTRweDsgIFxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzIyYTQ5ZDsgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZDUyZDMwO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzIyYTQ5ZDsgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmxpbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOjJweCBzb2xpZCAjZWQ1OTViOyAgIFxyXG4gICAgICAgIGNvbG9yOiAjZWQ1OTViOyBtYXJnaW4tbGVmdDogMTJweDsgcGFkZGluZzogMCA0MHB4OyAgXHJcbiAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojZWQ1OTViOyBjb2xvcjogI2ZmZjsgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5sb2FkZXJ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7ei1pbmRleDogOTk5OTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDtiYWNrZ3JvdW5kOiNGRkY7XHJcbiAgICAuaW1ne1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtoZWlnaHQ6IDEwMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO21hcmdpbjphdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvbG9hZGVyZG9rdS5naWYpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogaGVhZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5oZWFkZXIge1xyXG4gICAgIGhlaWdodDogMTIwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogOTsgbGVmdDogMDsgcmlnaHQ6IDA7ICB6LWluZGV4OiA4ODg4ODtcclxuICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1pbi1vdXQpOyAgXHJcbiAgICAub3Z3aGl0ZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA5MHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcclxuICAgICAgICBsZWZ0OiAwOyB0b3A6IC05NXB4OyB6LWluZGV4OiAzOyBcclxuICAgIH0gXHJcbiAgICAubG9nb3tcclxuICAgICAgICBmbG9hdDogbGVmdDsgbWFyZ2luOiAtMTBweCAtNjVweDsgXHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjFzIGVhc2UtaW4tb3V0KTsgICBcclxuICAgICAgICBpbWcge0BpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBlYXNlLWluLW91dCk7fSAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICYuZXhwYW5kIHtcclxuICAgICAgICAgICAgei1pbmRleDogODg4ODg3OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAuY29sTGFuZ3VhZ2Uge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDsgbWFyZ2luOiAzNXB4IDAgMCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDAgMCAwIDA7ICAgXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6IDlweDsgaGVpZ2h0OiA3cHg7IGNvbnRlbnQ6IFwiXCI7IHJpZ2h0OiAwOyB0b3A6IDUwJTsgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3doaXRlLnBuZycpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTsgei1pbmRleDogMTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IHBhZGRpbmc6IDAgMjBweCAwIDA7IGJvcmRlcjowOyBoZWlnaHQ6IDIwcHg7IGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxN3B4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDM7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2xTZWFyY2ggeyBcclxuICAgICAgICBmbG9hdDogcmlnaHQ7IG1hcmdpbjogMzVweCAzMHB4IDAgMTBweDsgICAgICBcclxuICAgICAgICAuaWNvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19zZWFyY2gucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7IG1hcmdpbjogMCAwOyAgXHJcbiAgICAgICAgdWx7XHJcbiAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMzBweCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogI2ZmZjsgcGFkZGluZzogMCAyNHB4OyBsaW5lLWhlaWdodDogNDBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXdlaWdodDogNDAwOyBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMjVzIGVhc2UtaW4tb3V0KTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDE1cHgpOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGlubHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IGhlaWdodCA6MzRweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7IGNvbG9yOiAjZDMyZjJmOyAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7IGJhY2tncm91bmQ6I2ZmZjsgY29sb3I6ICNkMzJmMmY7IH0gXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge2JhY2tncm91bmQ6ICNlZDU5NWI7IGNvbG9yOiAjZmZmO30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjM1cHg7IHRvcDogMTAwJTsgbGVmdDogLTQwcHg7IG1hcmdpbi10b3A6IDIwcHg7ICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzN3B4IDAgMCAwOyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgICBcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6ICNlZDU5NWI7IHBhZGRpbmc6IDE1cHggMDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6IDE4cHg7IGhlaWdodDogMTVweDsgY29udGVudDogXCJcIjsgbGVmdDogNTAlOyB0b3A6IC0xNHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl8xLnBuZycpIG5vLXJlcGVhdCAwIDA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMCAwIDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBoZWlnaHQ6IDI1cHg7IHBhZGRpbmc6IDhweCAyMHB4IDhweCA1NXB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7IGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAyNXB4OyBoZWlnaHQ6IDI1cHg7IGJhY2tncm91bmQ6ICNmMTdhN2M7IGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7IHRvcDogOHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNTJlMzA7IGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLXdhbGxldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ktd2FsbGV0LnBuZycpIG5vLXJlcGVhdCAwIDUwJTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmktcGF5bWVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ktcGF5bWVudC5wbmcnKSBuby1yZXBlYXQgMCA1MCU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLXJpc2sge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pLXJpc2sucG5nJykgbm8tcmVwZWF0IDAgNTAlO30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaS1kaXNidXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pLWRpc2J1ci5wbmcnKSBuby1yZXBlYXQgMCA1MCU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLWJpbGxlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ktYmlsbC5wbmcnKSBuby1yZXBlYXQgMCA1MCU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLWtpcmltIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge2JhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaS1raXJpbS5wbmcnKSBuby1yZXBlYXQgMCA1MCU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLWFjY291bnQgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge2JhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaS1hY2NvdW50LnBuZycpIG5vLXJlcGVhdCAwIDUwJTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge3BhZGRpbmctYm90dG9tOiAwO30gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogI2Q1MmUzMDsgbWFyZ2luOiAxMHB4IDA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmhlYWQgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MnB4IDIwcHggMnB4IDIwcHg7IGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge2Rpc3BsYXk6bm9uZTt9ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5maXhlZCB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgaGVpZ2h0OiA5MHB4OyAgIFxyXG4gICAgICAgIGxlZnQ6IDA7IHRvcDogMDsgICAgXHJcbiAgICAgICAgLndyYXBwZXIge3otaW5kZXg6IDU7IHBvc2l0aW9uOiByZWxhdGl2ZTt9ICAgICAgICAgXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICAvKiB3aWR0aDogNjJweDsgaGVpZ2h0OiA2MXB4OyBtYXJnaW4tdG9wOjE1cHg7IG1hcmdpbi1sZWZ0OiAwcHg7ICAgICAgXHJcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9sb2dvX2ZpeGVkLnBuZycpIG5vLXJlcGVhdCAwIDA7ICAqLyBcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDotMzJweDsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBlYXNlLWluLW91dCk7IFxyXG4gICAgICAgICAgICBpbWcge0BpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBlYXNlLWluLW91dCk7fSAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5hdiB7IFxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyOHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNDM1MTU5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZWQ1OTViOyBjb2xvcjogI2ZmZjsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge0BpbmNsdWRlIGJvcmRlclJhZGl1cygzMHB4KTsgYmFja2dyb3VuZDojZWQ1OTViOyBjb2xvcjogI2ZmZjsgfSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDBweCk7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sTGFuZ3VhZ2UgeyBcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfZml4ZWQucG5nJykgbm8tcmVwZWF0IDAgMDsgdG9wOiA0MCU7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlbGVjdCB7Y29sb3I6ICM0MzUxNTk7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sU2VhcmNoIHsgICAgXHJcbiAgICAgICAgICAgIC5pY28ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX3NlYXJjaF9maXhlZC5wbmcnKSBuby1yZXBlYXQgMCAwOyBcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvZ2dsZU1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDI2cHg7IGhlaWdodDogMjNweDsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDI3cHggMjBweCAwIDA7IFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICBcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjZweDsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6ICNmZmY7ICBcclxuICAgICAgICAgICAgcmlnaHQ6MDsgdG9wOiAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwZGVnKSk7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAuMjVzIGVhc2UtaW4tb3V0KTsgXHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm1vcmlnaW4obGVmdCBjZW50ZXIpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm1vcmlnaW4obGVmdCBjZW50ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybW9yaWdpbihsZWZ0IGNlbnRlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXhwYW5kIHsgXHJcbiAgICAgICAgICAgIHotaW5kZXg6IDg4ODg4NztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTdweDsgICAgICAgXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q1MmUzMDsgIFxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge3RvcDogMHB4OyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7fSAgICAgICBcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHt0b3A6IDEwcHg7IG9wYWNpdHk6IDA7fVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge3RvcDogMThweDsgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTt9ICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJveE5hdm1vYmlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB0b3A6IDA7IGxlZnQ6IDA7IHotaW5kZXg6IDg4ODc4NzsgIFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgIFxyXG4gICAgICAgIC5kZE1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDgycHggMCAwcHggMDsgcG9zaXRpb246IHJlbGF0aXZlOyAgICBcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMzBweDsgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgICAgICAgICBcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246Zml4ZWQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDYwcHg7IGJhY2tncm91bmQ6ICNmZmY7IFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjsgdG9wOiAwOyBsZWZ0OiAwOyB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsaSB7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDE4cHggMzBweDsgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7IGNvbG9yOiAjNDc1NTVjOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5oYXNDaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEuY2hpbGQgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDogMTRweDsgaGVpZ2h0OiA5cHg7IGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3N0eWxlZF9yZWQucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MzBweDsgdG9wOiA0NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTQ1JSkpOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZDU5NWI7IGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMzNweDsgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAyNXB4OyBoZWlnaHQ6IDI1cHg7IGJhY2tncm91bmQ6ICNmMTdhN2M7IGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDsgdG9wOiA4cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q1MmUzMDsgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmktd2FsbGV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pLXdhbGxldC5wbmcnKSBuby1yZXBlYXQgMCA1JTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLXBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ktcGF5bWVudC5wbmcnKSBuby1yZXBlYXQgMCA1JTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLXJpc2sge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ktcmlzay5wbmcnKSBuby1yZXBlYXQgMCA1JTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLWRpc2J1ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge2JhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaS1kaXNidXIucG5nJykgbm8tcmVwZWF0IDAgNTAlO30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmktYmlsbGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pLWJpbGwucG5nJykgbm8tcmVwZWF0IDAgNSU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaS1raXJpbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge2JhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaS1raXJpbS5wbmcnKSBuby1yZXBlYXQgMCA1JTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pLWFjY291bnQgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7YmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pLWFjY291bnQucG5nJykgbm8tcmVwZWF0IDAgNSU7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6ICNkNTJlMzA7IG1hcmdpbjogMTBweCAwOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaGVhZCB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjhweCAyMHB4IDhweCAwOyBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7ZGlzcGxheTpub25lO30gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sTGFuZ3VhZ2Uge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgbWFyZ2luLWxlZnQ6IDMwcHg7IG1hcmdpbi1yaWdodDogMzBweDsgbWFyZ2luLWJvdHRvbTogMjVweDsgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX2ZpeGVkLnBuZycpIG5vLXJlcGVhdCAwIDA7IHRvcDogNDAlOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzZWxlY3Qge2NvbG9yOiAjNDM1MTU5OyBmb250LXNpemU6IDE3cHg7fSAgXHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5zZWFyY2hGbG9hdGluZyB7ICBcclxuICAgIHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTE2cHg7IGJhY2tncm91bmQ6ICNmZmY7IHRvcDogLTExNnB4OyBsZWZ0OiAwOyBcclxuICAgIHotaW5kZXg6IDg4ODg5OTsgICAgXHJcbiAgICAuYm94IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDMwcHg7IGhlaWdodDogNDBweDsgdG9wOiAwOyBsZWZ0OiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6MDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19zZWFyY2hfbWVkLnBuZycpIG5vLXJlcGVhdCAwIDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM1cHg7IGxpbmUtaGVpZ2h0OiAzNXB4OyBjb2xvcjogIzQ3NTU1YzsgcGFkZGluZzogMDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgXHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgYm9yZGVyOjA7IHBhZGRpbmc6IDAgNDBweCAwIDY0cHg7ICBcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgXHJcbiAgICAgICAgfSBcclxuICAgICAgICAuY2xvc2UgeyAgXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDMwcHg7IGhlaWdodDogNDBweDsgdG9wOiAwOyByaWdodDogMDsgcGFkZGluZzogMDsgYm9yZGVyOjA7IFxyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7ICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaS1jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIDUwJTsgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIG1pZGRsZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmJhbm5lciB7IFxyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAuaW1nIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICBpbWcge3dpZHRoOiAxMDAlO31cclxuICAgIH1cclxuICAgIC5jYXB0aW9ue1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDowOyBib3R0b206IDA7IG1hcmdpbjogYXV0bzsgd2lkdGg6IDExNzBweDsgaGVpZ2h0OiAyNjVweDsgY29sb3I6ICNmZmY7IFxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDcycHg7IGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgbWFyZ2luLXRvcDogMjVweDsgd2lkdGg6IDg3MHB4OyBmb250LXdlaWdodDogMjAwOyBsaW5lLWhlaWdodDogMS44ZW07IG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmxlZnR7IFxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIC5sZWZ0Om50aC1jaGlsZCgxKXtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDsgbWFyZ2luLXJpZ2h0OiAxOXB4OyBmb250LXdlaWdodDogNDAwOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGVmdDpudGgtY2hpbGQoMil7IFxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNDAwOyBtYXJnaW4tcmlnaHQ6IDE5cHg7IHBhZGRpbmc6IDRweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhvbWVTbGlkZSB7ICAgXHJcbiAgICAgICAgLmNvbCB7cG9zaXRpb246IHJlbGF0aXZlO30gXHJcbiAgICAgICAgJi5zbGljay1zbGlkZXIgeyBcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyBcclxuICAgICAgICAgICAgLnNsaWNrLWxpc3Qge2hlaWdodDogMTAwJTt9IFxyXG4gICAgICAgICAgICAuc2xpY2stdHJhY2sge2hlaWdodDogMTAwJTt9IFxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn1cclxuLmJhbm5lcnBhZ2UgeyBcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyBcclxuICAgIC5pbWcge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIGltZyB7d2lkdGg6IDEwMCU7fSBcclxuICAgIH1cclxuICAgIC5jYXB0aW9ue1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDowOyBib3R0b206IDA7IG1hcmdpbjogYXV0bzsgd2lkdGg6IDExNzBweDsgaGVpZ2h0OiAxNjVweDsgY29sb3I6ICNmZmY7IFxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDUwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgbWFyZ2luLXRvcDogMTVweDsgd2lkdGg6IDg3MHB4OyBmb250LXdlaWdodDogMjAwOyBsaW5lLWhlaWdodDogMS42ZW07IG1hcmdpbi1ib3R0b206IDUwcHg7ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAubGVmdHsgXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgLmxlZnQ6bnRoLWNoaWxkKDEpe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4OyBtYXJnaW4tcmlnaHQ6IDE5cHg7IGZvbnQtd2VpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGVmdDpudGgtY2hpbGQoMil7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IG1hcmdpbi1yaWdodDogMTlweDsgcGFkZGluZzogNHB4IDA7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zdWl0YWJsZV9jb250ZW50e1xyXG4gICAgcGFkZGluZzogMTM1cHggMCAxNTVweCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgJi5mb290e1xyXG4gICAgICAgIHBhZGRpbmc6MDsgYmFja2dyb3VuZDogI2ZiZmJmYjtwYWRkaW5nLWJvdHRvbTogMTU1cHg7XHJcbiAgICAgICAgLndyYXBwZXJ7XHJcbiAgICAgICAgICAgIC53cmFwe1xyXG4gICAgICAgICAgICAgICAgLmlzaXtcclxuICAgICAgICAgICAgICAgICAgICAucm91bmRlZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZWRlZGVkOyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTRweCk7IHBhZGRpbmc6IDM3cHggMzFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDVweDsgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudGV4dHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIyYTQ5ZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuX2V4cHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICAjMjJhNDlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2I3MjcyOTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpOyBjb2xvcjogI2ZmZjsgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2hke1xyXG4gICAgICAgICAgICAgICAgICAgIC5pc2l7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgLnJvdW5kZWR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3coMHB4IDhweCAyNHB4IC0xMHB4ICNjY2MpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcHBlcntcclxuICAgICAgICAud3JhcHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0yNXB4O1xyXG4gICAgICAgICAgICAgJi5zaGR7XHJcbiAgICAgICAgICAgICAgICAuaXNpe1xyXG4gICAgICAgICAgICAgICAgICAgLnJvdW5kZWR7XHJcbiAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdygwcHggOHB4IDI0cHggLTEwcHggI2NjYyk7XHJcbiAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pc2l7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlOyAgZmxvYXQ6IGxlZnQ7IHBhZGRpbmc6MCAyNXB4OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgICAgICAgICAgICAucm91bmRlZHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNlZGVkZWQ7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygxNHB4KTsgcGFkZGluZzogMzdweCAzMXB4OyBcclxuICAgICAgICAgICAgICAgICAgICAuaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7IGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5idG5fZXhwe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTJweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogI2VkNTk1YjsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzdweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAgMDsgbGluZS1oZWlnaHQ6IDM3cHg7IGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2I3MjcyOTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpOyBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudGV4dHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjY1cHg7IGZsb2F0OiByaWdodDsgXHJcbiAgICAgICAgICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNlZDU5NWI7IHdpZHRoOiAyNDRweDsgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDsgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjNDM1MTU5OyBmb250LXdlaWdodDogNDAwOyAgd2lkdGg6IDI0NHB4OyBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxufVxyXG4udGl0dGxle1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC5ib3JkZXJfaWNveyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMjVweDsgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tYm90dG9tOiA4MHB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoOHB4KTtcclxuICAgICAgICAgICAgICAgIGltZ3t3aWR0aDogNjNweDtkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiBhdXRvO30gXHJcblxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAuaW1nX3RpdHRsZXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNzZweDsgaGVpZ2h0OiA2MXB4OyBtYXJnaW46IGF1dG8gYXV0bzsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4OyBjb2xvcjogI2VkNTk1YjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDsgY29sb3I6ICMyMmE0OWQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICM0NzU1NWM7IGZvbnQtd2VpZ2h0OiA0MDA7IG1hcmdpbi1ib3R0b206IDk1cHg7IG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbi52YXJpb3VzX3BheW1lbnR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiAjZmJmYmZiOyBwYWRkaW5nLXRvcDogMTEwcHg7IHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIC50cmlnZ2VyLTR7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYzJTsgfVxyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgLndyYXB7XHJcbiAgICAgICAgICAgIC5pc2l7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMzMlOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDAgNTBweDsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgICAgICAgIC5yb3VuZGVke1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVye2NvbnRlbnQ6XCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO30gICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGltZyB7fSBcclxuICAgICAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgbWFyZ2luLXRvcDogMzBweDsgd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoNHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI5cHg7Y29sb3I6ICM0NzU1NWM7IG1hcmdpbi1ib3R0b206IDMwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM5OTk5OTk7IGZvbnQtd2VpZ2h0OiA0MDA7IG1hcmdpbjogMCAwIDMwcHg7IGxpbmUtaGVpZ2h0OiAxLjhlbTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgICAgIFxyXG59XHJcblxyXG5cclxuLm1pZGRsZV9jb250ZW50IHtcclxuICAgIC53cmFwcGVye3BhZGRpbmc6IDkwcHggMDsgcG9zaXRpb246IHJlbGF0aXZlO30gXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNXB4OyBsaW5lLWhlaWdodDogMzVweDsgY29sb3I6ICMyMmE0OWQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgJi5jb2xvcl8yIHtjb2xvcjogI2VkNTk1YjsgbGluZS1oZWlnaHQ6IDQycHg7fSBcclxuICAgIH1cclxuICAgIGg0IHtmb250LXNpemU6IDI5cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7fSBcclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAjNDM1MTU5OyBmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBtYXJnaW46IDAgMCAyMHB4IDA7IFxyXG4gICAgICAgICYuc2hvcnQge2ZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6IDM1cHg7fVxyXG4gICAgfVxyXG5cclxuICAgIC5zaG9ydERlc2NyaXAge31cclxuICAgIC5kZXRvcCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nLWJvdHRvbTogNTBweDsgICAgXHJcbiAgICAgICAgaDMge21hcmdpbi1ib3R0b206IDIwcHg7fSAgXHJcbiAgICAgICAgcCB7Zm9udC1zaXplOiAyNHB4O30gXHJcbiAgICB9ICBcclxuXHJcbiAgICAuc3RkX3RhYmxlIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgcGFkZGluZzogMzBweCAzMHB4IDI1cHggMzBweDsgYmFja2dyb3VuZDogI2VlNWE1YTsgY29sb3I6ICNmZmY7ICAgXHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNmYWZhZmE7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge0BpbmNsdWRlIGJvcmRlclJhZGl1cygxNXB4IDAgMCAwKTt9ICAgIFxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge0BpbmNsdWRlIGJvcmRlclJhZGl1cygwIDE1cHggMCAwKTsgYm9yZGVyLXJpZ2h0OiAwO30gICAgICAgXHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgdGFibGUge3dpZHRoOiAxMDAlO30gXHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtiYWNrZ3JvdW5kOiAjZmZmO31cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtiYWNrZ3JvdW5kOiAjZWJlYmViO31cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge0BpbmNsdWRlIGJvcmRlclJhZGl1cygwIDAgMCAxNXB4KTt9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDAgMCAxNXB4IDApO30gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICM4NzhhOGI7ICBcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNmYWZhZmE7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtjb2xvcjojMzMzO31cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7Ym9yZGVyLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgICAgIHAge2ZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGNvbG9yOiAjODc4YThiO30gICAgIFxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiAwIDAgMThweCAzN3B4OyBsaW5lLWhlaWdodDogMzBweDsgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyBjb250ZW50OiBcIlwiOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDVweDsgYmFja2dyb3VuZDogI2Q1MmUzMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoM3B4KTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc21hbGwge2ZvbnQtc2l6ZTogMTRweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi52MiB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtiYWNrZ3JvdW5kOiAjZmZmO30gXHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge2JhY2tncm91bmQ6ICNmYWZhZmE7fSAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzQ3NTU1YzsgZm9udC1zaXplOiAyNHB4OyBwYWRkaW5nOiAzNXB4IDMwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNlYmYyZjU7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZWJmMmY1OyAgXHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5rbm93IHtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge3dpZHRoOiA0MCU7fVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge3dpZHRoOiAzMCU7fVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge3dpZHRoOiAzMCU7fSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbFBheSB7XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAwIDI1cHg7ICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgXHJcbiAgICAgICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDsgcGFkZGluZzogNTBweCA2NXB4OyAgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNThweDsgbWFyZ2luLWJvdHRvbTogMzBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB0b3A6IDUwJTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTRweCk7IFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2hhZG93KDBweCA4cHggMjRweCAtMTBweCAjY2NjKTsgICBcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb2xCdXNpbmVzcyB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyAgXHJcbiAgICAgICAgLndyYXBwZXIge3BhZGRpbmc6IDgwcHggMDsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7fSAgIFxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiOyBcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7YmFja2dyb3VuZDogI2ZiZmJmYjt9ICBcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge2JhY2tncm91bmQ6ICNmZmY7fVxyXG4gICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAwIDkwcHggMCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7ICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge3BhZGRpbmctcmlnaHQ6MDsgcGFkZGluZy1sZWZ0OiA5MHB4O30gIFxyXG4gICAgICAgICAgICAgICAgJi5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM3NXB4OyBtYXgtaGVpZ2h0OiA0ODBweDsgICBcclxuICAgICAgICAgICAgICAgICAgICBpbWcgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDA7IHJpZ2h0OiAyMHB4OyBtYXgtd2lkdGg6IG5vbmU7ICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwOyBcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTsgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7ICBcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAuY29sdHdvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDQ5LjYlOyBwYWRkaW5nOiAwIDU1cHggMCAwOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDQge2NvbG9yOiAjNDc1NTVjO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge2ZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDIxcHg7IGNvbG9yOiAjOTk5O30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7fSAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEubW9iYXBwcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMThweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmcmFtZSB7d2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiAzMTVweCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pbXJpZ2h0IHsgIFxyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7IHBhZGRpbmc6IDAgMCAwIDA7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbGVmdDogMTAwcHg7ICovIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTIwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi50ZXh0IHtmbG9hdDogbGVmdDsgbGVmdDogMDsgcGFkZGluZzogMCAyMnB4IDAgMDsgLyogcGFkZGluZzogMCAxMDBweCAwIDA7ICovfSBcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hdXRvaGVpZ2h0IHsgIFxyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi50ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAlOyAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwJSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gICAgICBcclxuXHJcbiAgICAgICAgJi5lLWludm9pY2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ1OTViOyBcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ1OTViO1xyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaDMge2NvbG9yOiAjZmZmO30gXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7Y29sb3I6ICNmZmY7fVxyXG4gICAgICAgICAgICAgICAgICAgICYuaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzMwcHg7IG1heC1oZWlnaHQ6IDMzMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtsZWZ0OiAwO30gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYudGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb2x0d28geyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jbCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg0IHtjb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7Y29sb3I6ICNmZmY7fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmlyc3R3aGl0ZSB7XHJcbiAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7YmFja2dyb3VuZDogI2ZmZn0gIFxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge2JhY2tncm91bmQ6ICNmYmZiZmI7fSAgICBcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLmhhdmVTbGlkZSB7XHJcbiAgICAgICAgICAgIC8qIHBhZGRpbmctYm90dG9tOiA4MHB4OyAqLyBcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDsgXHJcbiAgICAgICAgICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgbGVmdDogMDsgXHJcbiAgICAgICAgICAgICAgICAvKmJvdHRvbTogNzVweDsgICovXHJcbiAgICAgICAgICAgICAgICBib3R0b206IDE1cHg7ICBcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBtYXJnaW46IDAgNHB4OyBcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICM5ZTllOWU7ICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1MCUpOyBcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOyBib3JkZXI6MDsgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5zbGljay1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2VkNTk1YjsgYmFja2dyb3VuZDojZWQ1OTViOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7ZGlzcGxheTogYmxvY2s7IG1hcmdpbjogYXV0bzt9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbFN0YXJ0YnVpbGRpbmcge1xyXG4gICAgICAgIGhlaWdodDogMjg0cHg7IGJhY2tncm91bmQ6ICNjY2M7IGNvbG9yOiNmZmY7IGZvbnQtc2l6ZTozNXB4OyBcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIC53cmFwcGVyIHtwYWRkaW5nOiA5MHB4IDI3MHB4IDAgMjcwcHg7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgdGV4dC1hbGlnbjogY2VudGVyO30gICAgXHJcbiAgICAgICAgLmZsIHtwYWRkaW5nOjEwcHggMCAwIDE3MHB4O30gIFxyXG4gICAgICAgIC5mciB7fVxyXG4gICAgICAgIC50aXRsZSB7bWFyZ2luLWJvdHRvbTogMzJweDt9IFxyXG4gICAgICAgIFxyXG4gICAgICAgIC5hcmVhYnRuIHtcclxuICAgICAgICAgICAgLmNsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICYuc2VsZWN0UHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1MnB4OyBoZWlnaHQ6IDU4cHg7IGxpbmUtaGVpZ2h0OiA1OHB4OyBib3JkZXI6MnB4IHNvbGlkICNmZmY7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygzNXB4KTsgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDlweDsgY29udGVudDogXCJcIjsgcmlnaHQ6IDI4cHg7IHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfd2hpdGVfbWVkLnBuZycpIG5vLXJlcGVhdCAwIDA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7ICBcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgNTVweCAwIDI3cHg7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjowOyBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IGxpbmUtaGVpZ2h0OiA1OHB4OyB0b3A6IDA7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYnRuX21vcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDsgbGluZS1oZWlnaHQ6IDYwcHg7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudjIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM3MnB4O1xyXG4gICAgICAgICAgICAud3JhcHBlciB7cGFkZGluZy10b3A6IDExMnB4O30gIFxyXG4gICAgICAgICAgICBhLmJ0bl9tb3JlIHtoZWlnaHQ6IDYwcHg7IGxpbmUtaGVpZ2h0OiA2MHB4O30gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmVhc3ljb2wgeyAgIFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7IFxyXG4gICAgICAgIGgzIHt0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDUwcHg7fSAgICAgICAgICAgICBcclxuICAgICAgICAud3JhcHBlciB7cGFkZGluZzogMTAwcHggMDt9IFxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7IHdpZHRoOiAyNSU7IHBhZGRpbmc6IDAgMTNweDsgbWFyZ2luOiAwIC0zcHggMCAwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgXHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBcclxuICAgICAgICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAyNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRvcDogNTAlOyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIC50ZXh0IHtmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjOTk5OyBsaW5lLWhlaWdodDogMjRweDt9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICAmLnYyIHtcclxuICAgICAgICAgICAgLmV0b3Age1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDYwcHggMDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcCB7Zm9udC1zaXplOiAyNHB4O31cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgaDMge21hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4gICAgICAgICAgICBoNCB7Zm9udC1zaXplOiAyNHB4OyBjb2xvcjogI2VkNTk1Yjt9XHJcbiAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltZyB7aGVpZ2h0OiAxMDhweDsgbWFyZ2luLWJvdHRvbTogNDVweDt9IFxyXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBjb2xvcjogIzQzNTE1OTt9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudjMge1xyXG4gICAgICAgICAgICAud3JhcHBlciB7cGFkZGluZy10b3A6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyNXB4O30gICAgICBcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcclxuICAgICAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7IHRleHQtYWxpZ246IGxlZnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMTEwcHg7IG1hcmdpbi1ib3R0b206IDUwcHg7ICBcclxuICAgICAgICAgICAgICAgICAgICAuaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4NXB4OyB3aWR0aDogNjVweDsgbWFyZ2luLWJvdHRvbTogNDVweDsgdGV4dC1hbGlnbjogbGVmdDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAxM3B4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGg0IHtwYWRkaW5nLWxlZnQ6IDExMnB4OyBwYWRkaW5nLXJpZ2h0OiA5MHB4OyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjNDc1NTVjO30gICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTEycHg7IHBhZGRpbmctcmlnaHQ6IDkwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBjb2xvcjogIzk5OTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzIpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNjVweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGg0IHtwYWRkaW5nLWxlZnQ6IDEyMHB4O30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50ZXh0IHtwYWRkaW5nLWxlZnQ6IDEyMHB4O30gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudjQgeyAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7ICAgICAgICAgXHJcbiAgICAgICAgICAgIGgzIHttYXJnaW4tYm90dG9tOiAyMHB4O30gXHJcbiAgICAgICAgICAgIGg0IHtmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjZWQ1OTViO31cclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDAgMjBweDsgd2lkdGg6IDUwJTsgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgICAgICAgICAuaW1nIHtoZWlnaHQ6IDEwOHB4OyBtYXJnaW4tYm90dG9tOiA0NXB4O30gXHJcbiAgICAgICAgICAgICAgICAgICAgLnRleHQge2ZvbnQtc2l6ZTogMTdweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGNvbG9yOiAjNDM1MTU5O30gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYWluIHsgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IFxyXG4gICAgICAgICAgICAud3JhcHBlciB7fSBcclxuICAgICAgICAgICAgaDMge3BhZGRpbmctYm90dG9tOiAzMHB4O30gICAgICBcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlOyB0ZXh0LWFsaWduOiBsZWZ0OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDExMHB4OyBtYXJnaW4tYm90dG9tOiA1MHB4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7IHdpZHRoOiAxMjVweDsgbWFyZ2luLWJvdHRvbTogNDVweDsgdGV4dC1hbGlnbjogbGVmdDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAxM3B4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTU4cHg7IHBhZGRpbmctcmlnaHQ6IDkwcHg7IGNvbG9yOiAjMjJhNDlkOyBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge2Rpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDI5cHg7IGNvbG9yOiAjOTk5OyBwYWRkaW5nLXRvcDogNXB4O30gIFxyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNThweDsgcGFkZGluZy1yaWdodDogOTBweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGNvbG9yOiAjNDM1MTU5OyBcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mZWF0dXJlIHsgICAgICAgXHJcbiAgICAgICAgICAgIGgzIHtwYWRkaW5nLWJvdHRvbTogMzBweDt9ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IFxyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTsgdGV4dC1hbGlnbjogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyBtaW4taGVpZ2h0OiAxMTBweDsgbWFyZ2luLWJvdHRvbTogNTBweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTJweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDsgd2lkdGg6IDcwcHg7IG1hcmdpbi1ib3R0b206IDQ1cHg7IHRleHQtYWxpZ246IGxlZnQ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMTNweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgd2lkdGg6IDEwMCU7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgaDQge3BhZGRpbmctbGVmdDogMTMwcHg7IHBhZGRpbmctcmlnaHQ6IDkwcHg7IGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICM0NzU1NWM7fSAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMzBweDsgcGFkZGluZy1yaWdodDogOTBweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGNvbG9yOiAjOTk5OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaDQge3BhZGRpbmctbGVmdDogMjMwcHg7IHBhZGRpbmctcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudGV4dCB7cGFkZGluZy1sZWZ0OiAyMzBweDsgcGFkZGluZy1yaWdodDogMDt9ICBcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5leHRyYSB7XHJcbiAgICAgICAgICAgIGgzIHtwYWRkaW5nLWJvdHRvbTogMzBweDt9XHJcbiAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDM0cHggMzVweCAzNHB4OyB3aWR0aDogMzMuMzMlOyBcclxuICAgICAgICAgICAgICAgICAgICBoNCB7Zm9udC1zaXplOiAyOXB4OyBjb2xvcjogIzQ3NTU1YzsgfSAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmltZyB7aGVpZ2h0OiAxMDBweDsgbWFyZ2luLWJvdHRvbTogNDVweDt9IFxyXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBjb2xvcjogIzk5OTt9ICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmV3YWxsZXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjsgXHJcbiAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0NHB4IDM1cHggNDRweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50ZXh0IHtwYWRkaW5nOiAwIDE1cHg7fSAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC5jb2xNZXJjaGFudCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXHJcbiAgICAgICAgLm1lcmNoYW50bG9nbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyBcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMCAyMHB4OyAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZGVzIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDIwMHB4O1xyXG4gICAgICAgICAgICBwIHttYXJnaW4tYm90dG9tOiAzMHB4O30gXHJcbiAgICAgICAgfSAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbFNjb3BlIHtcclxuICAgICAgICBoZWlnaHQ6IDM3NXB4OyBjb2xvcjogI2ZmZjsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsgIFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGhlaWdodDogMTAwJTsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTsgXHJcbiAgICAgICAgICAgICYuc2NfbGVmdCB7bGVmdDowO31cclxuICAgICAgICAgICAgJi5zY19yaWdodCB7cmlnaHQ6IDEzMHB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgLndyYXBwZXIge0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogMTEwcHggNzBweCAwIDU1MHB4O30gICAgICBcclxuICAgICAgICBoMyB7Y29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDVweDt9ICAgXHJcbiAgICAgICAgcCB7Y29sb3I6ICNmOWUxZDg7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDMwcHg7fSAgXHJcbiAgICAgICAgJi52MiB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogNjM4cHg7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgICAgICAgICAgXHJcbiAgICB9IFxyXG5cclxuICAgIC5oYXZlZ290IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICAgIGgzIHttYXJnaW4tYm90dG9tOiA2NXB4O30gICBcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAyODBweDsgbWFyZ2luOiAwIDEyNXB4IDAgMDsgICBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDsgY29sb3I6ICM0NDU1NWM7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbiszKSB7bWFyZ2luLXJpZ2h0OiAwO30gICAgXHJcbiAgICAgICAgICAgICAgICAuY291bnQge21hcmdpbi1ib3R0b206IDEycHg7fSBcclxuICAgICAgICAgICAgICAgIC50eHQge2ZvbnQtc2l6ZTogMzVweDt9XHJcbiAgICAgICAgICAgIH0gICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuaG93aW50ZWdyYXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiOyBcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgd2lkdGg6IDUwJTsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7cGFkZGluZy1yaWdodDogMTM4cHg7fVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge3BhZGRpbmctbGVmdDogMTM4cHg7fVxyXG4gICAgICAgICAgICAgICAgaDMge3RleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO30gIFxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7Y29sb3I6ICM2NjY7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgICYudjIge1xyXG4gICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgIHAge3BhZGRpbmctcmlnaHQ6IDI1cHg7fVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge3BhZGRpbmctcmlnaHQ6IDEwNXB4O30gICBcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcCB7cGFkZGluZy1yaWdodDogNDVweDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jZW50ZXIgeyBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGJpbGxTZXJ2aWNlcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ViZjJmNTsgXHJcbiAgICAgICAgLmJpbGwtdGFibGUge1xyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRib2R5IHsgXHJcbiAgICAgICAgICAgICAgICAgICAgdHIgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7dGR7YmFja2dyb3VuZDogI2ZhZmFmYTt9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7dGR7YmFja2dyb3VuZDogI2ZmZjt9fSAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTVweCAwIDAgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwIDE1cHggMCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwIDAgMCAxNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDAgMCAxNXB4IDApOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzVweDsgY29sb3I6ICM0NzU1NWM7IGZvbnQtc2l6ZTogMjRweDsgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgI2ViZjJmNTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ViZjJmNTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7d2lkdGg6MzMwcHg7fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7Ym9yZGVyLXJpZ2h0OjA7fSAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgLmxvZyB7ZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBtYXJnaW46MCA3MHB4IDM1cHggMDt9IFxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAubG9nIHttYXJnaW4tYm90dG9tOiAwO30gIFxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53aGF0aXMgeyBcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2N3B4OyBjb2xvcjogI2ZmZjsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC53cmFwcGVyIHtwYWRkaW5nLWxlZnQ6IDEwMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO30gXHJcbiAgICAgICAgaDMge2NvbG9yOiAjZmZmOyBtYXJnaW4tYm90dG9tOiAzMHB4O30gXHJcbiAgICAgICAgcCB7Y29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6IDM1cHg7fSAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuY29sQXV0b21hdGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWJmMmY1OyAgIFxyXG4gICAgICAgIC5kZXRvcCB7cGFkZGluZy1ib3R0b206IDEwcHg7fSAgIFxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwOyBcclxuICAgICAgICAgICAgaDMge3RleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO31cclxuICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1MCU7IG1hcmdpbjowIC0ycHggMCAwOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgdmVydGljYWwtYWxpZ246IHRvcDsgXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMzBweDsgcGFkZGluZy1yaWdodDogMDsgICAgXHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5jb2xfMyB7XHJcbiAgICAgICAgICAgICAgICAuY29sIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMjIyJTsgcGFkZGluZy1yaWdodDogNDBweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMikgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNvbE1pbGVzdG9uZSB7XHJcbiAgICAgICAgcGFkZGluZzogMzVweCAwOyAgXHJcbiAgICAgICAgLnNsaWRlTWlsZSB7XHJcbiAgICAgICAgICAgICYuc2xpY2staW5pdGlhbGl6ZWQge1xyXG4gICAgICAgICAgICAgICAgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzA1cHg7IHBhZGRpbmc6MTA1cHggNzVweCAwIDMwcHg7ICBcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogI2VkNTk1YjsgbGVmdDogMDsgdG9wOiA2NXB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjsgYm9yZGVyLXRvcDoxcHggc29saWQgI2VmNmY3MTsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI3cHg7IGxlZnQ6IDMwcHg7IHRvcDogNTRweDsgY29udGVudDogXCJcIjsgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYnVsbGV0X21pbGUucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICAuc2xpY2stYXJyb3cgeyBcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgei1pbmRleDogMTI7IGN1cnNvcjogcG9pbnRlcjsgd2lkdGg6IDQ0cHg7IGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5OXB4OyBwYWRkaW5nOiAwOyBib3JkZXI6MDsgICBcclxuICAgICAgICAgICAgICAgICAgICAmLnNsaWNrLXByZXYgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJzX3ByZXYucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuc2xpY2stbmV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJzX25leHQucG5nJykgbm8tcmVwZWF0IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgaDQge2NvbG9yOiAjMjJhNDlkOyBmb250LXNpemU6IDIwcHg7fVxyXG4gICAgICAgICAgICAgICAgLnN0aXRsZSB7Zm9udC1zaXplOiAyOXB4OyBjb2xvcjogIzQzNTE1OTsgbWFyZ2luLWJvdHRvbTogMTNweDt9ICBcclxuICAgICAgICAgICAgICAgIC5zdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0MzUxNTk7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmJhbm5lci1wcm9tbyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICAmOmJlZm9yZSB7IFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDRweDsgY29udGVudDogXCJcIjsgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyBib3R0b206IC0ycHg7IGxlZnQ6IDA7IHotaW5kZXg6IDM7ICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyAgXHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6NzVweDsgYm90dG9tOjUwcHg7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6MjlweDsgICAgXHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzNTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5sYXJnZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6IDRweDsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiAjZmZmOyBcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7IHJpZ2h0OiAwOyBjb250ZW50OiBcIlwiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLypoZWlnaHQ6IDEwMCU7ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xOHMgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge0BpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTt9ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIC50aXRsZSB7bGVmdDogMjlweDt9XHJcbiAgICAgICAgICAgICAgICBkaXYuY2wge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBoZWlnaHQ6IDUwJTsgcG9zaXRpb246IGFic29sdXRlOyAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7dG9wOiAwOyBsZWZ0OiAwO30gXHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge3RvcDogMDsgcmlnaHQ6IDA7fSBcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7Ym90dG9tOiAwOyBsZWZ0OiAwO30gXHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge2JvdHRvbTogMDsgcmlnaHQ6IDA7fSBcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7aGVpZ2h0OiAxMDAlOyBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMThzIGVhc2Utb3V0KTt9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge0BpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTt9ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNHB4OyBoZWlnaHQ6IDEwMCU7IGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgdG9wOiAwOyBsZWZ0OiA1MCU7IHotaW5kZXg6IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0cHg7IGNvbnRlbnQ6IFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IHRvcDogNTAlOyBsZWZ0OiAwOyB6LWluZGV4OiAzOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpOyBcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbGlkZXJwcm9tbyB7XHJcbiAgICAgICAgICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgYm90dG9tOiA0NHB4OyAgIFxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiAwIDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiAjZDdkN2Q3OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDsgYm9yZGVyOjhweCBzb2xpZCAjZmZmOyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1MCUpOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5zbGljay1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge2JhY2tncm91bmQ6ICNkNTJlMzA7fSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgICBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogI2NjYzsgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGFzaWRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiOyB3aWR0aDogMzMwcHg7XHJcbiAgICAgICAgJi53aGl0ZSB7YmFja2dyb3VuZDogI2ZmZjt9IFxyXG4gICAgICAgIGgzIHttYXJnaW4tYm90dG9tOiAyNXB4O31cclxuICAgICAgICBoNCB7Zm9udC1zaXplOiAyNHB4OyBjb2xvcjogIzQ3NTU1Yzt9IFxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAyNHB4OyBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjNDc1NTVjO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge2JhY2tncm91bmQ6I2VlNWE1YTsgY29sb3I6ICNmZmY7fSAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnYyIHtcclxuICAgICAgICAgICAgaDQge2JhY2tncm91bmQ6ICNlZTVhNWE7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDYwcHg7IGxpbmUtaGVpZ2h0OiA2MHB4OyBwYWRkaW5nOiAwIDMwcHg7IG1hcmdpbi1ib3R0b206IDA7fSBcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDEwcHggMzBweDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlM2UzO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjOTk5OyBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogI2VlNWE1YTt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuc2VlYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWU1YTVhOyBmb250LXNpemU6IDE0cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMyMmE0OWQ7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zaWRlU2Nyb2xsIHtcclxuICAgICAgICAgICAgLypwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDE2LjUlOyB0b3A6IDE1MHB4OyovICAgXHJcbiAgICAgICAgICAgIC5kcm9wbW9iIHsgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogNTUwcHg7IG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5maXhlZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDUwJTsgYm90dG9tOiAyMzBweDsgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTE3OCUpKTsgXHJcbiAgICAgICAgICAgICAgICAmLmFicyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDEwMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICB1bCB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGhlaWdodDogYXV0bzsgKi8gb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICAgIC5zdHlsZWRTZWxlY3Qge1xyXG4gICAgICAgIGhlaWdodDogNjBweDsgd2lkdGg6IDM3MHB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7IHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcbiAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTsgICBcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDlweDsgY29udGVudDogXCJcIjsgdG9wOiA1MCU7IHJpZ2h0OiAzMHB4OyBcclxuICAgICAgICAgICAgei1pbmRleDogMTsgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9zdHlsZWQucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdCB7ICAgXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDAgNTBweCAwIDIwcHg7IGJvcmRlcjowOyBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjY2NjOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7ICBcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmVuZHRyaWdnZXJzY3JvbGwge2hlaWdodDogNTBweDsgcG9zaXRpb246IHJlbGF0aXZlO30gIFxyXG4gICAgLmNvbnRlbnRfcmlnaHQge1xyXG4gICAgICAgIHdpZHRoOiA3NjhweDsgXHJcbiAgICAgICAgLnBjc2VjdGlvbiB7bWFyZ2luLWJvdHRvbTogMjVweDsgbWluLWhlaWdodDogMjAwcHg7fSAgXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAmLmxlZyB7bWFyZ2luLWJvdHRvbTogMTVweDt9ICAgIFxyXG4gICAgICAgIH0gICBcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICM0NzU1NWM7IGxpbmUtaGVpZ2h0OiAzNXB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM5OTk7IG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICYucXVlc3Rpb24ge2ZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICM0NzU1NWM7IG1hcmdpbi1ib3R0b206IDEwcHg7fSAgXHJcbiAgICAgICAgICAgICYuYW5zd2VyIHtmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjOTk5OyBtYXJnaW4tYm90dG9tOiA0NXB4O30gXHJcbiAgICAgICAgICAgICYuZGF0ZSB7bWFyZ2luLWJvdHRvbTogMTBweDt9IFxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBsaSB7bGlzdC1zdHlsZTogZGlzYzsgbGluZS1oZWlnaHQ6IDE4cHg7IHBhZGRpbmc6IDJweCAwIDRweCAwOyBjb2xvcjogIzk5OTt9ICBcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgcGFkZGluZy1ib3R0b206IDMwcHg7IFxyXG4gICAgICAgICAgICBsaSB7bGlzdC1zdHlsZTogZGVjaW1hbDsgbGluZS1oZWlnaHQ6IDE4cHg7IHBhZGRpbmc6IDJweCAwIDRweCAwOyBjb2xvcjogIzk5OTt9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyAgXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5mdWxsIHt3aWR0aDogMTAwJTt9ICBcclxuICAgICAgICBcclxuICAgICAgICAuc3RkX2Zvcm0ge1xyXG4gICAgICAgICAgICAuZmllbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgIFxyXG4gICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMjZhNTlkOyAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjBweCAzcHggMjBweDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjOTk5OyBib3JkZXI6MDsgcGFkZGluZzogMCAyMHB4OyB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRElOIE5leHQgTFQgUHJvXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge2hlaWdodDogMTAwcHg7fSBcclxuICAgICAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDsgYm9yZGVyOjFweCBzb2xpZCAjY2NjOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTsgIFxyXG4gICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgJi50YXJlYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICYudHdvIHtcclxuICAgICAgICAgICAgICAgICAgICAuY29sIHt3aWR0aDogMzcwcHg7fSBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHsgXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJESU4gTmV4dCBMVCBQcm9cIjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDsgbGluZS1oZWlnaHQ6IDYwcHg7IGNvbG9yOiAjZmZmOyBwYWRkaW5nOiAwIDcwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDUyZDMwOyBib3JkZXI6MDsgZm9udC1zaXplOiAyMHB4OyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMTVzIGVhc2UtaW4tb3V0KTsgICBcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzIyYTQ5ZDsgICAgXHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aGFua3lvdSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNTBweCAxMjBweDsgICAgIFxyXG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNlZGVkZWQ7ICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3coMHB4IDVweCAzcHggI2Y3ZjdmNyk7ICBcclxuICAgICAgICAgICAgaW1nIHttYXJnaW4tYm90dG9tOiAzMHB4O30gICAgICAgICAgICBcclxuICAgICAgICAgICAgaDMge21hcmdpbi1ib3R0b206IDIwcHg7fSAgICAgIFxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNlZW1vcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgY29sb3I6ICMyMmE0OWQ7IGZvbnQtc2l6ZTogMTRweDsgXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiNlZTVhNWE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudjIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2VlNWE1YTsgdGV4dC1hbGlnbjogcmlnaHQ7ICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjojMjJhNDlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYm90dG9tX2RldGFpbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2luZyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogIzQ3NTU1YzsgcGFkZGluZzogMCA4cHg7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7Y29sb3I6I2VlNWE1YTt9ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYubmV4dCxcclxuICAgICAgICAgICAgICAgICYucHJldiB7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4cHg7IGhlaWdodDogMTZweDsgcGFkZGluZzogMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiA5OTk5OTlweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcmV2IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGEgeyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3BhZ2luZ19wcmV2LnBuZycpIG5vLXJlcGVhdCAwIDA7IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYubmV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfcGFnaW5nX25leHQucG5nJykgbm8tcmVwZWF0IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZWRpYXJlbGVhc2Uge1xyXG4gICAgICAgIC5yb3cgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyAgIFxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM5OTk7IFxyXG4gICAgICAgICAgICAgICAgJi5kYXRlIHttYXJnaW4tYm90dG9tOiAxMnB4OyBsaW5lLWhlaWdodDogMjBweDt9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoNCB7Zm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMzVweDsgY29sb3I6ICM0NzU1NWM7IG1hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4gICAgICAgICAgICAuZmwge3dpZHRoOiAzMzBweDsgbGluZS1oZWlnaHQ6IDA7fSBcclxuICAgICAgICAgICAgLmZyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NzBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IHBhZGRpbmctYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgJi5mdWxsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnYyIHtcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAuZnIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn0gIFxyXG5cclxuXHJcbi5zZWFyY2hSZXN1bHQgeyAgICAgXHJcbiAgICAuZmllbGQge1xyXG4gICAgICAgIHBhZGRpbmc6MCAwIDAgMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IG1hcmdpbi1ib3R0b206IDE0cHg7ICAgIFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBjb2xvcjogI2VkNTk1YjsgcGFkZGluZzogMDsgYm9yZGVyOjA7ICBcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgMCAxMHB4IDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHsgXHJcbiAgICAgICAgICAgIGNvbG9yOiAjZWQ1OTViOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMDsgd2lkdGg6IDIwcHg7IGhlaWdodDogMTAwJTsgcGFkZGluZzogMDsgYm9yZGVyOjA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19zZWFyY2hfbWVkLnBuZycpIG5vLXJlcGVhdCAwIDdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyBjdXJzb3I6IHBvaW50ZXI7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbmZvIHtmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjOTk5O30gIFxyXG5cclxuICAgICYudm0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiAjZDNkNWQ2O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7IFxyXG4gICAgICAgICAgICBjb2xvcjogI2QzZDVkNjsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcblxyXG4uYmFja3RvVG9wIHsgIFxyXG4gICAgY3Vyc29yOiBwb2ludGVyOyAgXHJcbiAgICB3aWR0aDozNXB4OyBcclxuICAgIGhlaWdodDozNXB4O1xyXG4gICAgcGFkZGluZzowcHg7IFxyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7ICAgICBcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgIGJvdHRvbToyNXB4O1xyXG4gICAgcmlnaHQ6MjBweDtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIGJhY2tncm91bmQ6I2RkZCB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfMS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIDUwJTsgIFxyXG4gICAgei1pbmRleDogMzUzNTsgXHJcbn1cclxuLmJhY2t0b1RvcDpob3ZlcntcclxuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKiBmb290ZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5mb290ZXJfYnJ7XHJcbiAgICB3aWR0aDogMTAwJTsgYmFja2dyb3VuZDogI2ViZjJmNTsgaGVpZ2h0OiAyMDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tdG9wOiAwO1xyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA1NXB4IDAgMDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNlZDU5NWI7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmctYm90dG9tOiAxNXB4OyAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgICAgICBpbWcgeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyBoZWlnaHQ6IDUzcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMTVzIGVhc2UtaW4tb3V0KTsgIFxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTsgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmZvb3RlcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7ICAgICBcclxuICAgIC8qIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYmdfZm9vdGVyLnBuZykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7ICovXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7ICBcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZDogcmdiKDIzNyw4OSw5MSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjM3LDg5LDkxLDEpIDAlLCByZ2JhKDIzNyw5MSw5MSwxKSAzNSUsIHJnYmEoMjQ2LDEzOSw5OCwxKSA4OCUsIHJnYmEoMjQ2LDEzOSw5OCwxKSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzcsODksOTEsMSkgMCUscmdiYSgyMzcsOTEsOTEsMSkgMzUlLHJnYmEoMjQ2LDEzOSw5OCwxKSA4OCUscmdiYSgyNDYsMTM5LDk4LDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMzcsODksOTEsMSkgMCUscmdiYSgyMzcsOTEsOTEsMSkgMzUlLHJnYmEoMjQ2LDEzOSw5OCwxKSA4OCUscmdiYSgyNDYsMTM5LDk4LDEpIDEwMCUpO1xyXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlZDU5NWInLCBlbmRDb2xvcnN0cj0nI2Y2OGI2MicsR3JhZGllbnRUeXBlPTEgKTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGNvbnRlbnQ6IFwiXCI7IHRvcDogMDsgbGVmdDogMDsgei1pbmRleDogMTsgICBcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9iZ19mb290ZXJfYmVmb3JlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgNTAlOyAgICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZToxMDAlOyAgIFxyXG4gICAgfVxyXG4gICAgJjphZnRlcntjb250ZW50OlwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9ICAgICAgICAgICBcclxuICAgIC53cmFwcGVye1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMztcclxuICAgICAgICAuZm9vdHsgcGFkZGluZy10b3A6IDEwMHB4OyB9XHJcbiAgICAgICAgLnRleHR7XHJcbiAgICAgICAgICAgICBmbG9hdDpsZWZ0OyAgXHJcbiAgICAgICAgICAgICAvKiB3aWR0aDogNTIlOyAqLyBcclxuICAgICAgICAgICAgIC5pc2l7XHJcbiAgICAgICAgICAgICAgICAvKndpZHRoOiAyOC4zMzMzMzMzMzMzJTsgbWFyZ2luOjAgNy42JSAwIDA7ICovIFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2MnB4OyBcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyBjb2xvcjogI2ZmZjsgbWFyZ2luOjAgNzVweCAwIDA7ICAgICBcclxuICAgICAgICAgICAgICAgIGgze1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMjlweDsgbWFyZ2luLWJvdHRvbTogMzVweDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDIycHg7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNDAwOyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiNmMmQ0NWE7ICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7ICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAmLmJ0bXtcclxuICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgXHJcbiAgICAgICAgICAgICAgIC5pc2l7XHJcbiAgICAgICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OyBmb250LXdlaWdodDogNDAwOyBtYXJnaW4tdG9wOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBoNHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxN3B4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1nX2xvZ297XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgd2lkdGg6IDM3NXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gICAgICAgICAgICAubG9nb2Zvb3Qge30gXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggMTBweCAwIDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiAjNGQ0ODQ2OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7IGhlaWdodDogNTBweDsgd2lkdGg6IDUwcHg7ICAgXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzIyYTQ5ZDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpOyAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbHtcclxuICAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDAgMDsgcGFkZGluZy1ib3R0b206IDMycHg7IFxyXG4gICAgICAgICAgICAucmlnaHR7XHJcbiAgICAgICAgICAgICAgICBQe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiAzMDA7ICBtYXJnaW4tdG9wOiAxN3B4OyBcclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGg0e1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4gICAgVGFrZW4gRnJvbSA6IGh0dHA6Ly9zZXJlbmVkZXN0aW55LmNvbS9ibG9nL3dlYi1kZXZlbG9wbWVudC9sZXRzLWNyZWF0ZS10aGUtcGVyZmVjdC1jc3MtcmVzZXQ7IFxyXG4gICAgUmVzZXQgYWxsIHlvdXIgSFRNTCBFbGVtZW50IHRvIGNvbmRpdGlvbiB6ZXJvLlxyXG4qL1xyXG5cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcclxuZGVsLCBkZm4sIGVtLCBmb250LCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxyXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5ib2R5IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyBtYXJnaW46IDA7fVxyXG5pbnB1dCB7IGJvcmRlcjogMHB4IHNvbGlkIHdoaXRlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cclxuXHJcbm9sLCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICAgIHF1b3Rlczogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciwgcTpiZWZvcmUsIHE6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGNvbnRlbnQ6IG5vbmU7XHJcbn1cclxuXHJcbi8qIHJlbWVtYmVyIHRvIGRlZmluZSBmb2N1cyBzdHlsZXMhICovXHJcbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKiByZW1lbWJlciB0byBoaWdobGlnaHQgaW5zZXJ0cyBzb21laG93ISAqL1xyXG5pbnMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbmRlbCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuLyogdGFibGVzIHN0aWxsIG5lZWQgJ2NlbGxzcGFjaW5nPVwiMFwiJyBpbiB0aGUgbWFya3VwICovXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qIGdsb2JhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuYSB7IGNvbG9yOiMyOTMwOGU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTogbm9uZSB9XHJcbmE6aG92ZXIge2N1cnNvcjogcG9pbnRlcjsgY29sb3I6IzMzMzMzMzsgfVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW46MXB4IDAgMTVweDsgXHJcbiAgICBsaW5lLWhlaWdodDoyMHB4O1xyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcclxuICAgIGZvbnQtc2l6ZToxMnB4OyBcclxuICAgIGZvbnQtZmFtaWx5OmFyaWFsLHRhaG9tYSwgdGltZXMgbmV3IHJvbWFuOyBcclxuICAgIGJvcmRlcjpub25lOyBcclxuICAgIGJvcmRlcjoxcHggc29saWQgI0Q4RDhEODsgXHJcbiAgICBwYWRkaW5nOjRweDsgXHJcbiAgICBtYXJnaW46MDtcclxuICAgIGNvbG9yOiM2NjY7XHJcbn1cclxuXHJcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbmVtIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XHJcbmRlbCB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XHJcbnRoIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxyXG5cclxuLmxlZnQgeyBmbG9hdDogbGVmdDsgZGlzcGxheTogaW5saW5lOyB9XHJcbi5yaWdodCB7IGZsb2F0OiByaWdodDsgZGlzcGxheTogaW5saW5lO30gXHJcbi5pdGFsaWMge2ZvbnQtc3R5bGU6aXRhbGljO31cclxuLmJvbGQge2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG4uY2xlYXIgeyBcclxuICAgIGNsZWFyOmJvdGg7IFxyXG4gICAgcGFkZGluZzowOyBcclxuICAgIG1hcmdpbjowOyBcclxufVxyXG4uYmVmb3JlX2NsZWFyOmJlZm9yZSxcclxuLmFmdGVyX2NsZWFyOmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge2ZvbnQtd2VpZ2h0Om5vcm1hbDt9IFxyXG5oMSB7Zm9udC1zaXplOjMycHg7fVxyXG5oMiB7Zm9udC1zaXplOjI4cHg7fVxyXG5oMyB7Zm9udC1zaXplOjI0cHg7fVxyXG5oMyB7Zm9udC1zaXplOjE4cHg7fVxyXG5oNSB7Zm9udC1zaXplOjE2cHg7fVxyXG5oNiB7Zm9udC1zaXplOjE0cHg7fVxyXG4iLCIvKiBTbGlkZXIgKi9cclxuLnNsaWNrLXNsaWRlclxyXG57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zbGljay1saXN0XHJcbntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG4uc2xpY2stbGlzdDpmb2N1c1xyXG57XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcbi5zbGljay1saXN0LmRyYWdnaW5nXHJcbntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGN1cnNvcjogaGFuZDtcclxufVxyXG5cclxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Rcclxue1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG59XHJcblxyXG4uc2xpY2stdHJhY2tcclxue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uc2xpY2stdHJhY2s6YmVmb3JlLFxyXG4uc2xpY2stdHJhY2s6YWZ0ZXJcclxue1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcblxyXG4gICAgY29udGVudDogJyc7XHJcbn1cclxuLnNsaWNrLXRyYWNrOmFmdGVyXHJcbntcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xyXG57XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZVxyXG57XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG59XHJcbltkaXI9J3J0bCddIC5zbGljay1zbGlkZVxyXG57XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuLnNsaWNrLXNsaWRlIGltZ1xyXG57XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcclxue1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nXHJcbntcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGVcclxue1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXHJcbntcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlXHJcbntcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGF0dHIpe1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBib3JkZXJSYWRpdXMoJGF0dHIpe1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1vLWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBib3hTaGFkb3coJGF0dHIpe1xyXG4gICAgYm94LXNoYWRvdzogICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtby1ib3gtc2hhZG93OiAkYXR0clxyXG59XHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgIDo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuQG1peGluIGJveFNpemluZygkYXR0cil7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIGJveC1zaXppbmc6ICRhdHRyO1xyXG59IFxyXG5cclxuQG1peGluIHRyYW5zZm9ybSgkYXR0cil7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICB0cmFuc2Zvcm06ICRhdHRyO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm1vcmlnaW4oJGF0dHIpe1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG59IFxyXG5cclxuXHJcblxyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcbiIsIi8vIEJvdXJib24gNC4yLjdcclxuLy8gaHR0cDovL2JvdXJib24uaW9cclxuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXHJcbi8vIE1JVCBMaWNlbnNlXHJcblxyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xyXG5cclxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XHJcblxyXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcclxuXHJcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcclxuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcclxuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcclxuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcclxuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xyXG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcclxuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcclxuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xyXG5cclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcclxuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XHJcblxyXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xyXG5cclxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbFxyXG5cclxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xyXG4gICRsaXN0OiAoKTtcclxuXHJcbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xyXG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XHJcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcclxuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGlzdDtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcclxuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2x9XHJcblxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XHJcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xyXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgIEBpZiBub3QgJGl0ZW0ge1xyXG4gICAgICBAcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXHJcblxyXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXHJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXHJcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBpcy1saWdodCgkY29sb3IpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XHJcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XHJcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xyXG5cclxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcblxyXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxyXG5cclxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxyXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XHJcbn1cclxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XHJcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXHJcblxyXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xyXG4gIH1cclxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XHJcbn1cclxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xyXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcclxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuXHJcbiAgJGJhc2U6ICRlbS1iYXNlO1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcclxuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgICRkaW1lbnNpb246IDEwO1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxyXG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcclxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRuZXctcHJvcHM6ICgpO1xyXG5cclxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xyXG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcclxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcclxuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XHJcbi8vLyAgIH1cclxuXHJcbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xyXG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXHJcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcclxuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xyXG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XHJcbiRtaW5vci10aGlyZDogICAgICAxLjI7XHJcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xyXG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XHJcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcclxuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcclxuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcclxuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xyXG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XHJcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcclxuJG9jdGF2ZTogICAgICAgICAgIDI7XHJcbiRtYWpvci10ZW50aDogICAgICAyLjU7XHJcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcclxuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XHJcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xyXG5cclxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcclxuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XHJcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcclxuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcclxuICAkdmFsdWU6ICR2MTtcclxuXHJcbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXHJcbiAgQHdoaWxlICR2MiA+ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXHJcbiAgfVxyXG4gIEB3aGlsZSAkdjIgPCAkdjEge1xyXG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcclxuICB9XHJcblxyXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXHJcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xyXG5cclxuICBAaWYgJGluY3JlbWVudCA+IDAge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcclxuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcclxuICAgICAgICAkdmFsdWU6ICR2MjtcclxuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xyXG4gICAgICAgICR2YWx1ZTogJHYxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGluY3JlbWVudCA8IDAge1xyXG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxyXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xyXG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xyXG4gICAgfVxyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxyXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XHJcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xyXG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcclxuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XHJcblxyXG4gIEBpZiBub3QgJGluZGV4IHtcclxuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XHJcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcclxuLy8vXHJcbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xyXG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9XHJcblxyXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XHJcbiAgJG91dHB1dDogbnVsbDtcclxuXHJcbiAgJGE6IG50aCgkdmFscywgMSk7XHJcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XHJcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XHJcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcclxuXHJcbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxyXG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cclxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XHJcbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxyXG5cclxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxyXG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cclxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XHJcblxyXG4gIEByZXR1cm4gJG91dHB1dDtcclxufVxyXG5cclxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcclxuLy8vICAgUHJlZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcclxuLy8vICAgU3VmZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcblxyXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcclxuICAvLyBQcm9wZXJ0eSBOYW1lc1xyXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcblxyXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xyXG5cclxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcclxuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxyXG5cclxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAjeyRhbGx9OiAkdmFscztcclxuICB9XHJcbn1cclxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2VcclxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxyXG5cclxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xyXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XHJcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiB1cmw7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHMsXHJcbiAgJGZvbnQtdXJsKSB7XHJcblxyXG4gICRzcmM6ICgpO1xyXG5cclxuICAkZm9ybWF0cy1tYXA6IChcclxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxyXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcclxuICApO1xyXG5cclxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XHJcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xyXG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XHJcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xyXG5cclxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHNyYztcclxufVxyXG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcclxuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xyXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxyXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xyXG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcclxufVxyXG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXHJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcclxuICAkb2Zmc2V0OiBudWxsO1xyXG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxyXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XHJcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvZmZzZXQge1xyXG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xyXG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XHJcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XHJcblxyXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XHJcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XHJcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcclxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcclxuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICRkZWdyZWU6IG51bGw7XHJcbiAgJHNpZGU6IG51bGw7XHJcbiAgJGNvcm5lcjogbnVsbDtcclxuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XHJcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xyXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcclxuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XHJcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XHJcblxyXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxyXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcclxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxyXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcclxuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XHJcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxyXG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XHJcbiAgICAgICRkZWdyZWU6ICRwb3M7XHJcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcclxuICAgICAgJHNwZWM6ICRwb3M7XHJcbiAgICB9XHJcbiAgfVxyXG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcclxuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xyXG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcclxufVxyXG5cclxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcclxuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xyXG59XHJcbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XHJcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XHJcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcbiAgJHZhbC0zOiBudWxsO1xyXG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcclxuXHJcbiAgQGlmICRoYXMtdmFsLTMge1xyXG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcclxuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XHJcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XHJcblxyXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XHJcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xyXG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xyXG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XHJcblxyXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcclxuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcclxuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICRnMTogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcclxuXHJcbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XHJcblxyXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVsc2UgaWZcclxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XHJcblxyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XHJcbiAgICAgICAgICAgICRnMTogbnVsbDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcclxuICAgICAgICAgICAgJGcyOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xyXG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXHJcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XHJcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcblxyXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XHJcblxyXG4gIC8vIEFkZCBjb21tYVxyXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XHJcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcclxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcclxuICAkZ3JhZGllbnRzOiAoKTtcclxuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcclxuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XHJcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xyXG5cclxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xyXG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XHJcblxyXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XHJcblxyXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xyXG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcclxuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xyXG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcclxuXHJcbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAkcHJlLXNwZWM6IG51bGw7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XHJcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XHJcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XHJcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcclxuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgJHZlbmRvciB7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xyXG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XHJcbiAgICAgICR2YWx1ZTogbnVsbDtcclxuICAgIH1cclxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcclxuICB9XHJcbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xyXG4gIC8vIE1hdHJpY2VzXHJcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xyXG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcclxuXHJcbiAgLy8gUmVzdWx0XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGl2aWRlcjogMDtcclxuICAkbWludXM6IGZhbHNlO1xyXG5cclxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XHJcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XHJcbiAgICAgICRtaW51czogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcclxuICAgICAgJGRpdmlkZXI6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgbm90ICRpbmRleCB7XHJcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcclxuXHJcbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcclxuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxyXG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xyXG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG59XHJcbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxyXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxyXG5cclxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XHJcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XHJcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XHJcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcclxuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcclxuLy8gbm90YXRpb24uXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xyXG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xyXG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcclxuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xyXG5cclxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xyXG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xyXG5cclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xyXG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcclxuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXHJcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcclxuICAkd2Via2l0LWltYWdlczogKCk7XHJcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xyXG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XHJcbiAgICAkc3BlYy1pbWFnZTogKCk7XHJcblxyXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xyXG5cclxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcclxuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcclxufVxyXG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XHJcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcclxuICAkc3BlYy1ib3JkZXJzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XHJcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XHJcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xyXG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xyXG5cclxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xyXG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xyXG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XHJcbiIsIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XHJcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcclxuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcclxufVxyXG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XHJcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGludGVnZXJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xyXG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XHJcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcclxuICAvLyBub25lIHx8IGFsbFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xyXG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcclxuXHJcbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcclxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcclxuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcclxuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xyXG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcclxuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcclxufVxyXG5cclxuQG1peGluIGRpc3BsYXktYm94IHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbW96LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcclxuICBkaXNwbGF5OiBib3g7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XHJcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xyXG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xyXG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcclxuLy8gc2luZ2xlfG11bHRpcGxlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxyXG5cclxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXHJcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXHJcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXHJcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xyXG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcclxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcclxuICAgIC8vIDIwMDlcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgICBkaXNwbGF5OiBib3g7XHJcblxyXG4gICAgLy8gMjAxMlxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcclxuXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZGlzcGxheTogJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXHJcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xyXG5cclxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXHJcbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcclxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXHJcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xyXG5cclxuICBAaWYgJHZhbHVlID09IHJvdyB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XHJcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XHJcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcclxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xyXG4gIC8vIEFsdCB2YWx1ZXNcclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxyXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcclxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcclxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxyXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1vcmRlcjogJGludDtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXHJcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJGFsdC12YWx1ZTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xyXG5cclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XHJcblxyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XHJcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcclxufVxyXG4iLCJAbWl4aW4gZm9udC1mYWNlKFxyXG4gICRmb250LWZhbWlseSxcclxuICAkZmlsZS1wYXRoLFxyXG4gICR3ZWlnaHQ6IG5vcm1hbCxcclxuICAkc3R5bGU6IG5vcm1hbCxcclxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcclxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XHJcblxyXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgICAgICRmb250LWZhbWlseSxcclxuICAgICAgJGZpbGUtcGF0aCxcclxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICAgICAkZmlsZS1mb3JtYXRzLFxyXG4gICAgICAkZm9udC11cmwtcHJlZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xyXG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxyXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcclxuXHJcbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xyXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcclxuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcclxuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcclxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xyXG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcclxuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xyXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRwb3Mtc3BlYzogbnVsbDtcclxuICAkcG9zLWRlZ3JlZTogbnVsbDtcclxuXHJcbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXHJcbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xyXG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcclxuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XHJcbiAgICAkcG9zOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQGlmICRwb3Mge1xyXG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xyXG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcclxuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XHJcblxyXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XHJcbn1cclxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XHJcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xyXG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXHJcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcblxyXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcclxuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xyXG4gICRnMjogIG50aCgkZGF0YSwgMik7XHJcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcclxuXHJcbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XHJcblxyXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xyXG5cclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXHJcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XHJcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xyXG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XHJcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XHJcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XHJcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcclxuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcclxufVxyXG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcclxuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxyXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXHJcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cclxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XHJcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xyXG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcclxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xyXG4gICR3ZWJraXQ6ICgpO1xyXG4gICRtb3o6ICgpO1xyXG4gICRzcGVjOiAoKTtcclxuXHJcbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXHJcbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XHJcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcclxuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QzOiAoKTtcclxuXHJcbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xyXG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xyXG5cclxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xyXG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcclxuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XHJcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XHJcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcclxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XHJcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xyXG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxyXG5cclxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQtb25lIHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudC10d28ge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudC1vbmUge1xyXG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudC10d28ge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcclxuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxyXG5cclxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcclxuLy8vICAgICBib3JkZXItdG9wLXdpZHRoOiAxZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxyXG5cclxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgYnV0dG9uLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGJ1dHRvbjpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxyXG4vLy8gICBidXR0b246aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgYnV0dG9uOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuLy8vXHJcbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXHJcblxyXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xyXG5cclxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcclxuJGFsbC1idXR0b25zLWFjdGl2ZTogYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xyXG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcclxuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XHJcblxyXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogICRhbGwtYnV0dG9ucy1mb2N1cztcclxuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcclxuLy8vICAgICBjbGVhcjogYm90aDtcclxuLy8vICAgICBjb250ZW50OiBcIlwiO1xyXG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6OmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXHJcbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGVsbGlwc2lzO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcclxuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcclxuXHJcbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcclxuXHJcbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xyXG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcclxuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcclxuXHJcbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgQGlmICRoZWlnaHQge1xyXG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxyXG5cclxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcclxuXHJcbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxyXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxyXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGxlZnQ6IDEwZW07XHJcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLy8gICAgIHRvcDogMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xyXG5cclxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xyXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XHJcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcclxuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xyXG5cclxuICAkb2Zmc2V0czogKFxyXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcclxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXHJcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxyXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxyXG4gICk7XHJcblxyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcblxyXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XHJcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxyXG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcclxuLy8vXHJcbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxyXG4vLy8gICBWYWx1ZSB0byB1c2VcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xyXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcclxuXHJcbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XHJcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XHJcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcclxuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcclxuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcclxuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgIHtcclxuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcclxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xyXG59XHJcbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XHJcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaGlkcGkge1xyXG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XHJcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxyXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxyXG4vLy9cclxuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XHJcbi8vLyAgICAgd2lkdGg6IDJlbTtcclxuLy8vICAgICBoZWlnaHQ6IDJlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcclxuLy8vICAgICB3aWR0aDogYXV0bztcclxuLy8vICAgICBoZWlnaHQ6IDEwZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcclxuXHJcbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xyXG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgJGhlaWdodDogJHdpZHRoO1xyXG5cclxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcclxuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxyXG4vLy8gICB0ZXh0YXJlYSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXHJcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3ZlcixcclxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXHJcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXHJcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xyXG5cclxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcclxuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcclxuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxyXG4vLy9cclxuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcclxuLy8vXHJcbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcclxuXHJcbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XHJcblxyXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xyXG5cclxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcclxuIiwiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcclxuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XHJcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcclxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XHJcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG5cclxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XHJcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XHJcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xyXG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XHJcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXHJcbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAud3JhcHBlciB7XHJcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAud3JhcHBlciB7XHJcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XHJcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XHJcbiAgd29yZC13cmFwOiAkd3JhcDtcclxuXHJcbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgd29yZC1icmVhazogJHdyYXA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcclxuXHJcbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XHJcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcclxuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcclxuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcclxuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xyXG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkYmFzZS1jb2xvcjtcclxuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcclxuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuXHJcbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXHJcbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcclxuICAvLyBHcmF5c2NhbGUgYnV0dG9uXHJcbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICAvLyBDb2xvcmVkIGJ1dHRvblxyXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xyXG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XHJcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XHJcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcclxuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNpbXBsZSBCdXR0b25cclxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xyXG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTaGlueSBCdXR0b25cclxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XHJcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XHJcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xyXG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XHJcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcclxuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xyXG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xyXG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xyXG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XHJcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XHJcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcclxuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQaWxsIEJ1dHRvblxyXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xyXG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XHJcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XHJcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xyXG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcclxuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcclxuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcclxuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcclxuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XHJcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcclxuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XHJcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XHJcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcclxuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xyXG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGF0IEJ1dHRvblxyXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJvcmRlcjogMDtcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRmxleGlibGUgZ3JpZFxyXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xyXG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuLy8gRmxleGlibGUgZ3V0dGVyXHJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3V0dGVyIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcclxuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZ3JpZC13aWR0aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XHJcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZ29sZGVuLXJhdGlvIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFBsZWFzZSB1c2UgdGhlIG1vZHVsYXItc2NhbGUgZnVuY3Rpb24sIGluc3RlYWQuXCI7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICBAd2FybiBcIlRoZSBib3gtc2l6aW5nIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFRoaXMgcHJvcGVydHkgY2FuIG5vdyBiZSB1c2VkIHVuLXByZWZpeGVkLlwiO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Z0dBSWdHO0FBQ2hHLE9BQU8sQ0FBUCwyQkFBTztBQ0xQOzs7RUFHRTtBQUVGLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsTUFBTTtBQUM3QyxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLENBQUMsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLEdBQUc7QUFDMUMsQUFBQSxDQUFDLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxJQUFJO0FBQzFDLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsSUFBSTtBQUM3QyxBQUFBLEtBQUssRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU0sRUFBQyxBQUFBLEVBQUUsRUFBRSxBQUFBLEdBQUc7QUFDN0IsQUFBQSxDQUFDLEVBQUUsQUFBQSxDQUFDLEVBQUUsQUFBQSxDQUFDLEVBQUUsQUFBQSxNQUFNO0FBQ2YsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFO0FBQ3RCLEFBQUEsUUFBUSxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsS0FBSyxFQUFFLEFBQUEsTUFBTTtBQUM3QixBQUFBLEtBQUssRUFBRSxBQUFBLE9BQU8sRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsQ0FBQztFQUM1QyxNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxDQUFFO0VBQ1gsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsQ0FBRTtFQUNYLGNBQWMsRUFBRSxRQUFTO0VBQ3pCLFVBQVUsRUFBRSxXQUFZO0NBQzNCOztBQUNELEFBQUEsSUFBSSxDQUFDO0VBQ0QsV0FBVyxFQUFFLENBQUU7Q0FDbEI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFBRSxRQUFRLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxDQUFFO0NBQUc7O0FBQ3pDLEFBQUEsS0FBSyxDQUFDO0VBQUUsTUFBTSxFQUFFLGVBQWdCO0VBQUUsTUFBTSxFQUFFLENBQUU7RUFBRSxPQUFPLEVBQUUsQ0FBRTtDQUFJOztBQUU3RCxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsQ0FBQztFQUNILFVBQVUsRUFBRSxJQUFLO0NBQ3BCOztBQUVELEFBQUEsVUFBVSxFQUFFLEFBQUEsQ0FBQyxDQUFDO0VBQ1YsTUFBTSxFQUFFLElBQUs7Q0FDaEI7O0FBQ0QsQUFBVSxVQUFBLEFBQUEsT0FBTyxFQUFFLEFBQVUsVUFBQSxBQUFBLE1BQU0sRUFBRSxBQUFDLENBQUEsQUFBQSxPQUFPLEVBQUUsQUFBQyxDQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ25ELE9BQU8sRUFBRSxFQUFHO0VBQ1osT0FBTyxFQUFFLElBQUs7Q0FDakI7O0FBRUQsc0NBQXNDO0FBQ3RDLEFBQUEsTUFBTSxDQUFDO0VBQ0gsT0FBTyxFQUFFLENBQUU7Q0FDZDs7QUFFRCw0Q0FBNEM7QUFDNUMsQUFBQSxHQUFHLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSztDQUN6Qjs7QUFDRCxBQUFBLEdBQUcsQ0FBQztFQUNBLGVBQWUsRUFBRSxZQUFhO0NBQ2pDOztBQUVELHVEQUF1RDtBQUN2RCxBQUFBLEtBQUssQ0FBQztFQUNGLGVBQWUsRUFBRSxRQUFTO0VBQzFCLGNBQWMsRUFBRSxDQUFFO0NBQ3JCOztBQU1EO2dHQUNnRztBQUNoRyxBQUFBLENBQUMsQ0FBQztFQUFFLEtBQUssRUFBQyxPQUFRO0VBQUUsZUFBZSxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsSUFBTTtDQUFFOztBQUM3RCxBQUFDLENBQUEsQUFBQSxNQUFNLENBQUM7RUFBQyxNQUFNLEVBQUUsT0FBUTtFQUFFLEtBQUssRUFBQyxPQUFRO0NBQUk7O0FBRTdDLEFBQUEsQ0FBQyxDQUFDO0VBQ0UsTUFBTSxFQUFDLFVBQVc7RUFDbEIsV0FBVyxFQUFDLElBQUs7Q0FDcEI7O0FBQ0QsQUFBQSxLQUFLLEVBQUUsQUFBQSxRQUFRLEVBQUUsQUFBQSxNQUFNLENBQUM7RUFDcEIsU0FBUyxFQUFDLElBQUs7RUFDZixXQUFXLEVBQUMsNkJBQThCO0VBQzFDLE1BQU0sRUFBQyxJQUFLO0VBQ1osTUFBTSxFQUFDLGlCQUFrQjtFQUN6QixPQUFPLEVBQUMsR0FBSTtFQUNaLE1BQU0sRUFBQyxDQUFFO0VBQ1QsS0FBSyxFQUFDLElBQUs7Q0FDZDs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUFFLFdBQVcsRUFBRSxJQUFLO0NBQUk7O0FBQy9CLEFBQUEsRUFBRSxDQUFDO0VBQUUsVUFBVSxFQUFFLE1BQU87Q0FBSTs7QUFDNUIsQUFBQSxHQUFHLENBQUM7RUFBRSxlQUFlLEVBQUUsWUFBYTtDQUFJOztBQUN4QyxBQUFBLEVBQUUsQ0FBQztFQUFFLFdBQVcsRUFBRSxNQUFPO0NBQUk7O0FBRTdCLEFBQUEsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsTUFBTztDQUFJOztBQUMxQyxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRUFBRSxLQUFNO0VBQUUsT0FBTyxFQUFFLE1BQU87Q0FBRzs7QUFDM0MsQUFBQSxPQUFPLENBQUM7RUFBQyxVQUFVLEVBQUMsTUFBTztDQUFHOztBQUM5QixBQUFBLEtBQUssQ0FBQztFQUFDLFdBQVcsRUFBQyxJQUFLO0NBQUc7O0FBQzNCLEFBQUEsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFDLElBQUs7RUFDWCxPQUFPLEVBQUMsQ0FBRTtFQUNWLE1BQU0sRUFBQyxDQUFFO0NBQ1o7O0FBQ0QsQUFBYSxhQUFBLEFBQUEsT0FBTztBQUNwQixBQUFZLFlBQUEsQUFBQSxNQUFNLENBQUE7RUFDZCxPQUFPLEVBQUUsRUFBRztFQUNaLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUs7Q0FDZjs7QUFDRCxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsQ0FBQztFQUFDLFdBQVcsRUFBQyxNQUFPO0NBQUc7O0FBQzlDLEFBQUEsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFDLElBQUs7Q0FBRzs7QUFDdEIsQUFBQSxFQUFFLENBQUM7RUFBQyxTQUFTLEVBQUMsSUFBSztDQUFHOztBQUN0QixBQUFBLEVBQUUsQ0FBQztFQUFDLFNBQVMsRUFBQyxJQUFLO0NBQUc7O0FBQ3RCLEFBQUEsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFDLElBQUs7Q0FBRzs7QUFDdEIsQUFBQSxFQUFFLENBQUM7RUFBQyxTQUFTLEVBQUMsSUFBSztDQUFHOztBQUN0QixBQUFBLEVBQUUsQ0FBQztFQUFDLFNBQVMsRUFBQyxJQUFLO0NBQUc7O0FDNUd0QixZQUFZO0FBQ1osQUFBQSxhQUFhLENBQ2I7RUFDSSxRQUFRLEVBQUUsUUFBUztFQUVuQixPQUFPLEVBQUUsS0FBTTtFQUNmLFVBQVUsRUFBRSxVQUFXO0VBRXZCLG1CQUFtQixFQUFFLElBQUs7RUFDdkIsZ0JBQWdCLEVBQUUsSUFBSztFQUN0QixlQUFlLEVBQUUsSUFBSztFQUNsQixXQUFXLEVBQUUsSUFBSztFQUUxQixxQkFBcUIsRUFBRSxJQUFLO0VBQzVCLGtCQUFrQixFQUFFLElBQUs7RUFDekIsZ0JBQWdCLEVBQUUsS0FBTTtFQUNwQixZQUFZLEVBQUUsS0FBTTtFQUN4QiwyQkFBMkIsRUFBRSxXQUFZO0NBQzVDOztBQUVELEFBQUEsV0FBVyxDQUNYO0VBQ0ksUUFBUSxFQUFFLFFBQVM7RUFFbkIsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsTUFBTztFQUVqQixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxDQUFFO0NBQ2Q7O0FBQ0QsQUFBVyxXQUFBLEFBQUEsTUFBTSxDQUNqQjtFQUNJLE9BQU8sRUFBRSxJQUFLO0NBQ2pCOztBQUNELEFBQVcsV0FBQSxBQUFBLFNBQVMsQ0FDcEI7RUFDSSxNQUFNLEVBQUUsT0FBUTtFQUNoQixNQUFNLEVBQUUsSUFBSztDQUNoQjs7QUFFRCxBQUFjLGFBQUQsQ0FBQyxZQUFZO0FBQzFCLEFBQWMsYUFBRCxDQUFDLFdBQVcsQ0FDekI7RUFDSSxpQkFBaUIsRUFBRSxvQkFBVztFQUMzQixjQUFjLEVBQUUsb0JBQVc7RUFDMUIsYUFBYSxFQUFFLG9CQUFXO0VBQ3pCLFlBQVksRUFBRSxvQkFBVztFQUN0QixTQUFTLEVBQUUsb0JBQVc7Q0FDakM7O0FBRUQsQUFBQSxZQUFZLENBQ1o7RUFDSSxRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBRVIsT0FBTyxFQUFFLEtBQU07Q0FDbEI7O0FBQ0QsQUFBWSxZQUFBLEFBQUEsT0FBTztBQUNuQixBQUFZLFlBQUEsQUFBQSxNQUFNLENBQ2xCO0VBQ0ksT0FBTyxFQUFFLEtBQU07RUFFZixPQUFPLEVBQUUsRUFBRztDQUNmOztBQUNELEFBQVksWUFBQSxBQUFBLE1BQU0sQ0FDbEI7RUFDSSxLQUFLLEVBQUUsSUFBSztDQUNmOztBQUNELEFBQWUsY0FBRCxDQUFDLFlBQVksQ0FDM0I7RUFDSSxVQUFVLEVBQUUsTUFBTztDQUN0Qjs7QUFFRCxBQUFBLFlBQVksQ0FDWjtFQUNJLE9BQU8sRUFBRSxJQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUs7RUFFWixNQUFNLEVBQUUsSUFBSztFQUNiLFVBQVUsRUFBRSxHQUFJO0NBQ25COztDQUNELEFBQUEsQUFBWSxHQUFYLENBQUksS0FBSyxBQUFULEVBQVcsWUFBWSxDQUN4QjtFQUNJLEtBQUssRUFBRSxLQUFNO0NBQ2hCOztBQUNELEFBQWEsWUFBRCxDQUFDLEdBQUcsQ0FDaEI7RUFDSSxPQUFPLEVBQUUsS0FBTTtDQUNsQjs7QUFDRCxBQUEyQixZQUFmLEFBQUEsY0FBYyxDQUFDLEdBQUcsQ0FDOUI7RUFDSSxPQUFPLEVBQUUsSUFBSztDQUNqQjs7QUFDRCxBQUFzQixZQUFWLEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FDekI7RUFDSSxjQUFjLEVBQUUsSUFBSztDQUN4Qjs7QUFDRCxBQUFtQixrQkFBRCxDQUFDLFlBQVksQ0FDL0I7RUFDSSxPQUFPLEVBQUUsS0FBTTtDQUNsQjs7QUFDRCxBQUFlLGNBQUQsQ0FBQyxZQUFZLENBQzNCO0VBQ0ksVUFBVSxFQUFFLE1BQU87Q0FDdEI7O0FBQ0QsQUFBZ0IsZUFBRCxDQUFDLFlBQVksQ0FDNUI7RUFDSSxPQUFPLEVBQUUsS0FBTTtFQUVmLE1BQU0sRUFBRSxJQUFLO0VBRWIsTUFBTSxFQUFFLHFCQUFzQjtDQUNqQzs7QUFDRCxBQUFZLFlBQUEsQUFBQSxhQUFhLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQUs7Q0FDakI7O0FDcEhEOzs7O2dHQUlnRztBQUVoRyw2Q0FBNkM7QUFrRDdDO2dHQUNnRztBSDlDaEcsQUFBQSxJQUFJLENBQUM7RUFDRCxLQUFLLEVBQUUsSUFBSztFQUNaLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLFdBQVcsRUFBRSxpQkFBa0I7RUFDL0IsV0FBVyxFQUFFLEdBQUk7RUFDakIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFQUFFLE1BQU87Q0FJdEI7O0FBVkQsQUFBQSxJQUFJLEFBUUMsS0FBSyxDQUFDO0VBQUMsUUFBUSxFQUFFLE1BQU87Q0FBRzs7QUFHaEMsQUFBQSxHQUFHLENBQUE7RUFBRSxNQUFNLEVBQUMsQ0FBRTtFQUFFLFNBQVMsRUFBQyxJQUFLO0VBQUUsTUFBTSxFQUFDLElBQUs7Q0FBSTs7QUFDakQsQUFBQSxDQUFDLENBQUM7RUFDRSxNQUFNLEVBQUUsVUFBVztFQUNuQixXQUFXLEVBQUUsS0FBTTtDQUN0Qjs7QUFDRCxBQUFBLEtBQUssRUFBRSxBQUFBLFFBQVEsRUFBRSxBQUFBLE1BQU0sQ0FBQztFQUNwQixTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsSUFBSztFQUNiLE1BQU0sRUFBRSxpQkFBa0I7RUFDMUIsT0FBTyxFQUFFLElBQUs7RUFDZCxNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxJQUFLO0VBQ1osVUFBVSxFQUFFLElBQUs7RUFDakIsa0JBQWtCLEVBQUUsSUFBSztFQUN6QixlQUFlLEVBQUUsSUFBSztFQUN0QixXQUFXLEVBQUUsaUJBQWtCO0NBQ2xDOztBQUNELEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBRCxRQUFDLEFBQUEsR0FBZ0IsQUFBZ0IsS0FBWCxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQSxFQUFZO0VBQ3BDLGdCQUFnQixFQUFFLElBQUs7RUFDdkIsa0JBQWtCLEVBQUUsSUFBSztFQUN6QixtQkFBbUIsRUFBRSxJQUFLO0VBQzFCLGlCQUFpQixFQUFFLElBQUs7Q0FDM0I7O0FBQ0QsQUFBQSxFQUFFLENBQUM7RUFBRSxTQUFTLEVBQUUsSUFBSztDQUFJOztBQUN6QixBQUFBLEVBQUUsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFLO0NBQUk7O0FBQ3pCLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLElBQUs7Q0FBSTs7QUFDekIsQUFBQSxFQUFFLENBQUM7RUFBRSxTQUFTLEVBQUUsSUFBSztDQUFJOztBQUN6QixBQUFBLEVBQUUsQ0FBQztFQUFFLFNBQVMsRUFBRSxJQUFLO0NBQUk7O0FBQ3pCLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLElBQUs7Q0FBSTs7QUFFekIsQUFBQSxDQUFDLENBQUM7RUFDRSxLQUFLLEVBQUUsSUFBSztDQUNmOztBQUdEO2dHQUNnRztBQUNoRyxBQUFBLE9BQU8sQ0FBQztFQUFFLFFBQVEsRUFBRSxRQUFTO0NBQUk7O0FBQ2pDLEFBQUEsUUFBUSxDQUFDO0VBQUMsS0FBSyxFQUFFLE1BQU87RUFBQyxNQUFNLEVBQUUsTUFBTztDQUFHOztBQUUzQztnR0FDZ0c7QUFDaEcsQUFBWSxZQUFBLEFBQUEsTUFBTSxFQUFDLEFBQVEsUUFBQSxBQUFBLE1BQU0sRUFBQyxBQUFPLE9BQUEsQUFBQSxNQUFNLENBQUE7RUFBQyxLQUFLLEVBQUMsSUFBSztFQUFDLE9BQU8sRUFBRSxLQUFNO0VBQUMsT0FBTyxFQUFDLEdBQUk7Q0FBRTs7QUFDMUYsQUFBYSxhQUFBLEFBQUEsT0FBTyxDQUFBO0VBQUMsS0FBSyxFQUFDLElBQUs7RUFBQyxPQUFPLEVBQUUsS0FBTTtFQUFDLE9BQU8sRUFBQyxHQUFJO0NBQUU7O0FBQy9ELEFBQUEsT0FBTyxDQUFBO0VBQUMsVUFBVSxFQUFFLElBQUs7Q0FBRTs7QUFDM0IsQUFBQSxRQUFRLENBQUE7RUFBQyxVQUFVLEVBQUUsS0FBTTtDQUFFOztBQUM3QixBQUFBLFNBQVMsQ0FBQTtFQUFDLFVBQVUsRUFBRSxNQUFPO0NBQUU7O0FBQy9CLEFBQUEsT0FBTyxDQUFDO0VBQUUsVUFBVSxFQUFFLE1BQU87Q0FBSTs7QUFDakMsQUFBQSxLQUFLLENBQUM7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFJOztBQUM5QixBQUFBLFFBQVEsQ0FBQztFQUFFLFdBQVcsRUFBRSxPQUFRO0NBQUk7O0FBQ3BDLEFBQUEsR0FBRyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FBSTs7QUFDdEIsQUFBQSxHQUFHLENBQUM7RUFBRSxLQUFLLEVBQUUsS0FBTTtDQUFJOztBQUN2QixBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFLO0NBQUk7O0FBSXpCLEFBQUEsQ0FBQyxDQUFDO0VHcEVFLFVBQVUsRUhxRVUsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHcEV2QyxrQkFBa0IsRUhvRUUsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHbkV2QyxlQUFlLEVIbUVLLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFR2xFdkMsY0FBYyxFSGtFTSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUdqRXZDLGFBQWEsRUhpRU8sR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0NBQzFDOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVM7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUFFLEtBQUssRUFBRSxDQUFFO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxNQUFNLEVBQUUsQ0FBRTtFQUFFLEdBQUcsRUFBRSxDQUFFO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsS0FBTTtFQUN0Rzs7T0FFRztDQUlOOztBQVJELEFBQUEsUUFBUSxBQUtILFVBQVUsQ0FBQTtFQUNQLEdBQUcsRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7Q0FDNUI7O0FBSUwsQUFBQSxTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsQ0FBRTtDQUNWOztBQUVELEFBQVMsU0FBQSxBQUFBLE9BQU87QUFDaEIsQUFBUyxTQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ2QsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVBQUUsQ0FBRTtFQUNmLE9BQU8sRUFBRSxFQUFHO0NBQ2I7O0FBRUQsQUFBUyxTQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ2QsS0FBSyxFQUFFLElBQUs7Q0FDYjs7QUFFRCxBQUFBLFNBQVMsQ0FBQztFQUNOLFVBQVUsRUFBRyxPQUFRO0VBQUUsT0FBTyxFQUFFLFlBQWE7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFDbEcsT0FBTyxFQUFFLE1BQU87RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLGNBQWMsRUFBRSxTQUFVO0VHN0YxRCxhQUFhLEVIOEZTLElBQUk7RUc3RjFCLHFCQUFxQixFSDZGQyxJQUFJO0VHNUYxQixrQkFBa0IsRUg0RkksSUFBSTtFRzNGMUIsaUJBQWlCLEVIMkZLLElBQUk7RUcxRjFCLGdCQUFnQixFSDBGTSxJQUFJO0NBOEI3Qjs7QUFqQ0QsQUFBQSxTQUFTLEFBSUosTUFBTSxDQUFBO0VBQ0gsVUFBVSxFQUFDLE9BQVE7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUNwQzs7QUFOTCxBQUFBLFNBQVMsQUFPSixHQUFHLENBQUM7RUFDRCxVQUFVLEVBQUUsT0FBUTtDQUl2Qjs7QUFaTCxBQUFBLFNBQVMsQUFPSixHQUFHLEFBRUMsTUFBTSxDQUFBO0VBQ0gsVUFBVSxFQUFDLE9BQVE7Q0FDdEI7O0FBWFQsQUFBQSxTQUFTLEFBYUosR0FBRyxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQVE7RUFBRSxTQUFTLEVBQUUsSUFBSztDQUl6Qzs7QUFsQkwsQUFBQSxTQUFTLEFBYUosR0FBRyxBQUVDLE1BQU0sQ0FBQTtFQUNILFVBQVUsRUFBQyxPQUFRO0NBQ3RCOztBQWpCVCxBQUFBLFNBQVMsQUFtQkosSUFBSSxDQUFDO0VBQ0YsVUFBVSxFQUFFLE9BQVE7Q0FJdkI7O0FBeEJMLEFBQUEsU0FBUyxBQW1CSixJQUFJLEFBRUEsTUFBTSxDQUFBO0VBQ0gsVUFBVSxFQUFDLE9BQVE7Q0FDdEI7O0FBdkJULEFBQUEsU0FBUyxBQXlCSixNQUFNLENBQUM7RUFDSixTQUFTLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFDLGlCQUFrQjtFQUM5RCxLQUFLLEVBQUUsT0FBUTtFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLE1BQU87RUdsR3pELGtCQUFrQixFSG1HSyxVQUFVO0VHbEdqQyxlQUFlLEVIa0dRLFVBQVU7RUdqR2pDLFVBQVUsRUhpR2EsVUFBVTtDQUloQzs7QUFoQ0wsQUFBQSxTQUFTLEFBeUJKLE1BQU0sQUFJRixNQUFNLENBQUE7RUFDSCxVQUFVLEVBQUMsT0FBUTtFQUFFLEtBQUssRUFBRSxJQUFLO0NBQ3BDOztBQUtULEFBQUEsT0FBTyxDQUFBO0VBQ0gsUUFBUSxFQUFFLEtBQU07RUFBQyxPQUFPLEVBQUUsSUFBSztFQUFDLEdBQUcsRUFBQyxDQUFFO0VBQUMsTUFBTSxFQUFDLENBQUU7RUFBQyxLQUFLLEVBQUMsQ0FBRTtFQUFDLElBQUksRUFBQyxDQUFFO0VBQUMsVUFBVSxFQUFDLElBQUs7Q0FLckY7O0FBTkQsQUFFSSxPQUZHLENBRUgsSUFBSSxDQUFBO0VBQ0EsS0FBSyxFQUFFLEtBQU07RUFBQyxNQUFNLEVBQUUsS0FBTTtFQUFDLFFBQVEsRUFBQyxRQUFTO0VBQUMsR0FBRyxFQUFDLENBQUU7RUFBQyxNQUFNLEVBQUMsQ0FBRTtFQUFDLEtBQUssRUFBQyxDQUFFO0VBQUMsSUFBSSxFQUFDLENBQUU7RUFBQyxNQUFNLEVBQUMsSUFBSztFQUM5RixVQUFVLEVBQXVDLHNDQUFDLENBQUMsU0FBUztFQUFFLGVBQWUsRUFBRSxJQUFLO0NBQ3ZGOztBQUtMO2dHQUNnRztBQUNoRyxBQUFBLE1BQU0sQ0FBQztFQUNGLE1BQU0sRUFBRSxLQUFNO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsS0FBSyxFQUFFLENBQUU7RUFBRyxPQUFPLEVBQUUsS0FBTTtFR25KeEYsVUFBVSxFSG9KVyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUduSnhDLGtCQUFrQixFSG1KRyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUdsSnhDLGVBQWUsRUhrSk0sR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHakp4QyxjQUFjLEVIaUpPLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFR2hKeEMsYUFBYSxFSGdKUSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q0FxVDNDOztBQXZURCxBQUdJLE1BSEUsQ0FHRixRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsS0FBTTtFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLGFBQWEsRUFBRSxpQkFBa0I7RUFDbkcsSUFBSSxFQUFFLENBQUU7RUFBRSxHQUFHLEVBQUUsS0FBTTtFQUFFLE9BQU8sRUFBRSxDQUFFO0NBQ3JDOztBQU5MLEFBT0ksTUFQRSxDQU9GLEtBQUssQ0FBQTtFQUNELEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLFdBQVk7RUcxSnRDLFVBQVUsRUgySmMsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHMUozQyxrQkFBa0IsRUgwSk0sR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHekozQyxlQUFlLEVIeUpTLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFR3hKM0MsY0FBYyxFSHdKVSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUd2SjNDLGFBQWEsRUh1SlcsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0NBTzFDOztBQWhCTCxBQVVRLE1BVkYsQ0FPRixLQUFLLENBR0QsR0FBRyxDQUFDO0VHNUpSLFVBQVUsRUg0Sm1CLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzNKaEQsa0JBQWtCLEVIMkpXLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzFKaEQsZUFBZSxFSDBKYyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUd6SmhELGNBQWMsRUh5SmUsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHeEpoRCxhQUFhLEVId0pnQixHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q0FBSTs7QUFWeEQsQUFPSSxNQVBFLENBT0YsS0FBSyxBQUtBLE9BQU8sQ0FBQztFQUNMLE9BQU8sRUFBRSxNQUFPO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxVQUFVLEVBQUUsS0FBTTtDQUM1RDs7QUFkVCxBQWlCSSxNQWpCRSxDQWlCRixZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsS0FBTTtFQUFFLE1BQU0sRUFBRSxVQUFXO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsT0FBUTtDQWE3RTs7QUEvQkwsQUFpQkksTUFqQkUsQ0FpQkYsWUFBWSxBQUVQLE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLEdBQUk7RUFBRSxNQUFNLEVBQUUsR0FBSTtFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQUUsS0FBSyxFQUFFLENBQUU7RUFBRSxHQUFHLEVBQUUsR0FBSTtFQUNqRixVQUFVLEVBQUUsdUNBQUcsQ0FBcUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHdEl6RSxpQkFBaUIsRUh1SVUsZ0JBQVU7RUd0SXJDLGNBQWMsRUhzSWEsZ0JBQVU7RUdySXJDLFNBQVMsRUhxSWtCLGdCQUFVO0VBQVMsT0FBTyxFQUFFLENBQUU7Q0FDcEQ7O0FBdkJULEFBd0JRLE1BeEJGLENBaUJGLFlBQVksQ0FPUixNQUFNLENBQUM7RUFDSCxVQUFVLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxVQUFXO0VBQUUsTUFBTSxFQUFDLENBQUU7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQ3JGLEtBQUssRUFBRSxJQUFLO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxRQUFRLEVBQUUsUUFBUztFQUFFLE9BQU8sRUFBRSxDQUFFO0VBQUUsTUFBTSxFQUFFLE9BQVE7Q0FJckY7O0FBOUJULEFBMkJZLE1BM0JOLENBaUJGLFlBQVksQ0FPUixNQUFNLENBR0YsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUs7Q0FDZjs7QUE3QmIsQUFnQ0ksTUFoQ0UsQ0FnQ0YsVUFBVSxDQUFDO0VBQ1AsS0FBSyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUUsZ0JBQWlCO0NBSzNDOztBQXRDTCxBQWtDUSxNQWxDRixDQWdDRixVQUFVLENBRU4sSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUUsT0FBUTtFQUNqQyxLQUFLLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsVUFBVSxFQUFFLHdDQUFHLENBQXNDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNsRzs7QUFyQ1QsQUF1Q0ksTUF2Q0UsQ0F1Q0YsR0FBRyxDQUFDO0VBQ0EsS0FBSyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUUsR0FBSTtDQTBGOUI7O0FBbElMLEFBMENZLE1BMUNOLENBdUNGLEdBQUcsQ0FFQyxFQUFFLENBQ0UsRUFBRSxDQUFBO0VBQ0UsS0FBSyxFQUFFLElBQUs7RUFBRSxjQUFjLEVBQUUsU0FBVTtFQUFFLE1BQU0sRUFBRSxNQUFPO0VBQUUsUUFBUSxFQUFFLFFBQVM7Q0FxRmpGOztBQWhJYixBQTRDZ0IsTUE1Q1YsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBRUUsQ0FBQyxDQUFDO0VBQ0UsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxNQUFPO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsWUFBYTtFQUFFLFdBQVcsRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFFLE1BQU87RUcvTGhKLFVBQVUsRUhnTTBCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFRy9MeEQsa0JBQWtCLEVIK0xrQixHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RUc5THhELGVBQWUsRUg4THFCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFRzdMeEQsY0FBYyxFSDZMc0IsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0VHNUx4RCxhQUFhLEVINEx1QixHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RUd6THhELGFBQWEsRUh5TG9FLElBQUk7RUd4THJGLHFCQUFxQixFSHdMNEQsSUFBSTtFR3ZMckYsa0JBQWtCLEVIdUwrRCxJQUFJO0VHdExyRixpQkFBaUIsRUhzTGdFLElBQUk7RUdyTHJGLGdCQUFnQixFSHFMaUUsSUFBSTtFQUNyRSxPQUFPLENBQVAscUJBQU87RUFBd0IsTUFBTSxFQUFFLElBQUs7Q0FNL0M7O0FBckRqQixBQTRDZ0IsTUE1Q1YsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBRUUsQ0FBQyxBQUlJLE9BQU8sRUFoRDVCLEFBNENnQixNQTVDVixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FFRSxDQUFDLEFBS0ksTUFBTSxDQUFDO0VHNUx4QixhQUFhLEVINkw2QixJQUFJO0VHNUw5QyxxQkFBcUIsRUg0THFCLElBQUk7RUczTDlDLGtCQUFrQixFSDJMd0IsSUFBSTtFRzFMOUMsaUJBQWlCLEVIMEx5QixJQUFJO0VHekw5QyxnQkFBZ0IsRUh5TDBCLElBQUk7RUFDMUIsVUFBVSxFQUFDLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtDQUNwQzs7QUFwRHJCLEFBdURvQixNQXZEZCxDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQUFZRyxNQUFNLENBQ0gsQ0FBQyxDQUFDO0VHbE1sQixhQUFhLEVIa000QixJQUFJO0VHak03QyxxQkFBcUIsRUhpTW9CLElBQUk7RUdoTTdDLGtCQUFrQixFSGdNdUIsSUFBSTtFRy9MN0MsaUJBQWlCLEVIK0x3QixJQUFJO0VHOUw3QyxnQkFBZ0IsRUg4THlCLElBQUk7RUFBRyxVQUFVLEVBQUMsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUk7O0FBdkR6RixBQTBENEIsTUExRHRCLENBdUNGLEdBQUcsQ0FFQyxFQUFFLENBQ0UsRUFBRSxBQVlHLE1BQU0sQ0FFSCxJQUFJLENBQ0EsRUFBRSxDQUNFLENBQUMsQ0FBQztFQUFDLFVBQVUsRUFBRSxPQUFRO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FBRzs7QUExRHBFLEFBOERnQixNQTlEVixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUFDO0VBQ0QsUUFBUSxFQUFFLFFBQVM7RUFBRSxLQUFLLEVBQUUsS0FBTTtFQUFFLEdBQUcsRUFBRSxJQUFLO0VBQUUsSUFBSSxFQUFFLEtBQU07RUFBRSxVQUFVLEVBQUUsSUFBSztFQUMvRSxPQUFPLEVBQUUsVUFBVztFQUNwQixPQUFPLEVBQUUsQ0FBRTtFQUFFLE1BQU0sRUFBRSxnQkFBSztFQUMxQixPQUFPLEVBQUUsSUFBSztDQTZEakI7O0FBL0hqQixBQW1Fb0IsTUFuRWQsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLENBQUM7RUFDQyxRQUFRLEVBQUUsUUFBUztFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsT0FBTyxFQUFFLE1BQU87RUcvTS9FLGFBQWEsRUhnTjZCLElBQUk7RUcvTTlDLHFCQUFxQixFSCtNcUIsSUFBSTtFRzlNOUMsa0JBQWtCLEVIOE13QixJQUFJO0VHN005QyxpQkFBaUIsRUg2TXlCLElBQUk7RUc1TTlDLGdCQUFnQixFSDRNMEIsSUFBSTtDQXlEN0I7O0FBOUhyQixBQW1Fb0IsTUFuRWQsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLEFBR0csT0FBTyxDQUFDO0VBQ0wsUUFBUSxFQUFDLFFBQVM7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEVBQUc7RUFBRSxJQUFJLEVBQUUsR0FBSTtFQUFFLEdBQUcsRUFBRSxLQUFNO0VBQ3RGLFVBQVUsRUFBRSxtQ0FBRyxDQUFpQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7RUd6THJGLGlCQUFpQixFSDBMMEIsZ0JBQVU7RUd6THJELGNBQWMsRUh5TDZCLGdCQUFVO0VHeExyRCxTQUFTLEVId0xrQyxnQkFBVTtDQUNoQzs7QUExRXpCLEFBMkV3QixNQTNFbEIsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLENBUUUsRUFBRSxDQUFDO0VBQ0MsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxPQUFRO0NBaUQ5Qzs7QUE3SHpCLEFBNkU0QixNQTdFdEIsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLENBUUUsRUFBRSxDQUVFLENBQUMsQ0FBQztFQUNFLFNBQVMsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxpQkFBa0I7RUFDaEYsTUFBTSxFQUFFLENBQUU7RUFBRSxPQUFPLEVBQUUsS0FBTTtFQUMzQixRQUFRLEVBQUUsUUFBUztFRzNOL0MsYUFBYSxFSDROcUMsR0FBRztFRzNOckQscUJBQXFCLEVIMk42QixHQUFHO0VHMU5yRCxrQkFBa0IsRUgwTmdDLEdBQUc7RUd6TnJELGlCQUFpQixFSHlOaUMsR0FBRztFR3hOckQsZ0JBQWdCLEVId05rQyxHQUFHO0NBK0I1Qjs7QUFoSDdCLEFBNkU0QixNQTdFdEIsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLENBUUUsRUFBRSxDQUVFLENBQUMsQUFLSSxPQUFPLENBQUM7RUFDTCxRQUFRLEVBQUMsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQ25GLElBQUksRUFBRSxJQUFLO0VBQUUsR0FBRyxFQUFFLEdBQUk7Q0FDekI7O0FBckZqQyxBQTZFNEIsTUE3RXRCLENBdUNGLEdBQUcsQ0FFQyxFQUFFLENBQ0UsRUFBRSxDQW9CRSxJQUFJLENBS0EsRUFBRSxDQVFFLEVBQUUsQ0FFRSxDQUFDLEFBU0ksTUFBTSxDQUFDO0VBQ0osVUFBVSxFQUFFLE9BQVE7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUNyQzs7QUF4RmpDLEFBNkU0QixNQTdFdEIsQ0F1Q0YsR0FBRyxDQUVDLEVBQUUsQ0FDRSxFQUFFLENBb0JFLElBQUksQ0FLQSxFQUFFLENBUUUsRUFBRSxDQUVFLENBQUMsQUFhSSxTQUFTLEFBQ0wsT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHNDQUFHLENBQW9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQTNGbEgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQWdCSSxVQUFVLEFBQ04sT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHVDQUFHLENBQXFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQTlGbkgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQW1CSSxPQUFPLEFBQ0gsT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLG9DQUFHLENBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQWpHaEgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQXNCSSxTQUFTLEFBQ0wsT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHNDQUFHLENBQW9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQXBHbEgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQXlCSSxTQUFTLEFBQ0wsT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLG9DQUFHLENBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQXZHaEgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQTRCSSxRQUFRLEFBQ0osT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHFDQUFHLENBQW1DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQTFHakgsQUE2RTRCLE1BN0V0QixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLENBRUUsQ0FBQyxBQStCSSxVQUFVLEFBQ04sT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHVDQUFHLENBQXFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQTdHbkgsQUEyRXdCLE1BM0VsQixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLEFBc0NHLFdBQVcsQ0FBQztFQUFDLGNBQWMsRUFBRSxDQUFFO0NBQUc7O0FBakgvRCxBQTJFd0IsTUEzRWxCLENBdUNGLEdBQUcsQ0FFQyxFQUFFLENBQ0UsRUFBRSxDQW9CRSxJQUFJLENBS0EsRUFBRSxDQVFFLEVBQUUsQUF1Q0csS0FBSyxDQUFDO0VBQ0gsTUFBTSxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUFFLE1BQU0sRUFBRSxNQUFPO0NBQ3REOztBQXBIN0IsQUEyRXdCLE1BM0VsQixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLEFBMENHLEtBQUssQ0FBQztFQUNILFNBQVMsRUFBRSxJQUFLO0NBTW5COztBQTVIN0IsQUF1SGdDLE1BdkgxQixDQXVDRixHQUFHLENBRUMsRUFBRSxDQUNFLEVBQUUsQ0FvQkUsSUFBSSxDQUtBLEVBQUUsQ0FRRSxFQUFFLEFBMENHLEtBQUssQ0FFRixDQUFDLENBQUM7RUFDRSxPQUFPLEVBQUMsaUJBQWtCO0VBQUUsVUFBVSxFQUFFLElBQUs7RUFDN0MsU0FBUyxFQUFFLElBQUs7Q0FFbkI7O0FBM0hqQyxBQXVIZ0MsTUF2SDFCLENBdUNGLEdBQUcsQ0FFQyxFQUFFLENBQ0UsRUFBRSxDQW9CRSxJQUFJLENBS0EsRUFBRSxDQVFFLEVBQUUsQUEwQ0csS0FBSyxDQUVGLENBQUMsQUFHSSxPQUFPLENBQUM7RUFBQyxPQUFPLEVBQUMsSUFBSztDQUFHOztBQTFIOUQsQUFBQSxNQUFNLEFBb0lELE1BQU0sQ0FBQztFQUNKLFFBQVEsRUFBRSxLQUFNO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFDL0IsSUFBSSxFQUFFLENBQUU7RUFBRSxHQUFHLEVBQUUsQ0FBRTtDQTJDcEI7O0FBakxMLEFBdUlRLE1BdklGLEFBb0lELE1BQU0sQ0FHSCxRQUFRLENBQUM7RUFBQyxPQUFPLEVBQUUsQ0FBRTtFQUFFLFFBQVEsRUFBRSxRQUFTO0NBQUc7O0FBdklyRCxBQXdJUSxNQXhJRixBQW9JRCxNQUFNLENBSUgsS0FBSyxDQUFDO0VBQ0Y7b0ZBQ3dFO0VBQ3hFLFVBQVUsRUFBQyxLQUFNO0VHN1J6QixVQUFVLEVIOFJrQixHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUc3Ui9DLGtCQUFrQixFSDZSVSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUc1Ui9DLGVBQWUsRUg0UmEsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHM1IvQyxjQUFjLEVIMlJjLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzFSL0MsYUFBYSxFSDBSZSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q0FFMUM7O0FBOUlULEFBNklZLE1BN0lOLEFBb0lELE1BQU0sQ0FJSCxLQUFLLENBS0QsR0FBRyxDQUFDO0VHL1JaLFVBQVUsRUgrUnVCLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzlScEQsa0JBQWtCLEVIOFJlLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzdScEQsZUFBZSxFSDZSa0IsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHNVJwRCxjQUFjLEVINFJtQixHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUczUnBELGFBQWEsRUgyUm9CLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztDQUFJOztBQTdJNUQsQUFpSmdCLE1BakpWLEFBb0lELE1BQU0sQ0FXSCxHQUFHLENBQ0MsRUFBRSxDQUNFLEVBQUUsQ0FBQztFQUNDLE1BQU0sRUFBRSxNQUFPO0NBaUJsQjs7QUFuS2pCLEFBbUpvQixNQW5KZCxBQW9JRCxNQUFNLENBV0gsR0FBRyxDQUNDLEVBQUUsQ0FDRSxFQUFFLENBRUUsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFQUFFLE9BQVE7Q0FNbEI7O0FBMUpyQixBQW1Kb0IsTUFuSmQsQUFvSUQsTUFBTSxDQVdILEdBQUcsQ0FDQyxFQUFFLENBQ0UsRUFBRSxDQUVFLENBQUMsQUFFSSxPQUFPLEVBckpoQyxBQW1Kb0IsTUFuSmQsQUFvSUQsTUFBTSxDQVdILEdBQUcsQ0FDQyxFQUFFLENBQ0UsRUFBRSxDQUVFLENBQUMsQUFHSSxNQUFNLENBQUM7RUdqUzVCLGFBQWEsRUhrU2lDLElBQUk7RUdqU2xELHFCQUFxQixFSGlTeUIsSUFBSTtFR2hTbEQsa0JBQWtCLEVIZ1M0QixJQUFJO0VHL1JsRCxpQkFBaUIsRUgrUjZCLElBQUk7RUc5UmxELGdCQUFnQixFSDhSOEIsSUFBSTtFQUMxQixVQUFVLEVBQUMsT0FBUTtFQUFFLEtBQUssRUFBRSxJQUFLO0NBQ3BDOztBQXpKekIsQUE0SndCLE1BNUpsQixBQW9JRCxNQUFNLENBV0gsR0FBRyxDQUNDLEVBQUUsQ0FDRSxFQUFFLEFBVUcsTUFBTSxDQUNILENBQUMsQ0FBQztFR3ZTdEIsYUFBYSxFSHVTZ0MsSUFBSTtFR3RTakQscUJBQXFCLEVIc1N3QixJQUFJO0VHclNqRCxrQkFBa0IsRUhxUzJCLElBQUk7RUdwU2pELGlCQUFpQixFSG9TNEIsSUFBSTtFR25TakQsZ0JBQWdCLEVIbVM2QixJQUFJO0VBQUcsVUFBVSxFQUFDLE9BQVE7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUFJOztBQTVKN0YsQUErSmdDLE1BL0oxQixBQW9JRCxNQUFNLENBV0gsR0FBRyxDQUNDLEVBQUUsQ0FDRSxFQUFFLEFBVUcsTUFBTSxDQUVILElBQUksQ0FDQSxFQUFFLENBQ0UsQ0FBQyxDQUFDO0VHMVM5QixhQUFhLEVIMFN3QyxHQUFHO0VHelN4RCxxQkFBcUIsRUh5U2dDLEdBQUc7RUd4U3hELGtCQUFrQixFSHdTbUMsR0FBRztFR3ZTeEQsaUJBQWlCLEVIdVNvQyxHQUFHO0VHdFN4RCxnQkFBZ0IsRUhzU3FDLEdBQUc7Q0FBSTs7QUEvSmhFLEFBc0tRLE1BdEtGLEFBb0lELE1BQU0sQ0FrQ0gsWUFBWSxBQUNQLE9BQU8sQ0FBQztFQUNMLFVBQVUsRUFBQyx1Q0FBRyxDQUFxQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFBRSxHQUFHLEVBQUUsR0FBSTtDQUM5RTs7QUF6S2IsQUEwS1ksTUExS04sQUFvSUQsTUFBTSxDQWtDSCxZQUFZLENBSVIsTUFBTSxDQUFDO0VBQUMsS0FBSyxFQUFFLE9BQVE7Q0FBRzs7QUExS3RDLEFBNktZLE1BN0tOLEFBb0lELE1BQU0sQ0F3Q0gsVUFBVSxDQUNOLElBQUksQ0FBQztFQUNELFVBQVUsRUFBRSw4Q0FBRyxDQUE0QyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDM0U7O0FBL0tiLEFBbUxJLE1BbkxFLENBbUxGLFdBQVcsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxLQUFNO0VBQUUsTUFBTSxFQUFFLGFBQWM7RUFDdkYsT0FBTyxFQUFFLElBQUs7Q0FnQ2pCOztBQXJOTCxBQXNMUSxNQXRMRixDQW1MRixXQUFXLENBR1AsSUFBSSxDQUFDO0VBQ0QsUUFBUSxFQUFFLFFBQVM7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxHQUFJO0VBQUUsVUFBVSxFQUFFLElBQUs7RUFDbEUsS0FBSyxFQUFDLENBQUU7RUFBRSxHQUFHLEVBQUUsQ0FBRTtFR3pTekIsaUJBQWlCLEVIMlNVLFlBQU07RUcxU2pDLGNBQWMsRUgwU2EsWUFBTTtFR3pTakMsU0FBUyxFSHlTa0IsWUFBTTtFRzVVakMsVUFBVSxFSDZVbUIsS0FBSSxDQUFDLFdBQVc7RUc1VTdDLGtCQUFrQixFSDRVVyxLQUFJLENBQUMsV0FBVztFRzNVN0MsZUFBZSxFSDJVYyxLQUFJLENBQUMsV0FBVztFRzFVN0MsY0FBYyxFSDBVZSxLQUFJLENBQUMsV0FBVztFR3pVN0MsYUFBYSxFSHlVZ0IsS0FBSSxDQUFDLFdBQVc7Q0FleEM7O0FBMU1ULEFBc0xRLE1BdExGLENBbUxGLFdBQVcsQ0FHUCxJQUFJLEFBT0MsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQ1gsR0FBRyxFQUFFLENBQUU7RUcxU25CLHdCQUF3QixFSDJTYSxJQUFJLENBQUMsTUFBTTtFRzFTaEQscUJBQXFCLEVIMFNnQixJQUFJLENBQUMsTUFBTTtFR3pTaEQsbUJBQW1CLEVIeVNrQixJQUFJLENBQUMsTUFBTTtFR3hTaEQsZ0JBQWdCLEVId1NxQixJQUFJLENBQUMsTUFBTTtDQUN2Qzs7QUFoTWIsQUFzTFEsTUF0TEYsQ0FtTEYsV0FBVyxDQUdQLElBQUksQUFXQyxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFDWCxHQUFHLEVBQUUsSUFBSztFRzlTdEIsd0JBQXdCLEVIK1NhLElBQUksQ0FBQyxNQUFNO0VHOVNoRCxxQkFBcUIsRUg4U2dCLElBQUksQ0FBQyxNQUFNO0VHN1NoRCxtQkFBbUIsRUg2U2tCLElBQUksQ0FBQyxNQUFNO0VHNVNoRCxnQkFBZ0IsRUg0U3FCLElBQUksQ0FBQyxNQUFNO0NBQ3ZDOztBQXBNYixBQXNMUSxNQXRMRixDQW1MRixXQUFXLENBR1AsSUFBSSxBQWVDLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtFQUNYLEdBQUcsRUFBRSxJQUFLO0VHbFR0Qix3QkFBd0IsRUhtVGEsSUFBSSxDQUFDLE1BQU07RUdsVGhELHFCQUFxQixFSGtUZ0IsSUFBSSxDQUFDLE1BQU07RUdqVGhELG1CQUFtQixFSGlUa0IsSUFBSSxDQUFDLE1BQU07RUdoVGhELGdCQUFnQixFSGdUcUIsSUFBSSxDQUFDLE1BQU07Q0FDdkM7O0FBeE1iLEFBbUxJLE1BbkxFLENBbUxGLFdBQVcsQUF3Qk4sT0FBTyxDQUFDO0VBQ0wsT0FBTyxFQUFFLE1BQU87RUFDaEIsVUFBVSxFQUFFLElBQUs7Q0FPcEI7O0FBcE5ULEFBOE1ZLE1BOU1OLENBbUxGLFdBQVcsQUF3Qk4sT0FBTyxDQUdKLElBQUksQ0FBQztFQUNELFVBQVUsRUFBRSxPQUFRO0NBSXZCOztBQW5OYixBQThNWSxNQTlNTixDQW1MRixXQUFXLEFBd0JOLE9BQU8sQ0FHSixJQUFJLEFBRUMsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQUMsR0FBRyxFQUFFLEdBQUk7RUdqVXJDLGlCQUFpQixFSGlVeUMsYUFBTTtFR2hVaEUsY0FBYyxFSGdVNEMsYUFBTTtFRy9UaEUsU0FBUyxFSCtUaUQsYUFBTTtDQUFXOztBQWhOL0UsQUE4TVksTUE5TU4sQ0FtTEYsV0FBVyxBQXdCTixPQUFPLENBR0osSUFBSSxBQUdDLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtFQUFDLEdBQUcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLENBQUU7Q0FBRzs7QUFqTjFELEFBOE1ZLE1BOU1OLENBbUxGLFdBQVcsQUF3Qk4sT0FBTyxDQUdKLElBQUksQUFJQyxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFBQyxHQUFHLEVBQUUsSUFBSztFR25VdEMsaUJBQWlCLEVIbVUwQyxjQUFNO0VHbFVqRSxjQUFjLEVIa1U2QyxjQUFNO0VHalVqRSxTQUFTLEVIaVVrRCxjQUFNO0NBQVk7O0FBbE5qRixBQXVOSSxNQXZORSxDQXVORixhQUFhLENBQUM7RUFDVixRQUFRLEVBQUUsS0FBTTtFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxHQUFHLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsT0FBTyxFQUFFLE1BQU87RUFDbEYsVUFBVSxFQUFFLElBQUs7RUFBRSxRQUFRLEVBQUUsSUFBSztFQUNsQyxPQUFPLEVBQUUsSUFBSztDQXlGakI7O0FBblRMLEFBMk5RLE1BM05GLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBQUM7RUFDTixPQUFPLEVBQUUsWUFBYTtFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQzNDLFVBQVUsRUFBRSxDQUFFO0VBQUUsYUFBYSxFQUFFLElBQUs7RUdwVjVDLGtCQUFrQixFSHFWUyxVQUFVO0VHcFZyQyxlQUFlLEVIb1ZZLFVBQVU7RUduVnJDLFVBQVUsRUhtVmlCLFVBQVU7Q0E0RWhDOztBQTFTVCxBQTJOUSxNQTNORixDQXVORixhQUFhLENBSVQsU0FBUyxBQUlKLE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxLQUFNO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQy9ELE9BQU8sRUFBRSxFQUFHO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxDQUFFO0NBQy9DOztBQWxPYixBQXFPb0IsTUFyT2QsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxDQUNFLENBQUMsQ0FBQztFQUNFLE9BQU8sRUFBRSxLQUFNO0VBQUUsT0FBTyxFQUFFLFNBQVU7RUFBRSxRQUFRLEVBQUUsUUFBUztFQUN6RCxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsY0FBYyxFQUFFLFNBQVU7Q0FDaEU7O0FBeE9yQixBQTBPeUIsTUExT25CLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBQ04sQ0FBQyxBQUFBLE1BQU0sQUFDRixNQUFNLENBQUM7RUFDSixRQUFRLEVBQUMsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsRUFBRztFQUM1RCxVQUFVLEVBQUUsNENBQUcsQ0FBMEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3RFLEtBQUssRUFBQyxJQUFLO0VBQUUsR0FBRyxFQUFFLEdBQUk7RUcvVmxELGlCQUFpQixFSGdXOEIsZ0JBQVU7RUcvVnpELGNBQWMsRUgrVmlDLGdCQUFVO0VHOVZ6RCxTQUFTLEVIOFZzQyxnQkFBVTtDQUNoQzs7QUFoUDdCLEFBa1B3QixNQWxQbEIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBQUM7RUFDRCxVQUFVLEVBQUUsT0FBUTtFQUFFLE9BQU8sRUFBRSxJQUFLO0NBbUR2Qzs7QUF0U3pCLEFBb1A0QixNQXBQdEIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUFDO0VBQ0MsT0FBTyxFQUFFLE1BQU87Q0FnRG5COztBQXJTN0IsQUFzUGdDLE1BdFAxQixDQXVORixhQUFhLENBSVQsU0FBUyxDQVFMLEVBQUUsQ0FDRSxFQUFFLEFBS0csU0FBUyxDQVNOLElBQUksQ0FFQSxFQUFFLENBRUUsRUFBRSxDQUFDO0VBQ0MsT0FBTyxFQUFFLENBQUU7Q0E2Q2Q7O0FBcFNqQyxBQXdQb0MsTUF4UDlCLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBU04sSUFBSSxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxDQUFDO0VBQ0UsU0FBUyxFQUFFLElBQUs7RUFBRSxjQUFjLEVBQUUsVUFBVztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQzNELE9BQU8sRUFBRSxnQkFBaUI7RUFBRSxNQUFNLEVBQUUsTUFBTztDQThCOUM7O0FBeFJyQyxBQXdQb0MsTUF4UDlCLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBU04sSUFBSSxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxBQUdJLE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsT0FBTyxFQUFFLEVBQUc7RUFDbkYsSUFBSSxFQUFFLENBQUU7RUFBRSxHQUFHLEVBQUUsR0FBSTtDQUN0Qjs7QUE5UHpDLEFBd1BvQyxNQXhQOUIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FFRSxDQUFDLEFBT0ksTUFBTSxDQUFDO0VBQ0osVUFBVSxFQUFFLE9BQVE7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUNyQzs7QUFqUXpDLEFBd1BvQyxNQXhQOUIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FFRSxDQUFDLEFBV0ksU0FBUyxBQUNMLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxzQ0FBRyxDQUFvQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Q0FBRzs7QUFwUXpILEFBd1BvQyxNQXhQOUIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FFRSxDQUFDLEFBY0ksVUFBVSxBQUNOLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyx1Q0FBRyxDQUFxQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Q0FBRzs7QUF2UTFILEFBd1BvQyxNQXhQOUIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FFRSxDQUFDLEFBaUJJLE9BQU8sQUFDSCxPQUFPLENBQUM7RUFBQyxVQUFVLEVBQUMsb0NBQUcsQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO0NBQUc7O0FBMVF2SCxBQXdQb0MsTUF4UDlCLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBU04sSUFBSSxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxBQW9CSSxTQUFTLEFBQ0wsT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHNDQUFHLENBQW9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztDQUFHOztBQTdRMUgsQUF3UG9DLE1BeFA5QixDQXVORixhQUFhLENBSVQsU0FBUyxDQVFMLEVBQUUsQ0FDRSxFQUFFLEFBS0csU0FBUyxDQVNOLElBQUksQ0FFQSxFQUFFLENBRUUsRUFBRSxDQUVFLENBQUMsQUF1QkksU0FBUyxBQUNMLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxvQ0FBRyxDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Q0FBRzs7QUFoUnZILEFBd1BvQyxNQXhQOUIsQ0F1TkYsYUFBYSxDQUlULFNBQVMsQ0FRTCxFQUFFLENBQ0UsRUFBRSxBQUtHLFNBQVMsQ0FTTixJQUFJLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FFRSxDQUFDLEFBMEJJLFFBQVEsQUFDSixPQUFPLENBQUM7RUFBQyxVQUFVLEVBQUMscUNBQUcsQ0FBbUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO0NBQUc7O0FBblJ4SCxBQXdQb0MsTUF4UDlCLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBU04sSUFBSSxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxBQTZCSSxVQUFVLEFBQ04sT0FBTyxDQUFDO0VBQUMsVUFBVSxFQUFDLHVDQUFHLENBQXFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUFHOztBQXRSMUgsQUFzUGdDLE1BdFAxQixDQXVORixhQUFhLENBSVQsU0FBUyxDQVFMLEVBQUUsQ0FDRSxFQUFFLEFBS0csU0FBUyxDQVNOLElBQUksQ0FFQSxFQUFFLENBRUUsRUFBRSxBQW1DRyxLQUFLLENBQUM7RUFDSCxNQUFNLEVBQUUsR0FBSTtFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsTUFBTSxFQUFFLE1BQU87Q0FDdEQ7O0FBM1JyQyxBQXNQZ0MsTUF0UDFCLENBdU5GLGFBQWEsQ0FJVCxTQUFTLENBUUwsRUFBRSxDQUNFLEVBQUUsQUFLRyxTQUFTLENBU04sSUFBSSxDQUVBLEVBQUUsQ0FFRSxFQUFFLEFBc0NHLEtBQUssQ0FBQztFQUNILFNBQVMsRUFBRSxJQUFLO0NBTW5COztBQW5TckMsQUE4UndDLE1BOVJsQyxDQXVORixhQUFhLENBSVQsU0FBUyxDQVFMLEVBQUUsQ0FDRSxFQUFFLEFBS0csU0FBUyxDQVNOLElBQUksQ0FFQSxFQUFFLENBRUUsRUFBRSxBQXNDRyxLQUFLLENBRUYsQ0FBQyxDQUFDO0VBQ0UsT0FBTyxFQUFDLGNBQWU7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUMxQyxTQUFTLEVBQUUsSUFBSztFQUFFLGNBQWMsRUFBRSxTQUFVO0NBRS9DOztBQWxTekMsQUE4UndDLE1BOVJsQyxDQXVORixhQUFhLENBSVQsU0FBUyxDQVFMLEVBQUUsQ0FDRSxFQUFFLEFBS0csU0FBUyxDQVNOLElBQUksQ0FFQSxFQUFFLENBRUUsRUFBRSxBQXNDRyxLQUFLLENBRUYsQ0FBQyxBQUdJLE9BQU8sQ0FBQztFQUFDLE9BQU8sRUFBQyxJQUFLO0NBQUc7O0FBalN0RSxBQTJTUSxNQTNTRixDQXVORixhQUFhLENBb0ZULFlBQVksQ0FBQztFQUNULEtBQUssRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxZQUFZLEVBQUUsSUFBSztFQUFFLGFBQWEsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEtBQU07RUFDNUYsUUFBUSxFQUFFLFFBQVM7Q0FLdEI7O0FBbFRULEFBMlNRLE1BM1NGLENBdU5GLGFBQWEsQ0FvRlQsWUFBWSxBQUdQLE9BQU8sQ0FBQztFQUNMLFVBQVUsRUFBQyx1Q0FBRyxDQUFxQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFBRSxHQUFHLEVBQUUsR0FBSTtDQUM5RTs7QUFoVGIsQUFpVFksTUFqVE4sQ0F1TkYsYUFBYSxDQW9GVCxZQUFZLENBTVIsTUFBTSxDQUFDO0VBQUMsS0FBSyxFQUFFLE9BQVE7RUFBRSxTQUFTLEVBQUUsSUFBSztDQUFHOztBQVF4RCxBQUFBLGVBQWUsQ0FBQztFQUNaLFFBQVEsRUFBRSxLQUFNO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsS0FBTTtFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsR0FBRyxFQUFFLE1BQU87RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUN6RixPQUFPLEVBQUUsTUFBTztDQW1CbkI7O0FBckJELEFBR0ksZUFIVyxDQUdYLElBQUksQ0FBQztFQUNELFFBQVEsRUFBRSxRQUFTO0VBQUUsVUFBVSxFQUFFLElBQUs7Q0FnQnpDOztBQXBCTCxBQUsyQixlQUxaLENBR1gsSUFBSSxDQUVBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNqQixRQUFRLEVBQUUsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxHQUFHLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsT0FBTyxFQUFFLENBQUU7RUFBRSxNQUFNLEVBQUMsQ0FBRTtFQUMzRixNQUFNLEVBQUUsT0FBUTtFQUNoQixVQUFVLEVBQUUsNENBQUcsQ0FBMEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHO0NBQzNFOztBQVRULEFBVXlCLGVBVlYsQ0FHWCxJQUFJLENBT0EsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0VBQ2YsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsT0FBTyxFQUFFLENBQUU7RUFBRSxXQUFXLEVBQUUsTUFBTztFQUN4RixVQUFVLEVBQUUsTUFBTztFQUFFLE1BQU0sRUFBQyxDQUFFO0VBQUUsT0FBTyxFQUFFLGFBQWM7RUFDdkQsS0FBSyxFQUFFLElBQUs7RUc3YnBCLGtCQUFrQixFSDZidUIsVUFBVTtFRzVibkQsZUFBZSxFSDRiMEIsVUFBVTtFRzNibkQsVUFBVSxFSDJiK0IsVUFBVTtDQUM5Qzs7QUFkVCxBQWVRLGVBZk8sQ0FHWCxJQUFJLENBWUEsTUFBTSxDQUFDO0VBQ0gsUUFBUSxFQUFFLFFBQVM7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxDQUFFO0VBQUUsTUFBTSxFQUFDLENBQUU7RUFDNUYsTUFBTSxFQUFFLE9BQVE7RUFDaEIsVUFBVSxFQUFFLHFDQUFHLENBQW1DLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRztDQUN6RTs7QUFNVDtnR0FDZ0c7QUFDaEcsQUFBQSxPQUFPLENBQUM7RUFDSixRQUFRLEVBQUMsUUFBUztFQUFFLFFBQVEsRUFBRSxNQUFPO0NBK0J4Qzs7QUFoQ0QsQUFFSSxPQUZHLENBRUgsSUFBSSxDQUFDO0VBQ0QsV0FBVyxFQUFFLENBQUU7Q0FFbEI7O0FBTEwsQUFJUSxPQUpELENBRUgsSUFBSSxDQUVBLEdBQUcsQ0FBQztFQUFDLEtBQUssRUFBRSxJQUFLO0NBQUc7O0FBSjVCLEFBTUksT0FORyxDQU1ILFFBQVEsQ0FBQTtFQUNKLFFBQVEsRUFBRSxRQUFTO0VBQUUsSUFBSSxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsQ0FBRTtFQUFFLEdBQUcsRUFBQyxDQUFFO0VBQUUsTUFBTSxFQUFFLENBQUU7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxNQUFPO0VBQUUsTUFBTSxFQUFFLEtBQU07RUFBRSxLQUFLLEVBQUUsSUFBSztDQWdCNUg7O0FBdkJMLEFBUVEsT0FSRCxDQU1ILFFBQVEsQ0FFSixFQUFFLENBQUE7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxHQUFJO0NBQ3RDOztBQVZULEFBV1EsT0FYRCxDQU1ILFFBQVEsQ0FLSixDQUFDLENBQUE7RUFDRyxTQUFTLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLEtBQU07RUFBRSxXQUFXLEVBQUUsR0FBSTtFQUFFLFdBQVcsRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FDbkg7O0FBYlQsQUFjVSxPQWRILENBTUgsUUFBUSxHQVFGLEtBQUssQ0FBQTtFQUNILFlBQVksRUFBRSxJQUFLO0NBT3RCOztBQXRCVCxBQWdCNkIsT0FoQnRCLENBTUgsUUFBUSxHQVFGLEtBQUssQ0FFSCxLQUFLLEFBQUEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFDO0VBQ2QsU0FBUyxFQUFFLElBQUs7RUFBRSxZQUFZLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxHQUFJO0NBQzNEOztBQWxCYixBQW1CNkIsT0FuQnRCLENBTUgsUUFBUSxHQVFGLEtBQUssQ0FLSCxLQUFLLEFBQUEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFDO0VBQ2QsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsR0FBSTtFQUFFLFlBQVksRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEtBQU07Q0FDNUU7O0FBckJiLEFBeUJRLE9BekJELENBd0JILFVBQVUsQ0FDTixJQUFJLENBQUM7RUFBQyxRQUFRLEVBQUUsUUFBUztDQUFHOztBQXpCcEMsQUF3QkksT0F4QkcsQ0F3QkgsVUFBVSxBQUVMLGFBQWEsQ0FBQztFQUNYLE1BQU0sRUFBRSxJQUFLO0NBR2hCOztBQTlCVCxBQTRCWSxPQTVCTCxDQXdCSCxVQUFVLEFBRUwsYUFBYSxDQUVWLFdBQVcsQ0FBQztFQUFDLE1BQU0sRUFBRSxJQUFLO0NBQUc7O0FBNUJ6QyxBQTZCWSxPQTdCTCxDQXdCSCxVQUFVLEFBRUwsYUFBYSxDQUdWLFlBQVksQ0FBQztFQUFDLE1BQU0sRUFBRSxJQUFLO0NBQUc7O0FBSTFDLEFBQUEsV0FBVyxDQUFDO0VBQ1IsUUFBUSxFQUFDLFFBQVM7RUFBRSxRQUFRLEVBQUUsTUFBTztDQXVCeEM7O0FBeEJELEFBRUksV0FGTyxDQUVQLElBQUksQ0FBQztFQUNELFdBQVcsRUFBRSxDQUFFO0NBRWxCOztBQUxMLEFBSVEsV0FKRyxDQUVQLElBQUksQ0FFQSxHQUFHLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztDQUFHOztBQUo1QixBQU1JLFdBTk8sQ0FNUCxRQUFRLENBQUE7RUFDSixRQUFRLEVBQUUsUUFBUztFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsS0FBSyxFQUFFLENBQUU7RUFBRSxHQUFHLEVBQUMsQ0FBRTtFQUFFLE1BQU0sRUFBRSxDQUFFO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsTUFBTztFQUFFLE1BQU0sRUFBRSxLQUFNO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FnQjVIOztBQXZCTCxBQVFRLFdBUkcsQ0FNUCxRQUFRLENBRUosRUFBRSxDQUFBO0VBQ0UsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsR0FBSTtDQUN0Qzs7QUFWVCxBQVdRLFdBWEcsQ0FNUCxRQUFRLENBS0osQ0FBQyxDQUFBO0VBQ0csU0FBUyxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxLQUFNO0VBQUUsV0FBVyxFQUFFLEdBQUk7RUFBRSxXQUFXLEVBQUUsS0FBTTtFQUFFLGFBQWEsRUFBRSxJQUFLO0NBQ25IOztBQWJULEFBY1UsV0FkQyxDQU1QLFFBQVEsR0FRRixLQUFLLENBQUE7RUFDSCxZQUFZLEVBQUUsSUFBSztDQU90Qjs7QUF0QlQsQUFnQjZCLFdBaEJsQixDQU1QLFFBQVEsR0FRRixLQUFLLENBRUgsS0FBSyxBQUFBLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBQztFQUNkLFNBQVMsRUFBRSxJQUFLO0VBQUUsWUFBWSxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsS0FBTTtDQUM3RDs7QUFsQmIsQUFtQjZCLFdBbkJsQixDQU1QLFFBQVEsR0FRRixLQUFLLENBS0gsS0FBSyxBQUFBLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBQztFQUNkLFNBQVMsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLEdBQUk7RUFBRSxZQUFZLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxLQUFNO0NBQzVFOztBQUliLEFBQUEsaUJBQWlCLENBQUE7RUFDYixPQUFPLEVBQUUsZUFBZ0I7RUFBRSxRQUFRLEVBQUUsUUFBUztDQThFakQ7O0FBL0VELEFBQUEsaUJBQWlCLEFBRVosS0FBSyxDQUFBO0VBQ0YsT0FBTyxFQUFDLENBQUU7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUFDLGNBQWMsRUFBRSxLQUFNO0NBZ0MxRDs7QUFuQ0wsQUFPb0IsaUJBUEgsQUFFWixLQUFLLENBRUYsUUFBUSxDQUNKLEtBQUssQ0FDRCxJQUFJLENBQ0EsUUFBUSxDQUFBO0VBQ0osTUFBTSxFQUFDLGlCQUFrQjtFR2ppQjdDLGFBQWEsRUhpaUJ3RCxJQUFJO0VHaGlCekUscUJBQXFCLEVIZ2lCZ0QsSUFBSTtFRy9oQnpFLGtCQUFrQixFSCtoQm1ELElBQUk7RUc5aEJ6RSxpQkFBaUIsRUg4aEJvRCxJQUFJO0VHN2hCekUsZ0JBQWdCLEVINmhCcUQsSUFBSTtFQUFHLE9BQU8sRUFBRSxTQUFVO0NBSzlFOztBQWJyQixBQVN3QixpQkFUUCxBQUVaLEtBQUssQ0FFRixRQUFRLENBQ0osS0FBSyxDQUNELElBQUksQ0FDQSxRQUFRLENBRUosSUFBSSxDQUFBO0VBQ0EsS0FBSyxFQUFFLEtBQU07RUFBRSxLQUFLLEVBQUUsSUFBSztDQUM5Qjs7QUFYekIsQUFPb0IsaUJBUEgsQUFFWixLQUFLLENBRUYsUUFBUSxDQUNKLEtBQUssQ0FDRCxJQUFJLENBQ0EsUUFBUSxBQUtILE1BQU0sQ0FBQTtFQUFDLE9BQU8sRUFBRSxFQUFHO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsS0FBTTtDQUFHOztBQVo5RSxBQWV3QixpQkFmUCxBQUVaLEtBQUssQ0FFRixRQUFRLENBQ0osS0FBSyxDQUNELElBQUksQ0FRQSxLQUFLLENBQ0QsRUFBRSxDQUFBO0VBQ0UsS0FBSyxFQUFFLE9BQVE7Q0FDbEI7O0FBakJ6QixBQWtCd0IsaUJBbEJQLEFBRVosS0FBSyxDQUVGLFFBQVEsQ0FDSixLQUFLLENBQ0QsSUFBSSxDQVFBLEtBQUssQ0FJRCxRQUFRLENBQUE7RUFDSixVQUFVLEVBQUcsT0FBUTtDQUl4Qjs7QUF2QnpCLEFBa0J3QixpQkFsQlAsQUFFWixLQUFLLENBRUYsUUFBUSxDQUNKLEtBQUssQ0FDRCxJQUFJLENBUUEsS0FBSyxDQUlELFFBQVEsQUFFSCxNQUFNLENBQUE7RUFDUCxVQUFVLEVBQUMsT0FBUTtFRzlpQjNDLGFBQWEsRUg4aUJzRCxJQUFJO0VHN2lCdkUscUJBQXFCLEVINmlCOEMsSUFBSTtFRzVpQnZFLGtCQUFrQixFSDRpQmlELElBQUk7RUczaUJ2RSxpQkFBaUIsRUgyaUJrRCxJQUFJO0VHMWlCdkUsZ0JBQWdCLEVIMGlCbUQsSUFBSTtFQUFHLEtBQUssRUFBRSxJQUFLO0NBQzdEOztBQXRCN0IsQUE0QnVCLGlCQTVCTixBQUVaLEtBQUssQ0FFRixRQUFRLENBQ0osS0FBSyxBQXFCQSxJQUFJLENBQ0QsSUFBSSxDQUNELFFBQVEsQ0FBQTtFRzlpQjNCLFVBQVUsRUgraUI4QixHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsSUFBSTtFRzlpQi9ELGtCQUFrQixFSDhpQnNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHN2lCL0QsZUFBZSxFSDZpQnlCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHNWlCL0QsY0FBYyxFSDRpQjBCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHM2lCL0QsYUFBYSxFSDJpQjJCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0NBQzNDOztBQTlCeEIsQUFxQ1EsaUJBckNTLENBb0NiLFFBQVEsQ0FDSixLQUFLLENBQUE7RUFDRCxNQUFNLEVBQUUsT0FBUTtDQXNDbkI7O0FBNUVULEFBeUNtQixpQkF6Q0YsQ0FvQ2IsUUFBUSxDQUNKLEtBQUssQUFFQyxJQUFJLENBQ0YsSUFBSSxDQUNELFFBQVEsQ0FBQTtFRzNqQnZCLFVBQVUsRUg0akIwQixHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsSUFBSTtFRzNqQjNELGtCQUFrQixFSDJqQmtCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHMWpCM0QsZUFBZSxFSDBqQnFCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHempCM0QsY0FBYyxFSHlqQnNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VHeGpCM0QsYUFBYSxFSHdqQnVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0NBQzNDOztBQTNDcEIsQUE4Q1ksaUJBOUNLLENBb0NiLFFBQVEsQ0FDSixLQUFLLENBU0QsSUFBSSxDQUFBO0VBQ0EsS0FBSyxFQUFFLEdBQUk7RUFBRyxLQUFLLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBQyxNQUFPO0VHcGpCdkQsa0JBQWtCLEVIb2pCMEQsVUFBVTtFR25qQnRGLGVBQWUsRUhtakI2RCxVQUFVO0VHbGpCdEYsVUFBVSxFSGtqQmtFLFVBQVU7Q0E0QjdFOztBQTNFYixBQWdEZ0IsaUJBaERDLENBb0NiLFFBQVEsQ0FDSixLQUFLLENBU0QsSUFBSSxDQUVBLFFBQVEsQ0FBQTtFQUNKLE1BQU0sRUFBQyxpQkFBa0I7RUcxa0J6QyxhQUFhLEVIMGtCb0QsSUFBSTtFR3prQnJFLHFCQUFxQixFSHlrQjRDLElBQUk7RUd4a0JyRSxrQkFBa0IsRUh3a0IrQyxJQUFJO0VHdmtCckUsaUJBQWlCLEVIdWtCZ0QsSUFBSTtFR3RrQnJFLGdCQUFnQixFSHNrQmlELElBQUk7RUFBRyxPQUFPLEVBQUUsU0FBVTtDQUs5RTs7QUF0RGpCLEFBa0RvQixpQkFsREgsQ0FvQ2IsUUFBUSxDQUNKLEtBQUssQ0FTRCxJQUFJLENBRUEsUUFBUSxDQUVKLElBQUksQ0FBQTtFQUNBLEtBQUssRUFBRSxLQUFNO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FDOUI7O0FBcERyQixBQWdEZ0IsaUJBaERDLENBb0NiLFFBQVEsQ0FDSixLQUFLLENBU0QsSUFBSSxDQUVBLFFBQVEsQUFLSCxNQUFNLENBQUE7RUFBQyxPQUFPLEVBQUUsRUFBRztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEtBQU07Q0FBRzs7QUFyRDFFLEFBdURnQixpQkF2REMsQ0FvQ2IsUUFBUSxDQUNKLEtBQUssQ0FTRCxJQUFJLENBU0EsUUFBUSxDQUFBO0VBQ0osS0FBSyxFQUFFLEtBQU07RUFBRSxjQUFjLEVBQUUsU0FBVTtFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxNQUFPO0VBQ3BILE1BQU0sRUFBRSxJQUFLO0VHbGxCN0IsYUFBYSxFSGtsQndDLElBQUk7RUdqbEJ6RCxxQkFBcUIsRUhpbEJnQyxJQUFJO0VHaGxCekQsa0JBQWtCLEVIZ2xCbUMsSUFBSTtFRy9rQnpELGlCQUFpQixFSCtrQm9DLElBQUk7RUc5a0J6RCxnQkFBZ0IsRUg4a0JxQyxJQUFJO0VBQUcsT0FBTyxFQUFFLFlBQWE7RUFBRSxPQUFPLEVBQUUsR0FBSTtFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLEdBQUk7Q0FJM0g7O0FBN0RqQixBQXVEZ0IsaUJBdkRDLENBb0NiLFFBQVEsQ0FDSixLQUFLLENBU0QsSUFBSSxDQVNBLFFBQVEsQUFHRixNQUFNLENBQUE7RUFDSixVQUFVLEVBQUMsT0FBUTtFR3BsQnZDLGFBQWEsRUhvbEJrRCxJQUFJO0VHbmxCbkUscUJBQXFCLEVIbWxCMEMsSUFBSTtFR2xsQm5FLGtCQUFrQixFSGtsQjZDLElBQUk7RUdqbEJuRSxpQkFBaUIsRUhpbEI4QyxJQUFJO0VHaGxCbkUsZ0JBQWdCLEVIZ2xCK0MsSUFBSTtFQUFHLEtBQUssRUFBRSxJQUFLO0NBQ2pFOztBQTVEckIsQUE4RGdCLGlCQTlEQyxDQW9DYixRQUFRLENBQ0osS0FBSyxDQVNELElBQUksQ0FnQkEsS0FBSyxDQUFBO0VBQ0QsS0FBSyxFQUFFLEtBQU07RUFBRSxLQUFLLEVBQUUsS0FBTTtDQVUvQjs7QUF6RWpCLEFBZ0VvQixpQkFoRUgsQ0FvQ2IsUUFBUSxDQUNKLEtBQUssQ0FTRCxJQUFJLENBZ0JBLEtBQUssQ0FFRCxFQUFFLENBQUE7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUFFLGNBQWMsRUFBRSxTQUFVO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxLQUFLLEVBQUUsS0FBTTtFQUFFLGFBQWEsRUFBRSxJQUFLO0NBQ3JHOztBQWxFckIsQUE4RGdCLGlCQTlEQyxDQW9DYixRQUFRLENBQ0osS0FBSyxDQVNELElBQUksQ0FnQkEsS0FBSyxBQUtBLFdBQVcsQ0FBQTtFQUNSLFlBQVksRUFBQyxDQUFFO0NBQ2xCOztBQXJFckIsQUFzRW9CLGlCQXRFSCxDQW9DYixRQUFRLENBQ0osS0FBSyxDQVNELElBQUksQ0FnQkEsS0FBSyxDQVFELENBQUMsQ0FBQTtFQUNHLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxXQUFXLEVBQUUsR0FBSTtFQUFHLEtBQUssRUFBRSxLQUFNO0VBQUUsTUFBTSxFQUFFLFFBQVM7Q0FDMUY7O0FBUXJCLEFBQUEsT0FBTyxDQUFBO0VBQ0MsVUFBVSxFQUFFLE1BQU87Q0FtQmxCOztBQXBCVCxBQUdZLE9BSEwsQ0FHSyxXQUFXLENBQUE7RUFDUCxPQUFPLEVBQUUsU0FBVTtFQUFFLE1BQU0sRUFBRSxpQkFBa0I7RUFBRSxPQUFPLEVBQUUsWUFBYTtFQUFFLGFBQWEsRUFBRSxJQUFLO0VHN21CekcsYUFBYSxFSDZtQm9ILEdBQUc7RUc1bUJwSSxxQkFBcUIsRUg0bUI0RyxHQUFHO0VHM21CcEksa0JBQWtCLEVIMm1CK0csR0FBRztFRzFtQnBJLGlCQUFpQixFSDBtQmdILEdBQUc7RUd6bUJwSSxnQkFBZ0IsRUh5bUJpSCxHQUFHO0NBRzNIOztBQVBiLEFBS2dCLE9BTFQsQ0FHSyxXQUFXLENBRVAsR0FBRyxDQUFBO0VBQUMsS0FBSyxFQUFFLElBQUs7RUFBQyxPQUFPLEVBQUUsS0FBTTtFQUFFLE1BQU0sRUFBRSxJQUFLO0NBQUc7O0FBTGxFLEFBUVksT0FSTCxDQVFLLFdBQVcsQ0FBQTtFQUNQLE9BQU8sRUFBRSxLQUFNO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxTQUFVO0NBQzdEOztBQVZuQixBQVdZLE9BWEwsQ0FXSyxFQUFFLENBQUE7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsY0FBYyxFQUFFLFNBQVU7RUFBRSxVQUFVLEVBQUUsQ0FBRTtDQUNoRjs7QUFiYixBQWNZLE9BZEwsQ0FjSyxFQUFFLENBQUE7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsY0FBYyxFQUFFLFNBQVU7RUFBRSxhQUFhLEVBQUUsSUFBSztDQUN0Rjs7QUFoQmIsQUFpQlksT0FqQkwsQ0FpQkssQ0FBQyxDQUFBO0VBQ0csU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUFFLFdBQVcsRUFBRSxHQUFJO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSztDQUNoRzs7QUFFYixBQUFBLGdCQUFnQixDQUFBO0VBQ1IsVUFBVSxFQUFFLENBQUU7RUFBRSxRQUFRLEVBQUUsUUFBUztFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsV0FBVyxFQUFFLEtBQU07RUFBRSxjQUFjLEVBQUUsSUFBSztDQW1DNUc7O0FBcENELEFBRVEsZ0JBRlEsQ0FFUixVQUFVLENBQUE7RUFBQyxRQUFRLEVBQUUsUUFBUztFQUFFLEdBQUcsRUFBRSxHQUFJO0NBQUk7O0FBRnJELEFBS1ksZ0JBTEksQ0FHWixRQUFRLENBQ0osS0FBSyxDQUNELElBQUksQ0FBQTtFQUNBLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLEtBQUssRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLG1CQUFvQjtFR2puQnJELGtCQUFrQixFSGluQndELFVBQVU7RUdobkJwRixlQUFlLEVIZ25CMkQsVUFBVTtFRy9tQnBGLFVBQVUsRUgrbUJnRSxVQUFVO0VBQUcsT0FBTyxFQUFFLE1BQU87RUFDM0YsYUFBYSxFQUFFLElBQUs7RUc3b0JoQyxVQUFVLEVIOG9Cc0IsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHN29CbkQsa0JBQWtCLEVINm9CYyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RUc1b0JuRCxlQUFlLEVING9CaUIsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0VHM29CbkQsY0FBYyxFSDJvQmtCLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFRzFvQm5ELGFBQWEsRUgwb0JtQixHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q0F3QjFDOztBQWpDYixBQVVnQixnQkFWQSxDQUdaLFFBQVEsQ0FDSixLQUFLLENBQ0QsSUFBSSxDQUtBLFFBQVEsQ0FBQTtFQUNKLFVBQVUsRUFBRSxNQUFPO0NBRXRCOztBQWJqQixBQVVnQixnQkFWQSxDQUdaLFFBQVEsQ0FDSixLQUFLLENBQ0QsSUFBSSxDQUtBLFFBQVEsQUFFSCxNQUFNLENBQUE7RUFBQyxPQUFPLEVBQUMsRUFBRztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEtBQU07Q0FBRzs7QUFaekUsQUFlZ0IsZ0JBZkEsQ0FHWixRQUFRLENBQ0osS0FBSyxDQUNELElBQUksQ0FVQSxLQUFLLENBQUE7RUFDRyxLQUFLLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FRbkQ7O0FBeEJsQixBQWlCd0IsZ0JBakJSLENBR1osUUFBUSxDQUNKLEtBQUssQ0FDRCxJQUFJLENBVUEsS0FBSyxDQUVHLEVBQUUsQ0FBQTtFQUNFLFNBQVMsRUFBRSxJQUFLO0VBQUMsS0FBSyxFQUFFLE9BQVE7RUFBRSxhQUFhLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxNQUFPO0NBQzlFOztBQW5CekIsQUFvQndCLGdCQXBCUixDQUdaLFFBQVEsQ0FDSixLQUFLLENBQ0QsSUFBSSxDQVVBLEtBQUssQ0FLRyxDQUFDLENBQUE7RUFDRyxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsV0FBVyxFQUFFLEdBQUk7RUFBRSxNQUFNLEVBQUUsUUFBUztFQUFFLFdBQVcsRUFBRSxLQUFNO0VBQzVGLFVBQVUsRUFBQyxNQUFPO0NBQ3JCOztBQXZCekIsQUF5QmlCLGdCQXpCRCxDQUdaLFFBQVEsQ0FDSixLQUFLLENBQ0QsSUFBSSxDQW9CQyxJQUFJLENBQUE7RUFDRCxXQUFXLEVBQUUsQ0FBRTtDQUNsQjs7QUEzQmpCLEFBS1ksZ0JBTEksQ0FHWixRQUFRLENBQ0osS0FBSyxDQUNELElBQUksQUF3QkMsTUFBTSxDQUFDO0VBQ0osT0FBTyxFQUFFLEdBQUk7Q0FFaEI7O0FBT2pCLEFBQ0ksZUFEVyxDQUNYLFFBQVEsQ0FBQTtFQUFDLE9BQU8sRUFBRSxNQUFPO0VBQUUsUUFBUSxFQUFFLFFBQVM7Q0FBRzs7QUFEckQsQUFFSSxlQUZXLENBRVgsRUFBRSxDQUFDO0VBQ0MsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsY0FBYyxFQUFFLFNBQVU7RUFBRSxhQUFhLEVBQUUsSUFBSztDQUUxRzs7QUFMTCxBQUVJLGVBRlcsQ0FFWCxFQUFFLEFBRUcsUUFBUSxDQUFDO0VBQUMsS0FBSyxFQUFFLE9BQVE7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFHOztBQUp6RCxBQU1JLGVBTlcsQ0FNWCxFQUFFLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztFQUFFLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBTmpELEFBT0ksZUFQVyxDQU9YLENBQUMsQ0FBQztFQUNFLEtBQUssRUFBRSxPQUFRO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxVQUFXO0NBRTdFOztBQVZMLEFBT0ksZUFQVyxDQU9YLENBQUMsQUFFSSxNQUFNLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0NBQUc7O0FBVHhELEFBYUksZUFiVyxDQWFYLE1BQU0sQ0FBQztFQUNILFVBQVUsRUFBRSxNQUFPO0VBQUUsY0FBYyxFQUFFLElBQUs7Q0FHN0M7O0FBakJMLEFBZVEsZUFmTyxDQWFYLE1BQU0sQ0FFRixFQUFFLENBQUM7RUFBQyxhQUFhLEVBQUUsSUFBSztDQUFHOztBQWZuQyxBQWdCUSxlQWhCTyxDQWFYLE1BQU0sQ0FHRixDQUFDLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztDQUFHOztBQWhCOUIsQUFvQlEsZUFwQk8sQ0FtQlgsVUFBVSxDQUNOLEVBQUUsQ0FBQztFQUNDLFNBQVMsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLG1CQUFvQjtFQUFFLFVBQVUsRUFBRSxPQUFRO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFDbkYsWUFBWSxFQUFFLGlCQUFrQjtDQUduQzs7QUF6QlQsQUFvQlEsZUFwQk8sQ0FtQlgsVUFBVSxDQUNOLEVBQUUsQUFHRyxZQUFZLENBQUM7RUc1ckJ0QixhQUFhLEVINHJCZ0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFRzNyQnZELHFCQUFxQixFSDJyQndCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUcxckJ2RCxrQkFBa0IsRUgwckIyQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHenJCdkQsaUJBQWlCLEVIeXJCNEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFR3hyQnZELGdCQUFnQixFSHdyQjZCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FBSTs7QUF2Qi9ELEFBb0JRLGVBcEJPLENBbUJYLFVBQVUsQ0FDTixFQUFFLEFBSUcsV0FBVyxDQUFDO0VHN3JCckIsYUFBYSxFSDZyQitCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUc1ckJ0RCxxQkFBcUIsRUg0ckJ1QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHM3JCdEQsa0JBQWtCLEVIMnJCMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztFRzFyQnRELGlCQUFpQixFSDByQjJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUd6ckJ0RCxnQkFBZ0IsRUh5ckI0QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQUcsWUFBWSxFQUFFLENBQUU7Q0FBRzs7QUF4QmhGLEFBMEJRLGVBMUJPLENBbUJYLFVBQVUsQ0FPTixLQUFLLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztDQUFHOztBQTFCOUIsQUE0QlksZUE1QkcsQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FDRCxFQUFFLEFBQ0csVUFBVyxDQUFBLEFBQUEsR0FBRyxFQUFFO0VBQUMsVUFBVSxFQUFFLElBQUs7Q0FBRzs7QUE3QnRELEFBNEJZLGVBNUJHLENBbUJYLFVBQVUsQ0FRTixLQUFLLENBQ0QsRUFBRSxBQUVHLFVBQVcsQ0FBQSxBQUFBLElBQUksRUFBRTtFQUFDLFVBQVUsRUFBRSxPQUFRO0NBQUc7O0FBOUIxRCxBQWdDb0IsZUFoQ0wsQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FDRCxFQUFFLEFBR0csV0FBVyxDQUNSLEVBQUUsQUFDRSxZQUFZLENBQUM7RUd0c0JqQyxhQUFhLEVIc3NCMkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtFR3JzQmxFLHFCQUFxQixFSHFzQm1DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7RUdwc0JsRSxrQkFBa0IsRUhvc0JzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0VHbnNCbEUsaUJBQWlCLEVIbXNCdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtFR2xzQmxFLGdCQUFnQixFSGtzQndDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Q0FBSTs7QUFqQzFFLEFBZ0NvQixlQWhDTCxDQW1CWCxVQUFVLENBUU4sS0FBSyxDQUNELEVBQUUsQUFHRyxXQUFXLENBQ1IsRUFBRSxBQUVFLFdBQVcsQ0FBQztFR3ZzQmhDLGFBQWEsRUh1c0IwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VHdHNCakUscUJBQXFCLEVIc3NCa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFR3JzQmpFLGtCQUFrQixFSHFzQnFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7RUdwc0JqRSxpQkFBaUIsRUhvc0JzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VHbnNCakUsZ0JBQWdCLEVIbXNCdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUFJOztBQWxDekUsQUFzQ1ksZUF0Q0csQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FXRCxFQUFFLENBQUM7RUFDQyxPQUFPLEVBQUUsSUFBSztFQUFFLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFDakQsWUFBWSxFQUFFLGlCQUFrQjtDQWVuQzs7QUF2RGIsQUFzQ1ksZUF0Q0csQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FXRCxFQUFFLEFBR0csWUFBWSxDQUFDO0VBQUMsS0FBSyxFQUFDLElBQUs7Q0FBRzs7QUF6QzdDLEFBc0NZLGVBdENHLENBbUJYLFVBQVUsQ0FRTixLQUFLLENBV0QsRUFBRSxBQUlHLFdBQVcsQ0FBQztFQUFDLFlBQVksRUFBRSxDQUFFO0NBQUc7O0FBMUNqRCxBQTJDZ0IsZUEzQ0QsQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FXRCxFQUFFLENBS0UsQ0FBQyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUc7O0FBM0MzRSxBQTZDb0IsZUE3Q0wsQ0FtQlgsVUFBVSxDQVFOLEtBQUssQ0FXRCxFQUFFLENBTUUsRUFBRSxDQUNFLEVBQUUsQ0FBQztFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQUUsT0FBTyxFQUFFLGFBQWM7RUFBRSxXQUFXLEVBQUUsSUFBSztDQU1uRTs7QUFwRHJCLEFBNkNvQixlQTdDTCxDQW1CWCxVQUFVLENBUU4sS0FBSyxDQVdELEVBQUUsQ0FNRSxFQUFFLENBQ0UsRUFBRSxBQUVHLE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQzdELElBQUksRUFBRSxDQUFFO0VBQUUsR0FBRyxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsT0FBUTtFR3R0QmpFLGFBQWEsRUh1dEJpQyxHQUFHO0VHdHRCakQscUJBQXFCLEVIc3RCeUIsR0FBRztFR3J0QmpELGtCQUFrQixFSHF0QjRCLEdBQUc7RUdwdEJqRCxpQkFBaUIsRUhvdEI2QixHQUFHO0VHbnRCakQsZ0JBQWdCLEVIbXRCOEIsR0FBRztDQUM1Qjs7QUFuRHpCLEFBc0RnQixlQXRERCxDQW1CWCxVQUFVLENBUU4sS0FBSyxDQVdELEVBQUUsQ0FnQkUsTUFBTSxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7Q0FBRzs7QUF0RDNDLEFBMkRnQixlQTNERCxDQW1CWCxVQUFVLEFBc0NMLEdBQUcsQ0FDQSxLQUFLLENBQ0QsRUFBRSxBQUNHLFVBQVcsQ0FBQSxBQUFBLEdBQUcsRUFBRTtFQUFDLFVBQVUsRUFBRSxJQUFLO0NBQUc7O0FBNUQxRCxBQTJEZ0IsZUEzREQsQ0FtQlgsVUFBVSxBQXNDTCxHQUFHLENBQ0EsS0FBSyxDQUNELEVBQUUsQUFFRyxVQUFXLENBQUEsQUFBQSxJQUFJLEVBQUU7RUFBQyxVQUFVLEVBQUUsT0FBUTtDQUFHOztBQTdEOUQsQUErRGdCLGVBL0RELENBbUJYLFVBQVUsQUFzQ0wsR0FBRyxDQUNBLEtBQUssQ0FLRCxFQUFFLENBQUM7RUFDQyxLQUFLLEVBQUUsT0FBUTtFQUFFLFNBQVMsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLFNBQVU7RUFDdEQsWUFBWSxFQUFFLGlCQUFrQjtFQUNoQyxhQUFhLEVBQUUsaUJBQWtCO0NBQ3BDOztBQW5FakIsQUF3RVksZUF4RUcsQ0FtQlgsVUFBVSxBQW9ETCxLQUFLLENBQ0YsRUFBRSxBQUNHLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtFQUFDLEtBQUssRUFBRSxHQUFJO0NBQUc7O0FBekU5QyxBQXdFWSxlQXhFRyxDQW1CWCxVQUFVLEFBb0RMLEtBQUssQ0FDRixFQUFFLEFBRUcsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQUMsS0FBSyxFQUFFLEdBQUk7Q0FBRzs7QUExRTlDLEFBd0VZLGVBeEVHLENBbUJYLFVBQVUsQUFvREwsS0FBSyxDQUNGLEVBQUUsQUFHRyxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFBQyxLQUFLLEVBQUUsR0FBSTtDQUFHOztBQTNFOUMsQUFrRlEsZUFsRk8sQ0FpRlgsT0FBTyxDQUNILElBQUksQ0FBQztFQUNELEtBQUssRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsTUFBTztFR3B1Qm5ELGtCQUFrQixFSHF1QlMsVUFBVTtFR3B1QnJDLGVBQWUsRUhvdUJZLFVBQVU7RUdudUJyQyxVQUFVLEVIbXVCaUIsVUFBVTtDQWNoQzs7QUFsR1QsQUFxRlksZUFyRkcsQ0FpRlgsT0FBTyxDQUNILElBQUksQ0FHQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsaUJBQWtCO0VBQUUsT0FBTyxFQUFFLFNBQVU7RUFDL0MsVUFBVSxFQUFFLE1BQU87RUc1dkIvQixhQUFhLEVIb3dCcUIsSUFBSTtFR253QnRDLHFCQUFxQixFSG13QmEsSUFBSTtFR2x3QnRDLGtCQUFrQixFSGt3QmdCLElBQUk7RUdqd0J0QyxpQkFBaUIsRUhpd0JpQixJQUFJO0VHaHdCdEMsZ0JBQWdCLEVIZ3dCa0IsSUFBSTtFRzd2QnRDLFVBQVUsRUg4dkJxQixHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsSUFBSTtFRzd2QnRELGtCQUFrQixFSDZ2QmEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsS0FBSSxDQUFDLElBQUk7RUc1dkJ0RCxlQUFlLEVINHZCZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsS0FBSSxDQUFDLElBQUk7RUczdkJ0RCxjQUFjLEVIMnZCaUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsS0FBSSxDQUFDLElBQUk7RUcxdkJ0RCxhQUFhLEVIMHZCa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsS0FBSSxDQUFDLElBQUk7Q0FDN0M7O0FBakdiLEFBd0ZnQixlQXhGRCxDQWlGWCxPQUFPLENBQ0gsSUFBSSxDQUdBLElBQUksQ0FHQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsS0FBTTtFQUFFLGFBQWEsRUFBRSxJQUFLO0VBQUUsUUFBUSxFQUFFLFFBQVM7Q0FLNUQ7O0FBOUZqQixBQTBGb0IsZUExRkwsQ0FpRlgsT0FBTyxDQUNILElBQUksQ0FHQSxJQUFJLENBR0EsSUFBSSxDQUVBLEdBQUcsQ0FBQztFQUNBLFFBQVEsRUFBRSxRQUFTO0VBQUUsR0FBRyxFQUFFLEdBQUk7RUFBRSxHQUFHLEVBQUUsR0FBSTtFR3R1QjdELGlCQUFpQixFSHV1QnNCLHFCQUFTO0VHdHVCaEQsY0FBYyxFSHN1QnlCLHFCQUFTO0VHcnVCaEQsU0FBUyxFSHF1QjhCLHFCQUFTO0NBQy9COztBQTdGckIsQUFxR0ksZUFyR1csQ0FxR1gsWUFBWSxDQUFDO0VBQ1QsTUFBTSxFQUFFLElBQUs7Q0FtSWhCOztBQXpPTCxBQXVHUSxlQXZHTyxDQXFHWCxZQUFZLENBRVIsUUFBUSxDQUFDO0VBQUMsT0FBTyxFQUFFLE1BQU87RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0NBQUc7O0FBdkd6RSxBQXdHUSxlQXhHTyxDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQVE7Q0E4RHZCOztBQXZLVCxBQXdHUSxlQXhHTyxDQXFHWCxZQUFZLENBR1IsSUFBSSxBQUVDLFVBQVcsQ0FBQSxBQUFBLEdBQUcsRUFBRTtFQUFDLFVBQVUsRUFBRSxPQUFRO0NBQUc7O0FBMUdyRCxBQXdHUSxlQXhHTyxDQXFHWCxZQUFZLENBR1IsSUFBSSxBQUdDLFVBQVcsQ0FBQSxBQUFBLElBQUksRUFBRTtFQUFDLFVBQVUsRUFBRSxJQUFLO0NBQUc7O0FBM0duRCxBQTRHWSxlQTVHRyxDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUlBLElBQUksQ0FBQztFQUNELEtBQUssRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsVUFBVztFQUFFLFFBQVEsRUFBRSxRQUFTO0VHOXZCaEYsa0JBQWtCLEVIK3ZCYSxVQUFVO0VHOXZCekMsZUFBZSxFSDh2QmdCLFVBQVU7RUc3dkJ6QyxVQUFVLEVINnZCcUIsVUFBVTtDQWdDaEM7O0FBOUliLEFBNEdZLGVBNUdHLENBcUdYLFlBQVksQ0FHUixJQUFJLENBSUEsSUFBSSxBQUdDLFdBQVcsQ0FBQztFQUFDLGFBQWEsRUFBQyxDQUFFO0VBQUUsWUFBWSxFQUFFLElBQUs7Q0FBRzs7QUEvR3RFLEFBNEdZLGVBNUdHLENBcUdYLFlBQVksQ0FHUixJQUFJLENBSUEsSUFBSSxBQUlDLElBQUksQ0FBQztFQUNGLFVBQVUsRUFBRSxLQUFNO0VBQUUsVUFBVSxFQUFFLEtBQU07Q0FJekM7O0FBckhqQixBQWtIb0IsZUFsSEwsQ0FxR1gsWUFBWSxDQUdSLElBQUksQ0FJQSxJQUFJLEFBSUMsSUFBSSxDQUVELEdBQUcsQ0FBQztFQUNBLFFBQVEsRUFBRSxRQUFTO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLFNBQVMsRUFBRSxJQUFLO0NBQy9EOztBQXBIckIsQUE0R1ksZUE1R0csQ0FxR1gsWUFBWSxDQUdSLElBQUksQ0FJQSxJQUFJLEFBVUMsS0FBSyxDQUFDO0VBQ0gsS0FBSyxFQUFFLEtBQU07RUFDYixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxHQUFJO0VHcndCekIsaUJBQWlCLEVIc3dCa0IsZ0JBQVU7RUdyd0I3QyxjQUFjLEVIcXdCcUIsZ0JBQVU7RUdwd0I3QyxTQUFTLEVIb3dCMEIsZ0JBQVU7Q0FpQmhDOztBQTVJakIsQUE2SG9CLGVBN0hMLENBcUdYLFlBQVksQ0FHUixJQUFJLENBSUEsSUFBSSxBQVVDLEtBQUssQ0FPRixPQUFPLENBQUM7RUFDSixXQUFXLEVBQUUsSUFBSztDQVlyQjs7QUExSXJCLEFBK0h3QixlQS9IVCxDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUlBLElBQUksQUFVQyxLQUFLLENBT0YsT0FBTyxDQUVILEdBQUcsQ0FBQztFQUNBLE9BQU8sRUFBRSxZQUFhO0VBQUUsS0FBSyxFQUFFLEtBQU07RUFBRSxPQUFPLEVBQUUsVUFBVztFQUFFLGNBQWMsRUFBRSxHQUFJO0VHanhCekcsa0JBQWtCLEVIb3hCeUIsVUFBVTtFR254QnJELGVBQWUsRUhteEI0QixVQUFVO0VHbHhCckQsVUFBVSxFSGt4QmlDLFVBQVU7Q0FFaEM7O0FBckl6QixBQWlJNEIsZUFqSWIsQ0FxR1gsWUFBWSxDQUdSLElBQUksQ0FJQSxJQUFJLEFBVUMsS0FBSyxDQU9GLE9BQU8sQ0FFSCxHQUFHLENBRUMsRUFBRSxDQUFDO0VBQUMsS0FBSyxFQUFFLE9BQVE7Q0FBRzs7QUFqSWxELEFBa0k0QixlQWxJYixDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUlBLElBQUksQUFVQyxLQUFLLENBT0YsT0FBTyxDQUVILEdBQUcsQ0FHQyxDQUFDLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FBRzs7QUFsSXBGLEFBK0h3QixlQS9IVCxDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUlBLElBQUksQUFVQyxLQUFLLENBT0YsT0FBTyxDQUVILEdBQUcsQUFLRSxXQUFXLENBQUM7RUFBQyxZQUFZLEVBQUUsQ0FBRTtFQUFFLGFBQWEsRUFBRSxDQUFFO0NBQUc7O0FBcEloRixBQXNJeUIsZUF0SVYsQ0FxR1gsWUFBWSxDQUdSLElBQUksQ0FJQSxJQUFJLEFBVUMsS0FBSyxDQU9GLE9BQU8sQ0FTSCxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQ04sT0FBTyxFQUFFLFlBQWE7RUFBRSxZQUFZLEVBQUUsSUFBSztDQUM5Qzs7QUF4SXpCLEFBNklnQixlQTdJRCxDQXFHWCxZQUFZLENBR1IsSUFBSSxDQUlBLElBQUksQ0FpQ0EsTUFBTSxDQUFDO0VBQUMsS0FBSyxFQUFFLGVBQWdCO0VBQUUsTUFBTSxFQUFFLGdCQUFpQjtDQUFHOztBQTdJN0UsQUFpSmdCLGVBakpELENBcUdYLFlBQVksQ0FHUixJQUFJLEFBd0NDLFFBQVEsQ0FDTCxJQUFJLEFBQ0MsSUFBSSxDQUFDO0VBQ0YsS0FBSyxFQUFFLEtBQU07RUFBRSxPQUFPLEVBQUUsT0FBUTtDQU1uQzs7QUF6SnJCLEFBb0p3QixlQXBKVCxDQXFHWCxZQUFZLENBR1IsSUFBSSxBQXdDQyxRQUFRLENBQ0wsSUFBSSxBQUNDLElBQUksQ0FFRCxHQUFHLENBQUM7RUFDQSxrQkFBa0I7RUFDbEIsSUFBSSxFQUFFLEtBQU07RUFDWixLQUFLLEVBQUUsQ0FBRTtDQUNaOztBQXhKekIsQUFpSmdCLGVBakpELENBcUdYLFlBQVksQ0FHUixJQUFJLEFBd0NDLFFBQVEsQ0FDTCxJQUFJLEFBU0MsS0FBSyxDQUFDO0VBQUMsS0FBSyxFQUFFLElBQUs7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxVQUFXO0VBQUUsMkJBQTJCO0NBQUU7O0FBMUp2RyxBQThKZ0IsZUE5SkQsQ0FxR1gsWUFBWSxDQUdSLElBQUksQUFxREMsV0FBVyxDQUNSLElBQUksQUFDQyxLQUFLLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxFQUFHO0VHN3lCNUIsaUJBQWlCLEVIOHlCc0IsY0FBVTtFRzd5QmpELGNBQWMsRUg2eUJ5QixjQUFVO0VHNXlCakQsU0FBUyxFSDR5QjhCLGNBQVU7Q0FDaEM7O0FBcEtyQixBQXFHSSxlQXJHVyxDQXFHWCxZQUFZLEFBb0VQLFVBQVUsQ0FBQztFQUNSLFVBQVUsRUFBRSxPQUFRO0NBcUJ2Qjs7QUEvTFQsQUEyS1ksZUEzS0csQ0FxR1gsWUFBWSxBQW9FUCxVQUFVLENBRVAsSUFBSSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQVE7Q0FrQnZCOztBQTlMYixBQThLb0IsZUE5S0wsQ0FxR1gsWUFBWSxBQW9FUCxVQUFVLENBRVAsSUFBSSxDQUVBLElBQUksQ0FDQSxFQUFFLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztDQUFHOztBQTlLdkMsQUErS29CLGVBL0tMLENBcUdYLFlBQVksQUFvRVAsVUFBVSxDQUVQLElBQUksQ0FFQSxJQUFJLENBRUEsQ0FBQyxDQUFDO0VBQUMsS0FBSyxFQUFFLElBQUs7Q0FBRzs7QUEvS3RDLEFBNktnQixlQTdLRCxDQXFHWCxZQUFZLEFBb0VQLFVBQVUsQ0FFUCxJQUFJLENBRUEsSUFBSSxBQUdDLElBQUksQ0FBQztFQUNGLFVBQVUsRUFBRSxLQUFNO0VBQUUsVUFBVSxFQUFFLEtBQU07Q0FFekM7O0FBbkxyQixBQWtMd0IsZUFsTFQsQ0FxR1gsWUFBWSxBQW9FUCxVQUFVLENBRVAsSUFBSSxDQUVBLElBQUksQUFHQyxJQUFJLENBRUQsR0FBRyxDQUFDO0VBQUMsSUFBSSxFQUFFLENBQUU7Q0FBRzs7QUFsTHhDLEFBdUxnQyxlQXZMakIsQ0FxR1gsWUFBWSxBQW9FUCxVQUFVLENBRVAsSUFBSSxDQUVBLElBQUksQUFPQyxLQUFLLENBQ0YsT0FBTyxDQUNILEdBQUcsQ0FDQyxFQUFFLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztDQUFHOztBQXZMbkQsQUF3TGdDLGVBeExqQixDQXFHWCxZQUFZLEFBb0VQLFVBQVUsQ0FFUCxJQUFJLENBRUEsSUFBSSxBQU9DLEtBQUssQ0FDRixPQUFPLENBQ0gsR0FBRyxDQUVDLENBQUMsQ0FBQztFQUFDLEtBQUssRUFBRSxJQUFLO0NBQUc7O0FBeExsRCxBQWtNWSxlQWxNRyxDQXFHWCxZQUFZLEFBNEZQLFdBQVcsQ0FDUixJQUFJLEFBQ0MsVUFBVyxDQUFBLEFBQUEsR0FBRyxFQUFFO0VBQUMsVUFBVSxFQUFFLElBQUs7Q0FBRTs7QUFuTXJELEFBa01ZLGVBbE1HLENBcUdYLFlBQVksQUE0RlAsV0FBVyxDQUNSLElBQUksQUFFQyxVQUFXLENBQUEsQUFBQSxJQUFJLEVBQUU7RUFBQyxVQUFVLEVBQUUsT0FBUTtDQUFHOztBQXBNMUQsQUFxR0ksZUFyR1csQ0FxR1gsWUFBWSxBQW9HUCxVQUFVLENBQUM7RUFDUiwyQkFBMkI7RUFDM0IsY0FBYyxFQUFFLEdBQUk7Q0EwQnZCOztBQXJPVCxBQTRNWSxlQTVNRyxDQXFHWCxZQUFZLEFBb0dQLFVBQVUsQ0FHUCxXQUFXLENBQUM7RUFDUixVQUFVLEVBQUUsTUFBTztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUNoRSxtQkFBbUI7RUFDbkIsTUFBTSxFQUFFLElBQUs7Q0FhaEI7O0FBNU5iLEFBZ05nQixlQWhORCxDQXFHWCxZQUFZLEFBb0dQLFVBQVUsQ0FHUCxXQUFXLENBSVAsRUFBRSxDQUFDO0VBQ0MsT0FBTyxFQUFFLFlBQWE7RUFBRSxLQUFLLEVBQUUsR0FBSTtFQUFFLE1BQU0sRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFFLEtBQU07RUFDakUsTUFBTSxFQUFDLGlCQUFrQjtFR24yQnpDLGtCQUFrQixFSG8yQmlCLFVBQVU7RUduMkI3QyxlQUFlLEVIbTJCb0IsVUFBVTtFR2wyQjdDLFVBQVUsRUhrMkJ5QixVQUFVO0VHeDNCN0MsYUFBYSxFSHkzQnlCLEdBQUc7RUd4M0J6QyxxQkFBcUIsRUh3M0JpQixHQUFHO0VHdjNCekMsa0JBQWtCLEVIdTNCb0IsR0FBRztFR3QzQnpDLGlCQUFpQixFSHMzQnFCLEdBQUc7RUdyM0J6QyxnQkFBZ0IsRUhxM0JzQixHQUFHO0NBTzVCOztBQTNOakIsQUFxTm9CLGVBck5MLENBcUdYLFlBQVksQUFvR1AsVUFBVSxDQUdQLFdBQVcsQ0FJUCxFQUFFLENBS0UsTUFBTSxDQUFDO0VBQ0gsT0FBTyxFQUFFLENBQUU7RUFBRSxNQUFNLEVBQUMsQ0FBRTtFQUFFLFdBQVcsRUFBRSxTQUFVO0NBQ2xEOztBQXZOckIsQUFnTmdCLGVBaE5ELENBcUdYLFlBQVksQUFvR1AsVUFBVSxDQUdQLFdBQVcsQ0FJUCxFQUFFLEFBUUcsYUFBYSxDQUFDO0VBQ1gsWUFBWSxFQUFDLE9BQVE7RUFBRSxVQUFVLEVBQUMsT0FBUTtDQUM3Qzs7QUExTnJCLEFBOE5nQixlQTlORCxDQXFHWCxZQUFZLEFBb0dQLFVBQVUsQ0FvQlAsSUFBSSxDQUNBLElBQUksQUFDQyxJQUFJLENBQUM7RUFDRixVQUFVLEVBQUUsTUFBTztDQUV0Qjs7QUFsT3JCLEFBaU93QixlQWpPVCxDQXFHWCxZQUFZLEFBb0dQLFVBQVUsQ0FvQlAsSUFBSSxDQUNBLElBQUksQUFDQyxJQUFJLENBRUQsR0FBRyxDQUFDO0VBQUMsT0FBTyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUUsSUFBSztDQUFHOztBQWpPOUQsQUEyT0ksZUEzT1csQ0EyT1gsaUJBQWlCLENBQUM7RUFDZCxNQUFNLEVBQUUsS0FBTTtFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFDLElBQUs7RUFBRSxTQUFTLEVBQUMsSUFBSztFQUMvRCxlQUFlLEVBQUUsZ0JBQWlCO0NBcUNyQzs7QUFsUkwsQUE4T1EsZUE5T08sQ0EyT1gsaUJBQWlCLENBR2IsUUFBUSxDQUFDO0VBQUMsT0FBTyxFQUFFLGtCQUFtQjtFRy8zQjFDLGtCQUFrQixFSCszQjZDLFVBQVU7RUc5M0J6RSxlQUFlLEVIODNCZ0QsVUFBVTtFRzczQnpFLFVBQVUsRUg2M0JxRCxVQUFVO0VBQUcsVUFBVSxFQUFFLE1BQU87Q0FBRzs7QUE5T3RHLEFBK09RLGVBL09PLENBMk9YLGlCQUFpQixDQUliLEdBQUcsQ0FBQztFQUFDLE9BQU8sRUFBQyxjQUFlO0NBQUc7O0FBL092QyxBQWlQUSxlQWpQTyxDQTJPWCxpQkFBaUIsQ0FNYixNQUFNLENBQUM7RUFBQyxhQUFhLEVBQUUsSUFBSztDQUFHOztBQWpQdkMsQUFvUFksZUFwUEcsQ0EyT1gsaUJBQWlCLENBUWIsUUFBUSxDQUNKLEdBQUcsQ0FBQztFQUNBLE9BQU8sRUFBRSxZQUFhO0VBQUUsY0FBYyxFQUFFLEdBQUk7Q0FxQi9DOztBQTFRYixBQW9QWSxlQXBQRyxDQTJPWCxpQkFBaUIsQ0FRYixRQUFRLENBQ0osR0FBRyxBQUVFLGNBQWMsQ0FBQztFQUNaLEtBQUssRUFBRSxLQUFNO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBQyxjQUFlO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUd4NEI3RyxrQkFBa0IsRUh5NEJpQixVQUFVO0VHeDRCN0MsZUFBZSxFSHc0Qm9CLFVBQVU7RUd2NEI3QyxVQUFVLEVIdTRCeUIsVUFBVTtFRzc1QjdDLGFBQWEsRUg4NUJ5QixJQUFJO0VHNzVCMUMscUJBQXFCLEVINjVCaUIsSUFBSTtFRzU1QjFDLGtCQUFrQixFSDQ1Qm9CLElBQUk7RUczNUIxQyxpQkFBaUIsRUgyNUJxQixJQUFJO0VHMTVCMUMsZ0JBQWdCLEVIMDVCc0IsSUFBSTtDQWE3Qjs7QUF0UWpCLEFBb1BZLGVBcFBHLENBMk9YLGlCQUFpQixDQVFiLFFBQVEsQ0FDSixHQUFHLEFBRUUsY0FBYyxBQUlWLE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsR0FBSTtFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxHQUFHLEVBQUUsR0FBSTtFQUNyRixVQUFVLEVBQUUsMkNBQUcsQ0FBeUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3JFLE9BQU8sRUFBRSxDQUFFO0VHeDRCL0IsaUJBQWlCLEVIeTRCc0IsZ0JBQVU7RUd4NEJqRCxjQUFjLEVIdzRCeUIsZ0JBQVU7RUd2NEJqRCxTQUFTLEVIdTRCOEIsZ0JBQVU7Q0FDaEM7O0FBL1ByQixBQWdRb0IsZUFoUUwsQ0EyT1gsaUJBQWlCLENBUWIsUUFBUSxDQUNKLEdBQUcsQUFFRSxjQUFjLENBVVgsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsYUFBYztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFDLENBQUU7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQ25HLE1BQU0sRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxHQUFHLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxNQUFNLEVBQUUsT0FBUTtFQUMzRixPQUFPLEVBQUUsQ0FBRTtFR3A1Qi9CLGtCQUFrQixFSHE1QnFCLFVBQVU7RUdwNUJqRCxlQUFlLEVIbzVCd0IsVUFBVTtFR241QmpELFVBQVUsRUhtNUI2QixVQUFVO0NBQ2hDOztBQXJRckIsQUFvUFksZUFwUEcsQ0EyT1gsaUJBQWlCLENBUWIsUUFBUSxDQUNKLEdBQUcsQUFtQkUsU0FBUyxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUNwQzs7QUF6UWpCLEFBMk9JLGVBM09XLENBMk9YLGlCQUFpQixBQWlDWixHQUFHLENBQUM7RUFDRCxNQUFNLEVBQUUsS0FBTTtDQUdqQjs7QUFoUlQsQUE4UVksZUE5UUcsQ0EyT1gsaUJBQWlCLEFBaUNaLEdBQUcsQ0FFQSxRQUFRLENBQUM7RUFBQyxXQUFXLEVBQUUsS0FBTTtDQUFHOztBQTlRNUMsQUErUWEsZUEvUUUsQ0EyT1gsaUJBQWlCLEFBaUNaLEdBQUcsQ0FHQSxDQUFDLEFBQUEsU0FBUyxDQUFDO0VBQUMsTUFBTSxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFHOztBQS9RNUQsQUFvUkksZUFwUlcsQ0FvUlgsUUFBUSxDQUFDO0VBQ0wsVUFBVSxFQUFFLE9BQVE7Q0EwSnZCOztBQS9hTCxBQXNSUSxlQXRSTyxDQW9SWCxRQUFRLENBRUosRUFBRSxDQUFDO0VBQUMsVUFBVSxFQUFFLE1BQU87RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQXRSeEQsQUF1UlEsZUF2Uk8sQ0FvUlgsUUFBUSxDQUdKLFFBQVEsQ0FBQztFQUFDLE9BQU8sRUFBRSxPQUFRO0NBQUc7O0FBdlJ0QyxBQXdSUSxlQXhSTyxDQW9SWCxRQUFRLENBSUosSUFBSSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE1BQU87Q0FhdEI7O0FBdFNULEFBMFJZLGVBMVJHLENBb1JYLFFBQVEsQ0FJSixJQUFJLENBRUEsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsR0FBSTtFQUFFLE9BQU8sRUFBRSxNQUFPO0VBQUUsTUFBTSxFQUFFLFVBQVc7RUFBRSxPQUFPLEVBQUUsWUFBYTtFQUN4RixjQUFjLEVBQUUsR0FBSTtFRzc2QmhDLGtCQUFrQixFSDg2QmEsVUFBVTtFRzc2QnpDLGVBQWUsRUg2NkJnQixVQUFVO0VHNTZCekMsVUFBVSxFSDQ2QnFCLFVBQVU7Q0FRaEM7O0FBclNiLEFBOFJnQixlQTlSRCxDQW9SWCxRQUFRLENBSUosSUFBSSxDQUVBLElBQUksQ0FJQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsTUFBTztDQUloRjs7QUFuU2pCLEFBZ1NvQixlQWhTTCxDQW9SWCxRQUFRLENBSUosSUFBSSxDQUVBLElBQUksQ0FJQSxJQUFJLENBRUEsR0FBRyxDQUFDO0VBQ0EsUUFBUSxFQUFFLFFBQVM7RUFBRSxJQUFJLEVBQUUsR0FBSTtFQUFFLEdBQUcsRUFBRSxHQUFJO0VHNTZCOUQsaUJBQWlCLEVINDZCa0UscUJBQVM7RUczNkI1RixjQUFjLEVIMjZCcUUscUJBQVM7RUcxNkI1RixTQUFTLEVIMDZCMEUscUJBQVM7Q0FDM0U7O0FBbFNyQixBQW9TZ0IsZUFwU0QsQ0FvUlgsUUFBUSxDQUlKLElBQUksQ0FFQSxJQUFJLENBVUEsS0FBSyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0NBQUc7O0FBcFM1RSxBQXdTWSxlQXhTRyxDQW9SWCxRQUFRLEFBbUJILEdBQUcsQ0FDQSxLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsVUFBVztFQUFFLFVBQVUsRUFBRSxNQUFPO0NBRTVDOztBQTNTYixBQTBTZ0IsZUExU0QsQ0FvUlgsUUFBUSxBQW1CSCxHQUFHLENBQ0EsS0FBSyxDQUVELENBQUMsQ0FBQztFQUFDLFNBQVMsRUFBRSxJQUFLO0NBQUc7O0FBMVN0QyxBQTRTWSxlQTVTRyxDQW9SWCxRQUFRLEFBbUJILEdBQUcsQ0FLQSxFQUFFLENBQUM7RUFBQyxhQUFhLEVBQUUsSUFBSztDQUFHOztBQTVTdkMsQUE2U1ksZUE3U0csQ0FvUlgsUUFBUSxBQW1CSCxHQUFHLENBTUEsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtDQUFHOztBQTdTcEQsQUErU2dCLGVBL1NELENBb1JYLFFBQVEsQUFtQkgsR0FBRyxDQU9BLElBQUksQ0FDQSxJQUFJLENBQUM7RUFDRCxVQUFVLEVBQUUsTUFBTztFQUFFLE9BQU8sRUFBRSxNQUFPO0NBR3hDOztBQW5UakIsQUFpVG9CLGVBalRMLENBb1JYLFFBQVEsQUFtQkgsR0FBRyxDQU9BLElBQUksQ0FDQSxJQUFJLENBRUEsSUFBSSxDQUFDO0VBQUMsTUFBTSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQWpUakUsQUFrVG9CLGVBbFRMLENBb1JYLFFBQVEsQUFtQkgsR0FBRyxDQU9BLElBQUksQ0FDQSxJQUFJLENBR0EsS0FBSyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUc7O0FBbFRuRixBQXVUWSxlQXZURyxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FDQSxRQUFRLENBQUM7RUFBQyxXQUFXLEVBQUUsSUFBSztFQUFFLGNBQWMsRUFBRSxJQUFLO0NBQUc7O0FBdlRsRSxBQXdUWSxlQXhURyxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBQUM7RUFDRCxVQUFVLEVBQUUsSUFBSztDQTBCcEI7O0FBblZiLEFBMFRnQixlQTFURCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsVUFBVSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztDQXVCaEc7O0FBbFZqQixBQTRUb0IsZUE1VEwsQ0FvUlgsUUFBUSxBQWtDSCxHQUFHLENBRUEsSUFBSSxDQUVBLElBQUksQ0FFQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUNwRSxRQUFRLEVBQUUsUUFBUztFQUFFLEdBQUcsRUFBRSxDQUFFO0VBQUUsSUFBSSxFQUFFLElBQUs7Q0FJNUM7O0FBbFVyQixBQStUd0IsZUEvVFQsQ0FvUlgsUUFBUSxBQWtDSCxHQUFHLENBRUEsSUFBSSxDQUVBLElBQUksQ0FFQSxJQUFJLENBR0EsR0FBRyxDQUFDO0VBQ0EsTUFBTSxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUM5Qjs7QUFqVXpCLEFBbVVvQixlQW5VTCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxDQVNBLEVBQUUsQ0FBQztFQUFDLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUc7O0FBblV4RyxBQW9Vb0IsZUFwVUwsQ0FvUlgsUUFBUSxBQWtDSCxHQUFHLENBRUEsSUFBSSxDQUVBLElBQUksQ0FVQSxLQUFLLENBQUM7RUFDRixZQUFZLEVBQUUsS0FBTTtFQUFFLGFBQWEsRUFBRSxJQUFLO0VBQzFDLFNBQVMsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUNyRDs7QUF2VXJCLEFBMFRnQixlQTFURCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxBQWNDLFVBQVcsQ0FBQSxJQUFJLEVBQUU7RUFDZCxZQUFZLEVBQUUsSUFBSztDQVF0Qjs7QUFqVnJCLEFBMFV3QixlQTFVVCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxBQWNDLFVBQVcsQ0FBQSxJQUFJLEVBRVosSUFBSSxDQUFDO0VBQ0QsSUFBSSxFQUFFLElBQUs7Q0FHZDs7QUE5VXpCLEFBK1V3QixlQS9VVCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxBQWNDLFVBQVcsQ0FBQSxJQUFJLEVBT1osRUFBRSxDQUFDO0VBQUMsWUFBWSxFQUFFLEtBQU07Q0FBRzs7QUEvVW5ELEFBZ1Z3QixlQWhWVCxDQW9SWCxRQUFRLEFBa0NILEdBQUcsQ0FFQSxJQUFJLENBRUEsSUFBSSxBQWNDLFVBQVcsQ0FBQSxJQUFJLEVBUVosS0FBSyxDQUFDO0VBQUMsWUFBWSxFQUFFLEtBQU07Q0FBRzs7QUFoVnRELEFBb1JJLGVBcFJXLENBb1JYLFFBQVEsQUFpRUgsR0FBRyxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQVE7Q0FVdkI7O0FBaFdULEFBdVZZLGVBdlZHLENBb1JYLFFBQVEsQUFpRUgsR0FBRyxDQUVBLEVBQUUsQ0FBQztFQUFDLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBdlZ2QyxBQXdWWSxlQXhWRyxDQW9SWCxRQUFRLEFBaUVILEdBQUcsQ0FHQSxFQUFFLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUc7O0FBeFZwRCxBQTBWZ0IsZUExVkQsQ0FvUlgsUUFBUSxBQWlFSCxHQUFHLENBSUEsSUFBSSxDQUNBLElBQUksQ0FBQztFQUNELFVBQVUsRUFBRSxNQUFPO0VBQUUsT0FBTyxFQUFFLE1BQU87RUFBRSxLQUFLLEVBQUUsR0FBSTtFQUFFLGFBQWEsRUFBRSxJQUFLO0NBRzNFOztBQTlWakIsQUE0Vm9CLGVBNVZMLENBb1JYLFFBQVEsQUFpRUgsR0FBRyxDQUlBLElBQUksQ0FDQSxJQUFJLENBRUEsSUFBSSxDQUFDO0VBQUMsTUFBTSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQTVWakUsQUE2Vm9CLGVBN1ZMLENBb1JYLFFBQVEsQUFpRUgsR0FBRyxDQUlBLElBQUksQ0FDQSxJQUFJLENBR0EsS0FBSyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBQUc7O0FBN1ZuRixBQW9SSSxlQXBSVyxDQW9SWCxRQUFRLEFBNkVILEtBQUssQ0FBQztFQUNILFVBQVUsRUFBRSxJQUFLO0NBdUJwQjs7QUF6WFQsQUFvV1ksZUFwV0csQ0FvUlgsUUFBUSxBQTZFSCxLQUFLLENBR0YsRUFBRSxDQUFDO0VBQUMsY0FBYyxFQUFFLElBQUs7Q0FBRzs7QUFwV3hDLEFBc1dnQixlQXRXRCxDQW9SWCxRQUFRLEFBNkVILEtBQUssQ0FJRixJQUFJLENBQ0EsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsVUFBVSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztDQWdCaEc7O0FBdlhqQixBQXdXb0IsZUF4V0wsQ0FvUlgsUUFBUSxBQTZFSCxLQUFLLENBSUYsSUFBSSxDQUNBLElBQUksQ0FFQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsS0FBTTtFQUFFLEtBQUssRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUN0RSxRQUFRLEVBQUUsUUFBUztFQUFFLEdBQUcsRUFBRSxDQUFFO0VBQUUsSUFBSSxFQUFFLElBQUs7Q0FJNUM7O0FBOVdyQixBQTJXd0IsZUEzV1QsQ0FvUlgsUUFBUSxBQTZFSCxLQUFLLENBSUYsSUFBSSxDQUNBLElBQUksQ0FFQSxJQUFJLENBR0EsR0FBRyxDQUFDO0VBQ0EsTUFBTSxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUM5Qjs7QUE3V3pCLEFBK1dvQixlQS9XTCxDQW9SWCxRQUFRLEFBNkVILEtBQUssQ0FJRixJQUFJLENBQ0EsSUFBSSxDQVNBLEVBQUUsQ0FBQztFQUNDLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUFFLFNBQVMsRUFBRSxJQUFLO0NBRWhGOztBQWxYckIsQUFpWHdCLGVBalhULENBb1JYLFFBQVEsQUE2RUgsS0FBSyxDQUlGLElBQUksQ0FDQSxJQUFJLENBU0EsRUFBRSxDQUVFLElBQUksQ0FBQztFQUFDLE9BQU8sRUFBRSxLQUFNO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxHQUFJO0NBQUc7O0FBalhuRyxBQW1Yb0IsZUFuWEwsQ0FvUlgsUUFBUSxBQTZFSCxLQUFLLENBSUYsSUFBSSxDQUNBLElBQUksQ0FhQSxLQUFLLENBQUM7RUFDRixZQUFZLEVBQUUsS0FBTTtFQUFFLGFBQWEsRUFBRSxJQUFLO0VBQzFDLFNBQVMsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtDQUN4RDs7QUF0WHJCLEFBMlhZLGVBM1hHLENBb1JYLFFBQVEsQUFzR0gsUUFBUSxDQUNMLEVBQUUsQ0FBQztFQUFDLGNBQWMsRUFBRSxJQUFLO0NBQUc7O0FBM1h4QyxBQTRYWSxlQTVYRyxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBQUM7RUFDRCxVQUFVLEVBQUUsSUFBSztDQTBCcEI7O0FBdlpiLEFBOFhnQixlQTlYRCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsVUFBVSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztFQUM3RixPQUFPLEVBQUUsQ0FBRTtFQUNYLFlBQVksRUFBRSxJQUFLO0NBcUJ0Qjs7QUF0WmpCLEFBa1lvQixlQWxZTCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxDQUlBLElBQUksQ0FBQztFQUNELE1BQU0sRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxhQUFhLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQ3BFLFFBQVEsRUFBRSxRQUFTO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxJQUFJLEVBQUUsSUFBSztDQUk1Qzs7QUF4WXJCLEFBcVl3QixlQXJZVCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxDQUlBLElBQUksQ0FHQSxHQUFHLENBQUM7RUFDQSxNQUFNLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0NBQzlCOztBQXZZekIsQUF5WW9CLGVBellMLENBb1JYLFFBQVEsQUFzR0gsUUFBUSxDQUVMLElBQUksQ0FFQSxJQUFJLENBV0EsRUFBRSxDQUFDO0VBQUMsWUFBWSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztFQUFFLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7Q0FBRzs7QUF6WXhHLEFBMFlvQixlQTFZTCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxDQVlBLEtBQUssQ0FBQztFQUNGLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLElBQUs7RUFDMUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0NBQ3JEOztBQTdZckIsQUErWXdCLGVBL1lULENBb1JYLFFBQVEsQUFzR0gsUUFBUSxDQUVMLElBQUksQ0FFQSxJQUFJLEFBZ0JDLFVBQVcsQ0FBQSxJQUFJLEVBQ1osSUFBSSxDQUFDO0VBQ0QsSUFBSSxFQUFFLEtBQU07Q0FFZjs7QUFsWnpCLEFBbVp3QixlQW5aVCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxBQWdCQyxVQUFXLENBQUEsSUFBSSxFQUtaLEVBQUUsQ0FBQztFQUFDLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLENBQUU7Q0FBRzs7QUFuWnRFLEFBb1p3QixlQXBaVCxDQW9SWCxRQUFRLEFBc0dILFFBQVEsQ0FFTCxJQUFJLENBRUEsSUFBSSxBQWdCQyxVQUFXLENBQUEsSUFBSSxFQU1aLEtBQUssQ0FBQztFQUFDLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLENBQUU7Q0FBRzs7QUFwWnpFLEFBMlpZLGVBM1pHLENBb1JYLFFBQVEsQUFzSUgsTUFBTSxDQUNILEVBQUUsQ0FBQztFQUFDLGNBQWMsRUFBRSxJQUFLO0NBQUc7O0FBM1p4QyxBQTZaZ0IsZUE3WkQsQ0FvUlgsUUFBUSxBQXNJSCxNQUFNLENBRUgsSUFBSSxDQUNBLElBQUksQ0FBQztFQUNELFVBQVUsRUFBRSxNQUFPO0VBQUUsT0FBTyxFQUFFLGdCQUFpQjtFQUFFLEtBQUssRUFBRSxNQUFPO0NBSWxFOztBQWxhakIsQUErWm9CLGVBL1pMLENBb1JYLFFBQVEsQUFzSUgsTUFBTSxDQUVILElBQUksQ0FDQSxJQUFJLENBRUEsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtDQUFJOztBQS9aN0QsQUFnYW9CLGVBaGFMLENBb1JYLFFBQVEsQUFzSUgsTUFBTSxDQUVILElBQUksQ0FDQSxJQUFJLENBR0EsSUFBSSxDQUFDO0VBQUMsTUFBTSxFQUFFLEtBQU07RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQWhhakUsQUFpYW9CLGVBamFMLENBb1JYLFFBQVEsQUFzSUgsTUFBTSxDQUVILElBQUksQ0FDQSxJQUFJLENBSUEsS0FBSyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0NBQUc7O0FBamFoRixBQW9SSSxlQXBSVyxDQW9SWCxRQUFRLEFBc0lILE1BQU0sQUFVRixRQUFRLENBQUM7RUFDTixVQUFVLEVBQUUsT0FBUTtDQU92Qjs7QUE1YWIsQUF1YW9CLGVBdmFMLENBb1JYLFFBQVEsQUFzSUgsTUFBTSxBQVVGLFFBQVEsQ0FFTCxJQUFJLENBQ0EsSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLGdCQUFpQjtDQUU3Qjs7QUExYXJCLEFBeWF3QixlQXphVCxDQW9SWCxRQUFRLEFBc0lILE1BQU0sQUFVRixRQUFRLENBRUwsSUFBSSxDQUNBLElBQUksQ0FFQSxLQUFLLENBQUM7RUFBQyxPQUFPLEVBQUUsTUFBTztDQUFHOztBQXphbEQsQUFrYkksZUFsYlcsQ0FrYlgsWUFBWSxDQUFDO0VBQ1QsVUFBVSxFQUFFLE1BQU87Q0FXdEI7O0FBOWJMLEFBb2JRLGVBcGJPLENBa2JYLFlBQVksQ0FFUixhQUFhLENBQUM7RUFDVixjQUFjLEVBQUUsSUFBSztDQUl4Qjs7QUF6YlQsQUFzYlksZUF0YkcsQ0FrYlgsWUFBWSxDQUVSLGFBQWEsQ0FFVCxDQUFDLENBQUM7RUFDRSxPQUFPLEVBQUUsWUFBYTtFQUFFLE1BQU0sRUFBRSxNQUFPO0NBQzFDOztBQXhiYixBQTBiUSxlQTFiTyxDQWtiWCxZQUFZLENBUVIsS0FBSyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU87RUFBRSxPQUFPLEVBQUUsT0FBUTtDQUV6Qzs7QUE3YlQsQUE0YlksZUE1YkcsQ0FrYlgsWUFBWSxDQVFSLEtBQUssQ0FFRCxDQUFDLENBQUM7RUFBQyxhQUFhLEVBQUUsSUFBSztDQUFHOztBQTVidEMsQUFnY0ksZUFoY1csQ0FnY1gsU0FBUyxDQUFDO0VBQ04sTUFBTSxFQUFFLEtBQU07RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQ2pELGVBQWUsRUFBRSxnQkFBaUI7Q0FlckM7O0FBamRMLEFBbWNRLGVBbmNPLENBZ2NYLFNBQVMsQ0FHTCxHQUFHLENBQUM7RUFDQSxRQUFRLEVBQUUsUUFBUztFQUFFLEdBQUcsRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFFLElBQUs7RUcva0NyRCxpQkFBaUIsRUhnbENVLGdCQUFVO0VHL2tDckMsY0FBYyxFSCtrQ2EsZ0JBQVU7RUc5a0NyQyxTQUFTLEVIOGtDa0IsZ0JBQVU7Q0FHaEM7O0FBeGNULEFBbWNRLGVBbmNPLENBZ2NYLFNBQVMsQ0FHTCxHQUFHLEFBR0UsUUFBUSxDQUFDO0VBQUMsSUFBSSxFQUFDLENBQUU7Q0FBRzs7QUF0Y2pDLEFBbWNRLGVBbmNPLENBZ2NYLFNBQVMsQ0FHTCxHQUFHLEFBSUUsU0FBUyxDQUFDO0VBQUMsS0FBSyxFQUFFLEtBQU07Q0FBRzs7QUF2Y3hDLEFBeWNRLGVBemNPLENBZ2NYLFNBQVMsQ0FTTCxRQUFRLENBQUM7RUcxbENiLGtCQUFrQixFSDBsQ2UsVUFBVTtFR3psQzNDLGVBQWUsRUh5bENrQixVQUFVO0VHeGxDM0MsVUFBVSxFSHdsQ3VCLFVBQVU7RUFBRyxPQUFPLEVBQUUsa0JBQW1CO0NBQUc7O0FBemNqRixBQTBjUSxlQTFjTyxDQWdjWCxTQUFTLENBVUwsRUFBRSxDQUFDO0VBQUMsS0FBSyxFQUFFLElBQUs7RUFBRSxhQUFhLEVBQUUsR0FBSTtDQUFHOztBQTFjaEQsQUEyY1EsZUEzY08sQ0FnY1gsU0FBUyxDQVdMLENBQUMsQ0FBQztFQUFDLEtBQUssRUFBRSxPQUFRO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFHOztBQTNjbkUsQUE2Y1ksZUE3Y0csQ0FnY1gsU0FBUyxBQVlKLEdBQUcsQ0FDQSxRQUFRLENBQUM7RUFDTCxZQUFZLEVBQUUsQ0FBRTtFQUFFLGFBQWEsRUFBRSxLQUFNO0NBQzFDOztBQS9jYixBQW1kSSxlQW5kVyxDQW1kWCxRQUFRLENBQUM7RUFDTCxVQUFVLEVBQUUsTUFBTztDQVd0Qjs7QUEvZEwsQUFxZFEsZUFyZE8sQ0FtZFgsUUFBUSxDQUVKLEVBQUUsQ0FBQztFQUFDLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBcmRuQyxBQXVkWSxlQXZkRyxDQW1kWCxRQUFRLENBR0osSUFBSSxDQUNBLElBQUksQ0FBQztFQUNELE9BQU8sRUFBRSxZQUFhO0VBQUUsS0FBSyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUUsV0FBWTtFQUMzRCxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0NBSXBDOztBQTdkYixBQXVkWSxlQXZkRyxDQW1kWCxRQUFRLENBR0osSUFBSSxDQUNBLElBQUksQUFHQyxVQUFXLENBQUEsSUFBSSxFQUFFO0VBQUMsWUFBWSxFQUFFLENBQUU7Q0FBRzs7QUExZHRELEFBMmRnQixlQTNkRCxDQW1kWCxRQUFRLENBR0osSUFBSSxDQUNBLElBQUksQ0FJQSxNQUFNLENBQUM7RUFBQyxhQUFhLEVBQUUsSUFBSztDQUFHOztBQTNkL0MsQUE0ZGdCLGVBNWRELENBbWRYLFFBQVEsQ0FHSixJQUFJLENBQ0EsSUFBSSxDQUtBLElBQUksQ0FBQztFQUFDLFNBQVMsRUFBRSxJQUFLO0NBQUc7O0FBNWR6QyxBQWllSSxlQWplVyxDQWllWCxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsT0FBUTtDQTBCdkI7O0FBNWZMLEFBb2VZLGVBcGVHLENBaWVYLGFBQWEsQ0FFVCxJQUFJLENBQ0EsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsR0FBSTtFR3RuQ3JDLGtCQUFrQixFSHNuQ3dDLFVBQVU7RUdybkNwRSxlQUFlLEVIcW5DMkMsVUFBVTtFR3BuQ3BFLFVBQVUsRUhvbkNnRCxVQUFVO0NBUTNEOztBQTdlYixBQW9lWSxlQXBlRyxDQWllWCxhQUFhLENBRVQsSUFBSSxDQUNBLElBQUksQUFFQyxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFBQyxhQUFhLEVBQUUsS0FBTTtDQUFHOztBQXRleEQsQUFvZVksZUFwZUcsQ0FpZVgsYUFBYSxDQUVULElBQUksQ0FDQSxJQUFJLEFBR0MsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQUMsWUFBWSxFQUFFLEtBQU07Q0FBRzs7QUF2ZXZELEFBd2VnQixlQXhlRCxDQWllWCxhQUFhLENBRVQsSUFBSSxDQUNBLElBQUksQ0FJQSxFQUFFLENBQUM7RUFBQyxjQUFjLEVBQUUsVUFBVztDQUFHOztBQXhlbEQsQUEwZW9CLGVBMWVMLENBaWVYLGFBQWEsQ0FFVCxJQUFJLENBQ0EsSUFBSSxDQUtBLENBQUMsQ0FDRyxDQUFDLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztDQUFHOztBQTFldEMsQUFpZmdCLGVBamZELENBaWVYLGFBQWEsQUFjUixHQUFHLENBQ0EsSUFBSSxDQUNBLENBQUMsQ0FBQztFQUFDLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBamYxQyxBQWdmWSxlQWhmRyxDQWllWCxhQUFhLEFBY1IsR0FBRyxDQUNBLElBQUksQUFFQyxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFBQyxhQUFhLEVBQUUsS0FBTTtDQUFHOztBQWxmeEQsQUFnZlksZUFoZkcsQ0FpZVgsYUFBYSxBQWNSLEdBQUcsQ0FDQSxJQUFJLEFBR0MsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQ1gsWUFBWSxFQUFFLElBQUs7Q0FFdEI7O0FBdGZqQixBQXFmb0IsZUFyZkwsQ0FpZVgsYUFBYSxBQWNSLEdBQUcsQ0FDQSxJQUFJLEFBR0MsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUVULENBQUMsQ0FBQztFQUFDLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBcmY5QyxBQWllSSxlQWplVyxDQWllWCxhQUFhLEFBd0JSLE9BQU8sQ0FBQztFQUNMLFVBQVUsRUFBRSxNQUFPO0NBQ3RCOztBQTNmVCxBQThmSSxlQTlmVyxDQThmWCxnQkFBZ0IsQ0FBQztFQUNiLFVBQVUsRUFBRSxPQUFRO0NBZ0R2Qjs7QUEvaUJMLEFBaWdCWSxlQWpnQkcsQ0E4ZlgsZ0JBQWdCLENBRVosV0FBVyxDQUNQLEtBQUssQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFLO0NBa0NmOztBQXBpQmIsQUFxZ0IwQyxlQXJnQjNCLENBOGZYLGdCQUFnQixDQUVaLFdBQVcsQ0FDUCxLQUFLLENBRUQsS0FBSyxDQUNELEVBQUUsQUFDRyxVQUFXLENBQUEsQUFBQSxHQUFHLEVBQUcsRUFBRSxDQUFBO0VBQUMsVUFBVSxFQUFFLE9BQVE7Q0FBRzs7QUFyZ0JwRSxBQXNnQjJDLGVBdGdCNUIsQ0E4ZlgsZ0JBQWdCLENBRVosV0FBVyxDQUNQLEtBQUssQ0FFRCxLQUFLLENBQ0QsRUFBRSxBQUVHLFVBQVcsQ0FBQSxBQUFBLElBQUksRUFBRyxFQUFFLENBQUE7RUFBQyxVQUFVLEVBQUUsSUFBSztDQUFHOztBQXRnQmxFLEFBd2dCNEIsZUF4Z0JiLENBOGZYLGdCQUFnQixDQUVaLFdBQVcsQ0FDUCxLQUFLLENBRUQsS0FBSyxDQUNELEVBQUUsQUFHRyxZQUFZLENBQ1QsRUFBRSxBQUNHLFlBQVksQ0FBQztFRzlxQzFDLGFBQWEsRUgrcUN5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHOXFDaEUscUJBQXFCLEVIOHFDaUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFRzdxQ2hFLGtCQUFrQixFSDZxQ29DLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUc1cUNoRSxpQkFBaUIsRUg0cUNxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHM3FDaEUsZ0JBQWdCLEVIMnFDc0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNuQzs7QUEzZ0JqQyxBQXdnQjRCLGVBeGdCYixDQThmWCxnQkFBZ0IsQ0FFWixXQUFXLENBQ1AsS0FBSyxDQUVELEtBQUssQ0FDRCxFQUFFLEFBR0csWUFBWSxDQUNULEVBQUUsQUFJRyxXQUFXLENBQUM7RUdqckN6QyxhQUFhLEVIa3JDeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztFR2pyQ2hFLHFCQUFxQixFSGlyQ2lDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUdockNoRSxrQkFBa0IsRUhnckNvQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VHL3FDaEUsaUJBQWlCLEVIK3FDcUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztFRzlxQ2hFLGdCQUFnQixFSDhxQ3NDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDbkM7O0FBOWdCakMsQUFraEI0QixlQWxoQmIsQ0E4ZlgsZ0JBQWdCLENBRVosV0FBVyxDQUNQLEtBQUssQ0FFRCxLQUFLLENBQ0QsRUFBRSxBQWFHLFdBQVcsQ0FDUixFQUFFLEFBQ0csWUFBWSxDQUFDO0VHeHJDMUMsYUFBYSxFSHlyQ3lDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7RUd4ckNoRSxxQkFBcUIsRUh3ckNpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0VHdnJDaEUsa0JBQWtCLEVIdXJDb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtFR3RyQ2hFLGlCQUFpQixFSHNyQ3FDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7RUdyckNoRSxnQkFBZ0IsRUhxckNzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0NBQ25DOztBQXJoQmpDLEFBa2hCNEIsZUFsaEJiLENBOGZYLGdCQUFnQixDQUVaLFdBQVcsQ0FDUCxLQUFLLENBRUQsS0FBSyxDQUNELEVBQUUsQUFhRyxXQUFXLENBQ1IsRUFBRSxBQUlHLFdBQVcsQ0FBQztFRzNyQ3pDLGFBQWEsRUg0ckN5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VHM3JDaEUscUJBQXFCLEVIMnJDaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFRzFyQ2hFLGtCQUFrQixFSDByQ29DLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7RUd6ckNoRSxpQkFBaUIsRUh5ckNxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VHeHJDaEUsZ0JBQWdCLEVId3JDc0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUNuQzs7QUF4aEJqQyxBQTJoQndCLGVBM2hCVCxDQThmWCxnQkFBZ0IsQ0FFWixXQUFXLENBQ1AsS0FBSyxDQUVELEtBQUssQ0FDRCxFQUFFLENBdUJFLEVBQUUsQ0FBQztFQUNDLE9BQU8sRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUNqRCxZQUFZLEVBQUUsaUJBQWtCO0VBQ2hDLGFBQWEsRUFBRSxpQkFBa0I7Q0FHcEM7O0FBamlCekIsQUEyaEJ3QixlQTNoQlQsQ0E4ZlgsZ0JBQWdCLENBRVosV0FBVyxDQUNQLEtBQUssQ0FFRCxLQUFLLENBQ0QsRUFBRSxDQXVCRSxFQUFFLEFBSUcsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQUMsS0FBSyxFQUFDLEtBQU07Q0FBRzs7QUEvaEIzRCxBQTJoQndCLGVBM2hCVCxDQThmWCxnQkFBZ0IsQ0FFWixXQUFXLENBQ1AsS0FBSyxDQUVELEtBQUssQ0FDRCxFQUFFLENBdUJFLEVBQUUsQUFLRyxXQUFXLENBQUM7RUFBQyxZQUFZLEVBQUMsQ0FBRTtDQUFHOztBQWhpQjVELEFBc2lCWSxlQXRpQkcsQ0E4ZlgsZ0JBQWdCLENBRVosV0FBVyxDQXNDUCxJQUFJLENBQUM7RUFDRCxVQUFVLEVBQUUsS0FBTTtDQUtyQjs7QUE1aUJiLEFBd2lCZ0IsZUF4aUJELENBOGZYLGdCQUFnQixDQUVaLFdBQVcsQ0FzQ1AsSUFBSSxDQUVBLElBQUksQ0FBQztFQUFDLE9BQU8sRUFBRSxZQUFhO0VBQUUsY0FBYyxFQUFFLEdBQUk7RUFBRSxNQUFNLEVBQUMsYUFBYztDQUFHOztBQXhpQjVGLEFBMGlCb0IsZUExaUJMLENBOGZYLGdCQUFnQixDQUVaLFdBQVcsQ0FzQ1AsSUFBSSxBQUdDLFdBQVcsQ0FDUixJQUFJLENBQUM7RUFBQyxhQUFhLEVBQUUsQ0FBRTtDQUFHOztBQTFpQjlDLEFBaWpCSSxlQWpqQlcsQ0FpakJYLE9BQU8sQ0FBQztFQUNKLGVBQWUsRUFBRSxnQkFBaUI7RUFDbEMsVUFBVSxFQUFFLEtBQU07RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxNQUFPO0NBSXhEOztBQXZqQkwsQUFvakJRLGVBcGpCTyxDQWlqQlgsT0FBTyxDQUdILFFBQVEsQ0FBQztFQUFDLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLEtBQU07RUdyc0N6RCxrQkFBa0IsRUhxc0M0RCxVQUFVO0VHcHNDeEYsZUFBZSxFSG9zQytELFVBQVU7RUduc0N4RixVQUFVLEVIbXNDb0UsVUFBVTtDQUFJOztBQXBqQmhHLEFBcWpCUSxlQXJqQk8sQ0FpakJYLE9BQU8sQ0FJSCxFQUFFLENBQUM7RUFBQyxLQUFLLEVBQUUsSUFBSztFQUFFLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBcmpCakQsQUFzakJRLGVBdGpCTyxDQWlqQlgsT0FBTyxDQUtILENBQUMsQ0FBQztFQUFDLEtBQUssRUFBRSxJQUFLO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFHOztBQXRqQmhFLEFBeWpCSSxlQXpqQlcsQ0F5akJYLGFBQWEsQ0FBQztFQUNWLFVBQVUsRUFBRSxPQUFRO0NBcUJ2Qjs7QUEva0JMLEFBMmpCUSxlQTNqQk8sQ0F5akJYLGFBQWEsQ0FFVCxNQUFNLENBQUM7RUFBQyxjQUFjLEVBQUUsSUFBSztDQUFHOztBQTNqQnhDLEFBNGpCUSxlQTVqQk8sQ0F5akJYLGFBQWEsQ0FHVCxJQUFJLENBQUM7RUFDRCxPQUFPLEVBQUUsVUFBVztDQWlCdkI7O0FBOWtCVCxBQThqQlksZUE5akJHLENBeWpCWCxhQUFhLENBR1QsSUFBSSxDQUVBLEVBQUUsQ0FBQztFQUFDLGNBQWMsRUFBRSxVQUFXO0NBQUc7O0FBOWpCOUMsQUErakJZLGVBL2pCRyxDQXlqQlgsYUFBYSxDQUdULElBQUksQ0FHQSxJQUFJLENBQUM7RUFDRCxPQUFPLEVBQUUsWUFBYTtFQUFFLEtBQUssRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFDLFVBQVc7RUdqdENuRSxrQkFBa0IsRUhpdENzRSxVQUFVO0VHaHRDbEcsZUFBZSxFSGd0Q3lFLFVBQVU7RUcvc0NsRyxVQUFVLEVIK3NDOEUsVUFBVTtFQUN0RixhQUFhLEVBQUUsS0FBTTtFQUFFLGNBQWMsRUFBRSxHQUFJO0NBSTlDOztBQXJrQmIsQUErakJZLGVBL2pCRyxDQXlqQlgsYUFBYSxDQUdULElBQUksQ0FHQSxJQUFJLEFBR0MsVUFBVyxDQUFBLElBQUksRUFBRTtFQUNkLFlBQVksRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLENBQUU7Q0FDMUM7O0FBcGtCakIsQUF1a0JnQixlQXZrQkQsQ0F5akJYLGFBQWEsQ0FHVCxJQUFJLEFBVUMsTUFBTSxDQUNILElBQUksQ0FBQztFQUNELEtBQUssRUFBRSxPQUFRO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FJeEM7O0FBNWtCakIsQUF1a0JnQixlQXZrQkQsQ0F5akJYLGFBQWEsQ0FHVCxJQUFJLEFBVUMsTUFBTSxDQUNILElBQUksQUFFQyxVQUFXLENBQUEsSUFBSSxFQUFFO0VBQ2QsWUFBWSxFQUFFLENBQUU7Q0FDbkI7O0FBM2tCckIsQUFrbEJJLGVBbGxCVyxDQWtsQlgsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLE1BQU87Q0FvQ25COztBQXZuQkwsQUFzbEJnQixlQXRsQkQsQ0FrbEJYLGFBQWEsQ0FFVCxVQUFVLEFBQ0wsa0JBQWtCLENBQ2YsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQUFFLEtBQU07RUFBRSxPQUFPLEVBQUMsaUJBQWtCO0VBQ3pDLFFBQVEsRUFBRSxRQUFTO0NBU3RCOztBQWptQmpCLEFBc2xCZ0IsZUF0bEJELENBa2xCWCxhQUFhLENBRVQsVUFBVSxBQUNMLGtCQUFrQixDQUNmLFlBQVksQUFHUCxPQUFPLENBQUM7RUFDTCxRQUFRLEVBQUMsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUFFLElBQUksRUFBRSxDQUFFO0VBQUUsR0FBRyxFQUFFLElBQUs7RUFDMUYsT0FBTyxFQUFFLEVBQUc7RUFBRSxVQUFVLEVBQUMsaUJBQWtCO0NBQzlDOztBQTVsQnJCLEFBc2xCZ0IsZUF0bEJELENBa2xCWCxhQUFhLENBRVQsVUFBVSxBQUNMLGtCQUFrQixDQUNmLFlBQVksQUFPUCxNQUFNLENBQUM7RUFDSixRQUFRLEVBQUMsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxJQUFJLEVBQUUsSUFBSztFQUFFLEdBQUcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEVBQUc7RUFDdEYsVUFBVSxFQUFFLHlDQUFHLENBQXVDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUN0RTs7QUFobUJyQixBQWttQmdCLGVBbG1CRCxDQWtsQlgsYUFBYSxDQUVULFVBQVUsQUFDTCxrQkFBa0IsQ0FhZixZQUFZLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUztFQUFFLEdBQUcsRUFBRSxDQUFFO0VBQUUsT0FBTyxFQUFFLEVBQUc7RUFBRSxNQUFNLEVBQUUsT0FBUTtFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFDekYsV0FBVyxFQUFFLFNBQVU7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUFFLE1BQU0sRUFBQyxDQUFFO0NBU2xEOztBQTdtQmpCLEFBa21CZ0IsZUFsbUJELENBa2xCWCxhQUFhLENBRVQsVUFBVSxBQUNMLGtCQUFrQixDQWFmLFlBQVksQUFHUCxXQUFXLENBQUM7RUFDVCxJQUFJLEVBQUMsQ0FBRTtFQUNQLFVBQVUsRUFBRSx1Q0FBRyxDQUFxQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDcEU7O0FBeG1CckIsQUFrbUJnQixlQWxtQkQsQ0FrbEJYLGFBQWEsQ0FFVCxVQUFVLEFBQ0wsa0JBQWtCLENBYWYsWUFBWSxBQU9QLFdBQVcsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFFO0VBQ1QsVUFBVSxFQUFFLHVDQUFHLENBQXFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNwRTs7QUE1bUJyQixBQWduQmdCLGVBaG5CRCxDQWtsQlgsYUFBYSxDQUVULFVBQVUsQ0EyQk4sSUFBSSxDQUNBLEVBQUUsQ0FBQztFQUFDLEtBQUssRUFBRSxPQUFRO0VBQUUsU0FBUyxFQUFFLElBQUs7Q0FBRzs7QUFobkJ4RCxBQWluQmdCLGVBam5CRCxDQWtsQlgsYUFBYSxDQUVULFVBQVUsQ0EyQk4sSUFBSSxDQUVBLE9BQU8sQ0FBQztFQUFDLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQWpuQm5GLEFBa25CZ0IsZUFsbkJELENBa2xCWCxhQUFhLENBRVQsVUFBVSxDQTJCTixJQUFJLENBR0EsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLE9BQVE7RUFBRSxTQUFTLEVBQUMsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0NBQ3ZEOztBQXBuQmpCLEFBMG5CSSxlQTFuQlcsQ0EwbkJYLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFTO0NBaUZ0Qjs7QUE1c0JMLEFBMG5CSSxlQTFuQlcsQ0EwbkJYLGFBQWEsQUFFUixPQUFPLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsRUFBRztFQUM3RCxVQUFVLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsSUFBSSxFQUFFLENBQUU7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFR3p3Qy9ELGlCQUFpQixFSDB3Q1UsZ0JBQVU7RUd6d0NyQyxjQUFjLEVIeXdDYSxnQkFBVTtFR3h3Q3JDLFNBQVMsRUh3d0NrQixnQkFBVTtDQUNoQzs7QUFob0JULEFBaW9CUSxlQWpvQk8sQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLENBQUM7RUFDRCxLQUFLLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxHQUFJO0VBQUUsV0FBVyxFQUFFLENBQUU7RUFBRSxRQUFRLEVBQUUsUUFBUztDQXlEbEU7O0FBM3JCVCxBQW1vQlksZUFub0JHLENBMG5CWCxhQUFhLENBT1QsSUFBSSxDQUVBLE1BQU0sQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFTO0VBQUUsSUFBSSxFQUFDLElBQUs7RUFBRSxNQUFNLEVBQUMsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsU0FBUyxFQUFDLElBQUs7RUFDNUUsT0FBTyxFQUFFLEVBQUc7Q0FDZjs7QUF0b0JiLEFBaW9CUSxlQWpvQk8sQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBTUMsTUFBTSxBQUNGLE1BQU0sQ0FBQztFQUNKLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLEdBQUk7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFVBQVUsRUFBRSxJQUFLO0VBQ2pFLEdBQUcsRUFBRSxDQUFFO0VBQUUsS0FBSyxFQUFFLENBQUU7RUFBRSxPQUFPLEVBQUUsRUFBRztDQUNuQzs7QUEzb0JqQixBQTRvQmdCLGVBNW9CRCxDQTBuQlgsYUFBYSxDQU9ULElBQUksQUFNQyxNQUFNLENBS0gsQ0FBQyxDQUFDO0VBQ0UsUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsS0FBTTtFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsUUFBUSxFQUFFLE1BQU87Q0FNekU7O0FBbnBCakIsQUE4b0JvQixlQTlvQkwsQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBTUMsTUFBTSxDQUtILENBQUMsQ0FFRyxHQUFHLENBQUM7RUFDQSxLQUFLLEVBQUUsSUFBSztFQUNaLGtCQUFrQjtFRzV6Q3RDLFVBQVUsRUg2ekM4QixHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7RUc1ekN6RCxrQkFBa0IsRUg0ekNzQixHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7RUczekN6RCxlQUFlLEVIMnpDeUIsR0FBRyxDQUFDLEtBQUksQ0FBQyxRQUFRO0VHMXpDekQsY0FBYyxFSDB6QzBCLEdBQUcsQ0FBQyxLQUFJLENBQUMsUUFBUTtFR3p6Q3pELGFBQWEsRUh5ekMyQixHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7Q0FDeEM7O0FBbHBCckIsQUF1cEJ3QixlQXZwQlQsQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBTUMsTUFBTSxBQWNGLE1BQU0sQ0FDSCxDQUFDLENBQ0csR0FBRyxDQUFDO0VHbHlDeEIsaUJBQWlCLEVIa3lDMkIsVUFBSztFR2p5Q2pELGNBQWMsRUhpeUM4QixVQUFLO0VHaHlDakQsU0FBUyxFSGd5Q21DLFVBQUs7Q0FBUzs7QUF2cEI5RCxBQWlvQlEsZUFqb0JPLENBMG5CWCxhQUFhLENBT1QsSUFBSSxBQTBCQyxNQUFNLENBQUM7RUFDSixNQUFNLEVBQUUsSUFBSztFQUFFLFFBQVEsRUFBRSxRQUFTO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsQ0FBRTtFQUFFLFFBQVEsRUFBRSxNQUFPO0NBOEI1RTs7QUExckJiLEFBNnBCZ0IsZUE3cEJELENBMG5CWCxhQUFhLENBT1QsSUFBSSxBQTBCQyxNQUFNLENBRUgsTUFBTSxDQUFDO0VBQUMsSUFBSSxFQUFFLElBQUs7Q0FBRzs7QUE3cEJ0QyxBQThwQm1CLGVBOXBCSixDQTBuQlgsYUFBYSxDQU9ULElBQUksQUEwQkMsTUFBTSxDQUdILEdBQUcsQUFBQSxHQUFHLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFFLEdBQUk7RUFBRSxRQUFRLEVBQUUsUUFBUztDQWdCL0Q7O0FBL3FCakIsQUE4cEJtQixlQTlwQkosQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBMEJDLE1BQU0sQ0FHSCxHQUFHLEFBQUEsR0FBRyxBQUVELFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtFQUFDLEdBQUcsRUFBRSxDQUFFO0VBQUUsSUFBSSxFQUFFLENBQUU7Q0FBRzs7QUFocUJ4RCxBQThwQm1CLGVBOXBCSixDQTBuQlgsYUFBYSxDQU9ULElBQUksQUEwQkMsTUFBTSxDQUdILEdBQUcsQUFBQSxHQUFHLEFBR0QsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFFO0VBQUMsR0FBRyxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsQ0FBRTtDQUFHOztBQWpxQnpELEFBOHBCbUIsZUE5cEJKLENBMG5CWCxhQUFhLENBT1QsSUFBSSxBQTBCQyxNQUFNLENBR0gsR0FBRyxBQUFBLEdBQUcsQUFJRCxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUU7RUFBQyxNQUFNLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxDQUFFO0NBQUc7O0FBbHFCM0QsQUE4cEJtQixlQTlwQkosQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBMEJDLE1BQU0sQ0FHSCxHQUFHLEFBQUEsR0FBRyxBQUtELFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtFQUFDLE1BQU0sRUFBRSxDQUFFO0VBQUUsS0FBSyxFQUFFLENBQUU7Q0FBRzs7QUFucUI1RCxBQW9xQm9CLGVBcHFCTCxDQTBuQlgsYUFBYSxDQU9ULElBQUksQUEwQkMsTUFBTSxDQUdILEdBQUcsQUFBQSxHQUFHLENBTUYsQ0FBQyxDQUFDO0VBQ0UsUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsS0FBTTtFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsUUFBUSxFQUFFLE1BQU87RUFDdEUsV0FBVyxFQUFFLENBQUU7Q0FFbEI7O0FBeHFCckIsQUF1cUJ3QixlQXZxQlQsQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBMEJDLE1BQU0sQ0FHSCxHQUFHLEFBQUEsR0FBRyxDQU1GLENBQUMsQ0FHRyxHQUFHLENBQUM7RUFBQyxNQUFNLEVBQUUsSUFBSztFR24xQ3RDLFVBQVUsRUhtMUNrRCxHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7RUdsMUM3RSxrQkFBa0IsRUhrMUMwQyxHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7RUdqMUM3RSxlQUFlLEVIaTFDNkMsR0FBRyxDQUFDLEtBQUksQ0FBQyxRQUFRO0VHaDFDN0UsY0FBYyxFSGcxQzhDLEdBQUcsQ0FBQyxLQUFJLENBQUMsUUFBUTtFRy8wQzdFLGFBQWEsRUgrMEMrQyxHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVE7Q0FBSTs7QUF2cUJyRixBQTRxQjRCLGVBNXFCYixDQTBuQlgsYUFBYSxDQU9ULElBQUksQUEwQkMsTUFBTSxDQUdILEdBQUcsQUFBQSxHQUFHLEFBWUQsTUFBTSxDQUNILENBQUMsQ0FDRyxHQUFHLENBQUM7RUd2ekM1QixpQkFBaUIsRUh1ekMrQixVQUFLO0VHdHpDckQsY0FBYyxFSHN6Q2tDLFVBQUs7RUdyekNyRCxTQUFTLEVIcXpDdUMsVUFBSztDQUFTOztBQTVxQmxFLEFBaW9CUSxlQWpvQk8sQ0EwbkJYLGFBQWEsQ0FPVCxJQUFJLEFBMEJDLE1BQU0sQUFxQkYsT0FBTyxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVM7RUFBRSxLQUFLLEVBQUUsR0FBSTtFQUFFLE1BQU0sRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLEVBQUc7RUFDN0QsVUFBVSxFQUFFLElBQUs7RUFBRSxHQUFHLEVBQUUsQ0FBRTtFQUFFLElBQUksRUFBRSxHQUFJO0VBQUUsT0FBTyxFQUFFLENBQUU7RUc3ekNuRSxpQkFBaUIsRUg4ekNrQixnQkFBVTtFRzd6QzdDLGNBQWMsRUg2ekNxQixnQkFBVTtFRzV6QzdDLFNBQVMsRUg0ekMwQixnQkFBVTtDQUNoQzs7QUFwckJqQixBQWlvQlEsZUFqb0JPLENBMG5CWCxhQUFhLENBT1QsSUFBSSxBQTBCQyxNQUFNLEFBMEJGLE1BQU0sQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsR0FBSTtFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQzdELFVBQVUsRUFBRSxJQUFLO0VBQUUsR0FBRyxFQUFFLEdBQUk7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxDQUFFO0VHbDBDbkUsaUJBQWlCLEVIbTBDa0IsZ0JBQVU7RUdsMEM3QyxjQUFjLEVIazBDcUIsZ0JBQVU7RUdqMEM3QyxTQUFTLEVIaTBDMEIsZ0JBQVU7Q0FDaEM7O0FBenJCakIsQUE2ckJZLGVBN3JCRyxDQTBuQlgsYUFBYSxDQWtFVCxZQUFZLENBQ1IsV0FBVyxDQUFDO0VBQ1IsVUFBVSxFQUFFLE1BQU87RUFBRSxRQUFRLEVBQUUsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7Q0FZeEU7O0FBMXNCYixBQStyQmdCLGVBL3JCRCxDQTBuQlgsYUFBYSxDQWtFVCxZQUFZLENBQ1IsV0FBVyxDQUVQLEVBQUUsQ0FBQztFQUNDLE9BQU8sRUFBRSxZQUFhO0VBQUUsTUFBTSxFQUFFLE1BQU87Q0FTMUM7O0FBenNCakIsQUFpc0JvQixlQWpzQkwsQ0EwbkJYLGFBQWEsQ0FrRVQsWUFBWSxDQUNSLFdBQVcsQ0FFUCxFQUFFLENBRUUsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxDQUFFO0VBQUUsTUFBTSxFQUFFLENBQUU7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUMxRSxXQUFXLEVBQUUsU0FBVTtFQUFFLE1BQU0sRUFBQyxjQUFlO0VBQUUsTUFBTSxFQUFFLE9BQVE7RUd4MkNyRixhQUFhLEVIeTJDNkIsR0FBRztFR3gyQzdDLHFCQUFxQixFSHcyQ3FCLEdBQUc7RUd2MkM3QyxrQkFBa0IsRUh1MkN3QixHQUFHO0VHdDJDN0MsaUJBQWlCLEVIczJDeUIsR0FBRztFR3IyQzdDLGdCQUFnQixFSHEyQzBCLEdBQUc7Q0FDNUI7O0FBcnNCckIsQUF1c0J3QixlQXZzQlQsQ0EwbkJYLGFBQWEsQ0FrRVQsWUFBWSxDQUNSLFdBQVcsQ0FFUCxFQUFFLEFBT0csYUFBYSxDQUNWLE1BQU0sQ0FBQztFQUFDLFVBQVUsRUFBRSxPQUFRO0NBQUc7O0FBdnNCdkQsQUE4c0JJLGVBOXNCVyxDQThzQlgsRUFBRSxDQUFDO0VBQ0MsTUFBTSxFQUFFLEdBQUk7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxDQUFFO0NBQzlDOztBQWh0QkwsQUFrdEJJLGVBbHRCVyxDQWt0QlgsS0FBSyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE9BQVE7RUFBRSxLQUFLLEVBQUUsS0FBTTtDQThEdEM7O0FBanhCTCxBQWt0QkksZUFsdEJXLENBa3RCWCxLQUFLLEFBRUEsTUFBTSxDQUFDO0VBQUMsVUFBVSxFQUFFLElBQUs7Q0FBRzs7QUFwdEJyQyxBQXF0QlEsZUFydEJPLENBa3RCWCxLQUFLLENBR0QsRUFBRSxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUFydEJuQyxBQXN0QlEsZUF0dEJPLENBa3RCWCxLQUFLLENBSUQsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtDQUFHOztBQXR0QmhELEFBeXRCZ0IsZUF6dEJELENBa3RCWCxLQUFLLENBS0QsRUFBRSxDQUNFLEVBQUUsQ0FDRSxDQUFDLENBQUM7RUFDRSxPQUFPLEVBQUUsS0FBTTtFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUN0RSxPQUFPLEVBQUUsU0FBVTtDQUd0Qjs7QUE5dEJqQixBQXl0QmdCLGVBenRCRCxDQWt0QlgsS0FBSyxDQUtELEVBQUUsQ0FDRSxFQUFFLENBQ0UsQ0FBQyxBQUdJLE1BQU0sRUE1dEIzQixBQXl0QmdCLGVBenRCRCxDQWt0QlgsS0FBSyxDQUtELEVBQUUsQ0FDRSxFQUFFLENBQ0UsQ0FBQyxBQUlJLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBQyxPQUFRO0VBQUUsS0FBSyxFQUFFLElBQUs7Q0FBRzs7QUE3dEJsRSxBQWl1QlEsZUFqdUJPLENBa3RCWCxLQUFLLENBZUQsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFQUFFLElBQUs7Q0FDZjs7QUFudUJULEFBcXVCWSxlQXJ1QkcsQ0FrdEJYLEtBQUssQUFrQkEsR0FBRyxDQUNBLEVBQUUsQ0FBQztFQUFDLFVBQVUsRUFBRSxPQUFRO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLE1BQU87RUFBRSxhQUFhLEVBQUUsQ0FBRTtDQUFHOztBQXJ1QjdILEFBc3VCWSxlQXR1QkcsQ0FrdEJYLEtBQUssQUFrQkEsR0FBRyxDQUVBLEVBQUUsQ0FBQztFQUNDLE9BQU8sRUFBRSxtQkFBb0I7RUFBRSxRQUFRLEVBQUUsUUFBUztDQWtCckQ7O0FBenZCYixBQXd1QmdCLGVBeHVCRCxDQWt0QlgsS0FBSyxBQWtCQSxHQUFHLENBRUEsRUFBRSxDQUVFLEVBQUUsQ0FBQztFQUNDLGFBQWEsRUFBRSxpQkFBa0I7Q0FlcEM7O0FBeHZCakIsQUEwdUJvQixlQTF1QkwsQ0FrdEJYLEtBQUssQUFrQkEsR0FBRyxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxDQUFDO0VBQ0UsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxNQUFPO0NBR25EOztBQTl1QnJCLEFBMHVCb0IsZUExdUJMLENBa3RCWCxLQUFLLEFBa0JBLEdBQUcsQ0FFQSxFQUFFLENBRUUsRUFBRSxDQUVFLENBQUMsQUFFSSxNQUFNLEVBNXVCL0IsQUEwdUJvQixlQTF1QkwsQ0FrdEJYLEtBQUssQUFrQkEsR0FBRyxDQUVBLEVBQUUsQ0FFRSxFQUFFLENBRUUsQ0FBQyxBQUdJLE9BQU8sQ0FBQztFQUFDLFVBQVUsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7Q0FBRzs7QUE3dUJ2RSxBQXd1QmdCLGVBeHVCRCxDQWt0QlgsS0FBSyxBQWtCQSxHQUFHLENBRUEsRUFBRSxDQUVFLEVBQUUsQUFPRyxPQUFPLENBQUM7RUFDTCxhQUFhLEVBQUUsQ0FBRTtFQUFFLFVBQVUsRUFBRSxNQUFPO0NBT3pDOztBQXZ2QnJCLEFBaXZCd0IsZUFqdkJULENBa3RCWCxLQUFLLEFBa0JBLEdBQUcsQ0FFQSxFQUFFLENBRUUsRUFBRSxBQU9HLE9BQU8sQ0FFSixDQUFDLENBQUM7RUFDRSxLQUFLLEVBQUUsT0FBUTtFQUFFLFNBQVMsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLFlBQWE7Q0FJNUQ7O0FBdHZCekIsQUFpdkJ3QixlQWp2QlQsQ0FrdEJYLEtBQUssQUFrQkEsR0FBRyxDQUVBLEVBQUUsQ0FFRSxFQUFFLEFBT0csT0FBTyxDQUVKLENBQUMsQUFFSSxNQUFNLENBQUM7RUFDSixLQUFLLEVBQUMsT0FBUTtDQUNqQjs7QUFydkI3QixBQWt0QkksZUFsdEJXLENBa3RCWCxLQUFLLEFBMENBLFdBQVcsQ0FBQztFQUNULDZDQUE2QztDQWlCaEQ7O0FBOXdCVCxBQTh2QlksZUE5dkJHLENBa3RCWCxLQUFLLEFBMENBLFdBQVcsQ0FFUixRQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSztDQUNqQjs7QUFod0JiLEFBaXdCWSxlQWp3QkcsQ0FrdEJYLEtBQUssQUEwQ0EsV0FBVyxDQUtSLEVBQUUsQ0FBQztFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQUUsTUFBTSxFQUFFLEtBQU07RUFBRSxVQUFVLEVBQUUsSUFBSztDQUN6RDs7QUFud0JiLEFBa3RCSSxlQWx0QlcsQ0FrdEJYLEtBQUssQUEwQ0EsV0FBVyxBQVFQLE1BQU0sQ0FBQztFQUNKLFFBQVEsRUFBRSxLQUFNO0VBQUUsSUFBSSxFQUFFLEdBQUk7RUFBRSxNQUFNLEVBQUUsS0FBTTtFR2g1Q3hELGlCQUFpQixFSGk1Q2MsaUJBQVU7RUdoNUN6QyxjQUFjLEVIZzVDaUIsaUJBQVU7RUcvNEN6QyxTQUFTLEVIKzRDc0IsaUJBQVU7Q0FPaEM7O0FBN3dCYixBQWt0QkksZUFsdEJXLENBa3RCWCxLQUFLLEFBMENBLFdBQVcsQUFRUCxNQUFNLEFBR0YsSUFBSSxDQUFDO0VBQ0YsUUFBUSxFQUFFLFFBQVM7RUFBRSxNQUFNLEVBQUUsS0FBTTtDQUl0Qzs7QUE1d0JqQixBQXl3Qm9CLGVBendCTCxDQWt0QlgsS0FBSyxBQTBDQSxXQUFXLEFBUVAsTUFBTSxBQUdGLElBQUksQ0FFRCxFQUFFLENBQUM7RUFDQyxRQUFRLEVBQUUsUUFBUztFQUFFLG1CQUFtQjtFQUFDLFVBQVUsRUFBRSxJQUFLO0NBQzdEOztBQTN3QnJCLEFBa3hCSSxlQWx4QlcsQ0FreEJYLGFBQWEsQ0FBQztFQUNWLE1BQU0sRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLEtBQU07RUFBRSxNQUFNLEVBQUMsY0FBZTtFQUFFLFFBQVEsRUFBRSxRQUFTO0VHcDZDN0Usa0JBQWtCLEVIcTZDSyxVQUFVO0VHcDZDakMsZUFBZSxFSG82Q1EsVUFBVTtFR242Q2pDLFVBQVUsRUhtNkNhLFVBQVU7RUd6N0NqQyxhQUFhLEVIMDdDYSxJQUFJO0VHejdDOUIscUJBQXFCLEVIeTdDSyxJQUFJO0VHeDdDOUIsa0JBQWtCLEVIdzdDUSxJQUFJO0VHdjdDOUIsaUJBQWlCLEVIdTdDUyxJQUFJO0VHdDdDOUIsZ0JBQWdCLEVIczdDVSxJQUFJO0NBZTdCOztBQXB5QkwsQUFreEJJLGVBbHhCVyxDQWt4QlgsYUFBYSxBQUlSLE1BQU0sQ0FBQztFQUNKLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsR0FBSTtFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQUUsR0FBRyxFQUFFLEdBQUk7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUNyRixPQUFPLEVBQUUsQ0FBRTtFQUNYLFVBQVUsRUFBRSx3Q0FBRyxDQUFzQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7RUdwNkMxRSxpQkFBaUIsRUhxNkNVLGdCQUFVO0VHcDZDckMsY0FBYyxFSG82Q2EsZ0JBQVU7RUduNkNyQyxTQUFTLEVIbTZDa0IsZ0JBQVU7Q0FDaEM7O0FBM3hCVCxBQTR4QlEsZUE1eEJPLENBa3hCWCxhQUFhLENBVVQsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxhQUFjO0VBQUUsTUFBTSxFQUFDLENBQUU7RUFBRSxVQUFVLEVBQUUsSUFBSztFQUNsRixTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUNoRSxNQUFNLEVBQUUsT0FBUTtDQUluQjs7QUFueUJULEFBZ3lCWSxlQWh5QkcsQ0FreEJYLGFBQWEsQ0FVVCxNQUFNLENBSUYsTUFBTSxDQUFDO0VBQ0gsU0FBUyxFQUFFLElBQUs7Q0FDbkI7O0FBbHlCYixBQXF5QkksZUFyeUJXLENBcXlCWCxpQkFBaUIsQ0FBQztFQUFDLE1BQU0sRUFBRSxJQUFLO0VBQUUsUUFBUSxFQUFFLFFBQVM7Q0FBRzs7QUFyeUI1RCxBQXN5QkksZUF0eUJXLENBc3lCWCxjQUFjLENBQUM7RUFDWCxLQUFLLEVBQUUsS0FBTTtDQTZGaEI7O0FBcDRCTCxBQXd5QlEsZUF4eUJPLENBc3lCWCxjQUFjLENBRVYsVUFBVSxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsS0FBTTtDQUFHOztBQXh5Qi9ELEFBeXlCUSxlQXp5Qk8sQ0FzeUJYLGNBQWMsQ0FHVixFQUFFLENBQUM7RUFDQyxhQUFhLEVBQUUsSUFBSztDQUV2Qjs7QUE1eUJULEFBeXlCUSxlQXp5Qk8sQ0FzeUJYLGNBQWMsQ0FHVixFQUFFLEFBRUcsSUFBSSxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUEzeUIxQyxBQTZ5QlEsZUE3eUJPLENBc3lCWCxjQUFjLENBT1YsRUFBRSxDQUFDO0VBQ0MsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FDOUU7O0FBL3lCVCxBQWd6QlEsZUFoekJPLENBc3lCWCxjQUFjLENBVVYsQ0FBQyxDQUFDO0VBQ0UsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztFQUFFLGFBQWEsRUFBRSxJQUFLO0NBSXZEOztBQXJ6QlQsQUFnekJRLGVBaHpCTyxDQXN5QlgsY0FBYyxDQVVWLENBQUMsQUFFSSxTQUFTLENBQUM7RUFBQyxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUFsekJsRixBQWd6QlEsZUFoekJPLENBc3lCWCxjQUFjLENBVVYsQ0FBQyxBQUdJLE9BQU8sQ0FBQztFQUFDLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxhQUFhLEVBQUUsSUFBSztDQUFHOztBQW56QjdFLEFBZ3pCUSxlQWh6Qk8sQ0FzeUJYLGNBQWMsQ0FVVixDQUFDLEFBSUksS0FBSyxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUFwekIzQyxBQXV6QlEsZUF2ekJPLENBc3lCWCxjQUFjLENBaUJWLEVBQUUsQ0FBQztFQUNDLFdBQVcsRUFBRSxJQUFLO0VBQUUsY0FBYyxFQUFFLElBQUs7Q0FRNUM7O0FBaDBCVCxBQXl6QlksZUF6ekJHLENBc3lCWCxjQUFjLENBaUJWLEVBQUUsQ0FFRSxFQUFFLENBQUM7RUFBQyxVQUFVLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLFdBQVk7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUFHOztBQXp6QjdGLEFBMHpCWSxlQTF6QkcsQ0FzeUJYLGNBQWMsQ0FpQlYsRUFBRSxDQUdFLEVBQUUsQ0FBQztFQUNDLGNBQWMsRUFBRSxJQUFLO0NBQ3hCOztBQTV6QmIsQUE2ekJZLGVBN3pCRyxDQXN5QlgsY0FBYyxDQWlCVixFQUFFLENBTUUsRUFBRSxDQUFDO0VBQ0MsY0FBYyxFQUFFLElBQUs7Q0FDeEI7O0FBL3pCYixBQWkwQlEsZUFqMEJPLENBc3lCWCxjQUFjLENBMkJWLEVBQUUsQ0FBQztFQUNDLFdBQVcsRUFBRSxJQUFLO0VBQUUsY0FBYyxFQUFFLElBQUs7Q0FXNUM7O0FBNzBCVCxBQW0wQlksZUFuMEJHLENBc3lCWCxjQUFjLENBMkJWLEVBQUUsQ0FFRSxFQUFFLENBQUM7RUFBQyxVQUFVLEVBQUUsT0FBUTtFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLFdBQVk7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUFHOztBQW4wQmhHLEFBbzBCWSxlQXAwQkcsQ0FzeUJYLGNBQWMsQ0EyQlYsRUFBRSxDQUdFLEVBQUUsQ0FBQztFQUNDLGNBQWMsRUFBRSxJQUFLO0NBSXhCOztBQXowQmIsQUFzMEJnQixlQXQwQkQsQ0FzeUJYLGNBQWMsQ0EyQlYsRUFBRSxDQUdFLEVBQUUsQ0FFRSxFQUFFLENBQUM7RUFDQyxVQUFVLEVBQUUsSUFBSztDQUNwQjs7QUF4MEJqQixBQTAwQlksZUExMEJHLENBc3lCWCxjQUFjLENBMkJWLEVBQUUsQ0FTRSxFQUFFLENBQUM7RUFDQyxjQUFjLEVBQUUsSUFBSztDQUN4Qjs7QUE1MEJiLEFBc3lCSSxlQXR5QlcsQ0FzeUJYLGNBQWMsQUF5Q1QsS0FBSyxDQUFDO0VBQUMsS0FBSyxFQUFFLElBQUs7Q0FBRzs7QUEvMEIvQixBQWsxQlksZUFsMUJHLENBc3lCWCxjQUFjLENBMkNWLFNBQVMsQ0FDTCxNQUFNLENBQUM7RUFDSCxhQUFhLEVBQUUsSUFBSztDQTBCdkI7O0FBNzJCYixBQW8xQmdCLGVBcDFCRCxDQXN5QlgsY0FBYyxDQTJDVixTQUFTLENBQ0wsTUFBTSxDQUVGLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFNO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUNsRCxPQUFPLEVBQUUsa0JBQW1CO0NBQy9COztBQXYxQmpCLEFBdzFCaUMsZUF4MUJsQixDQXN5QlgsY0FBYyxDQTJDVixTQUFTLENBQ0wsTUFBTSxDQU1GLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7QUF4MUJ0QixBQXkxQmtDLGVBejFCbkIsQ0FzeUJYLGNBQWMsQ0EyQ1YsU0FBUyxDQUNMLE1BQU0sQ0FPRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBejFCdEIsQUEwMUJnQixlQTExQkQsQ0FzeUJYLGNBQWMsQ0EyQ1YsU0FBUyxDQUNMLE1BQU0sQ0FRRixRQUFRLENBQUM7RUFDTCxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFDLENBQUU7RUFBRSxPQUFPLEVBQUUsTUFBTztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQ3pFLFdBQVcsRUFBRSxpQkFBa0I7RUc3K0MvQyxrQkFBa0IsRUg4K0NpQixVQUFVO0VHNytDN0MsZUFBZSxFSDYrQ29CLFVBQVU7RUc1K0M3QyxVQUFVLEVINCtDeUIsVUFBVTtFQUFHLFVBQVUsRUFBRSxJQUFLO0NBQ3BEOztBQTkxQmpCLEFBKzFCZ0IsZUEvMUJELENBc3lCWCxjQUFjLENBMkNWLFNBQVMsQ0FDTCxNQUFNLENBYUYsUUFBUSxDQUFDO0VBQUMsTUFBTSxFQUFFLEtBQU07Q0FBRzs7QUEvMUIzQyxBQWcyQmdCLGVBaDJCRCxDQXN5QlgsY0FBYyxDQTJDVixTQUFTLENBQ0wsTUFBTSxDQWNGLElBQUksQ0FBQztFQUNELE1BQU0sRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFDLGNBQWU7RUFBRSxRQUFRLEVBQUUsUUFBUztFR2wvQzFFLGtCQUFrQixFSG0vQ2lCLFVBQVU7RUdsL0M3QyxlQUFlLEVIay9Db0IsVUFBVTtFR2ovQzdDLFVBQVUsRUhpL0N5QixVQUFVO0VHdmdEN0MsYUFBYSxFSHdnRHlCLElBQUk7RUd2Z0QxQyxxQkFBcUIsRUh1Z0RpQixJQUFJO0VHdGdEMUMsa0JBQWtCLEVIc2dEb0IsSUFBSTtFR3JnRDFDLGlCQUFpQixFSHFnRHFCLElBQUk7RUdwZ0QxQyxnQkFBZ0IsRUhvZ0RzQixJQUFJO0NBQzdCOztBQXAyQmpCLEFBczJCb0IsZUF0MkJMLENBc3lCWCxjQUFjLENBMkNWLFNBQVMsQ0FDTCxNQUFNLEFBbUJELE1BQU0sQ0FDSCxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsSUFBSztDQUNoQjs7QUF4MkJyQixBQTIyQm9CLGVBMzJCTCxDQXN5QlgsY0FBYyxDQTJDVixTQUFTLENBQ0wsTUFBTSxBQXdCRCxJQUFJLENBQ0QsSUFBSSxDQUFDO0VBQUMsS0FBSyxFQUFFLEtBQU07Q0FBRzs7QUEzMkIxQyxBQTgyQitCLGVBOTJCaEIsQ0FzeUJYLGNBQWMsQ0EyQ1YsU0FBUyxDQTZCTCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDakIsV0FBVyxFQUFFLGlCQUFrQjtFQUMvQixNQUFNLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsTUFBTztFQUNqRSxVQUFVLEVBQUUsT0FBUTtFQUFFLE1BQU0sRUFBQyxDQUFFO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsT0FBUTtFR3RoRC9FLGFBQWEsRUh1aERxQixJQUFJO0VHdGhEdEMscUJBQXFCLEVIc2hEYSxJQUFJO0VHcmhEdEMsa0JBQWtCLEVIcWhEZ0IsSUFBSTtFR3BoRHRDLGlCQUFpQixFSG9oRGlCLElBQUk7RUduaER0QyxnQkFBZ0IsRUhtaERrQixJQUFJO0VHOWhEdEMsVUFBVSxFSCtoRHNCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFRzloRHBELGtCQUFrQixFSDhoRGMsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0VHN2hEcEQsZUFBZSxFSDZoRGlCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFRzVoRHBELGNBQWMsRUg0aERrQixHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RUczaERwRCxhQUFhLEVIMmhEbUIsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0NBSTNDOztBQXYzQmIsQUE4MkIrQixlQTkyQmhCLENBc3lCWCxjQUFjLENBMkNWLFNBQVMsQ0E2QkwsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQU1ELE1BQU0sQ0FBQztFQUNKLFVBQVUsRUFBQyxPQUFRO0NBQ3RCOztBQXQzQmpCLEFBeTNCUSxlQXozQk8sQ0FzeUJYLGNBQWMsQ0FtRlYsU0FBUyxDQUFDO0VBQ04sVUFBVSxFQUFFLE1BQU87RUFBRSxPQUFPLEVBQUUsVUFBVztFQUN6QyxNQUFNLEVBQUMsaUJBQWtCO0VHNWdEakMsa0JBQWtCLEVINmdEUyxVQUFVO0VHNWdEckMsZUFBZSxFSDRnRFksVUFBVTtFRzNnRHJDLFVBQVUsRUgyZ0RpQixVQUFVO0VHamlEckMsYUFBYSxFSGtpRGlCLElBQUk7RUdqaURsQyxxQkFBcUIsRUhpaURTLElBQUk7RUdoaURsQyxrQkFBa0IsRUhnaURZLElBQUk7RUcvaERsQyxpQkFBaUIsRUgraERhLElBQUk7RUc5aERsQyxnQkFBZ0IsRUg4aERjLElBQUk7RUczaERsQyxVQUFVLEVINGhEaUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTztFRzNoRDlDLGtCQUFrQixFSDJoRFMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTztFRzFoRDlDLGVBQWUsRUgwaERZLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU87RUd6aEQ5QyxjQUFjLEVIeWhEYSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPO0VHeGhEOUMsYUFBYSxFSHdoRGMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTztDQUl6Qzs7QUFsNEJULEFBKzNCWSxlQS8zQkcsQ0FzeUJYLGNBQWMsQ0FtRlYsU0FBUyxDQU1MLEdBQUcsQ0FBQztFQUFDLGFBQWEsRUFBRSxJQUFLO0NBQUc7O0FBLzNCeEMsQUFnNEJZLGVBaDRCRyxDQXN5QlgsY0FBYyxDQW1GVixTQUFTLENBT0wsRUFBRSxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUFoNEJ2QyxBQXM0QkksZUF0NEJXLENBczRCWCxRQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBYTtFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsU0FBUyxFQUFFLElBQUs7Q0FVNUQ7O0FBajVCTCxBQXM0QkksZUF0NEJXLENBczRCWCxRQUFRLEFBRUgsTUFBTSxDQUFDO0VBQ0osS0FBSyxFQUFDLE9BQVE7Q0FDakI7O0FBMTRCVCxBQXM0QkksZUF0NEJXLENBczRCWCxRQUFRLEFBS0gsR0FBRyxDQUFDO0VBQ0QsS0FBSyxFQUFFLE9BQVE7RUFBRSxVQUFVLEVBQUUsS0FBTTtDQUl0Qzs7QUFoNUJULEFBczRCSSxlQXQ0QlcsQ0FzNEJYLFFBQVEsQUFLSCxHQUFHLEFBRUMsTUFBTSxDQUFDO0VBQ0osS0FBSyxFQUFDLE9BQVE7Q0FDakI7O0FBLzRCYixBQW01QkksZUFuNUJXLENBbTVCWCxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsS0FBTTtDQUNyQjs7QUFyNUJMLEFBdTVCSSxlQXY1QlcsQ0F1NUJYLE9BQU8sQ0FBQztFQUNKLFVBQVUsRUFBRSxLQUFNO0NBK0JyQjs7QUF2N0JMLEFBMDVCWSxlQTE1QkcsQ0F1NUJYLE9BQU8sQ0FFSCxFQUFFLENBQ0UsRUFBRSxDQUFDO0VBQ0MsT0FBTyxFQUFFLFlBQWE7Q0F5QnpCOztBQXA3QmIsQUE0NUJnQixlQTU1QkQsQ0F1NUJYLE9BQU8sQ0FFSCxFQUFFLENBQ0UsRUFBRSxDQUVFLENBQUMsQ0FBQztFQUNFLFNBQVMsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxPQUFPLEVBQUUsS0FBTTtDQUdyRDs7QUFoNkJqQixBQTQ1QmdCLGVBNTVCRCxDQXU1QlgsT0FBTyxDQUVILEVBQUUsQ0FDRSxFQUFFLENBRUUsQ0FBQyxBQUVJLE1BQU0sRUE5NUIzQixBQTQ1QmdCLGVBNTVCRCxDQXU1QlgsT0FBTyxDQUVILEVBQUUsQ0FDRSxFQUFFLENBRUUsQ0FBQyxBQUdJLE9BQU8sQ0FBQztFQUFDLEtBQUssRUFBQyxPQUFRO0NBQUc7O0FBLzVCL0MsQUFtNkJvQixlQW42QkwsQ0F1NUJYLE9BQU8sQ0FFSCxFQUFFLENBQ0UsRUFBRSxBQU9HLEtBQUssQ0FFRixDQUFDLEVBbjZCckIsQUFtNkJvQixlQW42QkwsQ0F1NUJYLE9BQU8sQ0FFSCxFQUFFLENBQ0UsRUFBRSxBQVFHLEtBQUssQ0FDRixDQUFDLENBQUM7RUFDRSxPQUFPLEVBQUUsS0FBTTtFQUFFLEtBQUssRUFBRSxHQUFJO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUN4RCxXQUFXLEVBQUUsUUFBUztDQUN6Qjs7QUF0NkJyQixBQTA1QlksZUExNUJHLENBdTVCWCxPQUFPLENBRUgsRUFBRSxDQUNFLEVBQUUsQUFjRyxLQUFLLENBQUM7RUFDSCxhQUFhLEVBQUUsSUFBSztDQUl2Qjs7QUE3NkJqQixBQTA2Qm9CLGVBMTZCTCxDQXU1QlgsT0FBTyxDQUVILEVBQUUsQ0FDRSxFQUFFLEFBY0csS0FBSyxDQUVGLENBQUMsQ0FBQztFQUNFLFVBQVUsRUFBRSw2Q0FBRyxDQUEyQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDMUU7O0FBNTZCckIsQUEwNUJZLGVBMTVCRyxDQXU1QlgsT0FBTyxDQUVILEVBQUUsQ0FDRSxFQUFFLEFBb0JHLEtBQUssQ0FBQztFQUNILFlBQVksRUFBRSxJQUFLO0NBSXRCOztBQW43QmpCLEFBZzdCb0IsZUFoN0JMLENBdTVCWCxPQUFPLENBRUgsRUFBRSxDQUNFLEVBQUUsQUFvQkcsS0FBSyxDQUVGLENBQUMsQ0FBQztFQUNFLFVBQVUsRUFBRSw2Q0FBRyxDQUEyQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDMUU7O0FBbDdCckIsQUEwN0JRLGVBMTdCTyxDQXk3QlgsYUFBYSxDQUNULElBQUksQ0FBQztFQUNELGFBQWEsRUFBRSxJQUFLO0NBYXZCOztBQXg4QlQsQUE0N0JZLGVBNTdCRyxDQXk3QlgsYUFBYSxDQUNULElBQUksQ0FFQSxDQUFDLENBQUM7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0NBRWpDOztBQS83QmIsQUE0N0JZLGVBNTdCRyxDQXk3QlgsYUFBYSxDQUNULElBQUksQ0FFQSxDQUFDLEFBRUksS0FBSyxDQUFDO0VBQUMsYUFBYSxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztDQUFHOztBQTk3Qm5FLEFBZzhCWSxlQWg4QkcsQ0F5N0JYLGFBQWEsQ0FDVCxJQUFJLENBTUEsRUFBRSxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FBRzs7QUFoOEI5RixBQWk4QlksZUFqOEJHLENBeTdCWCxhQUFhLENBQ1QsSUFBSSxDQU9BLEdBQUcsQ0FBQztFQUFDLEtBQUssRUFBRSxLQUFNO0VBQUUsV0FBVyxFQUFFLENBQUU7Q0FBRzs7QUFqOEJsRCxBQWs4QlksZUFsOEJHLENBeTdCWCxhQUFhLENBQ1QsSUFBSSxDQVFBLEdBQUcsQ0FBQztFQUNBLEtBQUssRUFBRSxLQUFNO0VBQUUsYUFBYSxFQUFFLGNBQWU7RUFBRSxjQUFjLEVBQUUsSUFBSztDQUl2RTs7QUF2OEJiLEFBazhCWSxlQWw4QkcsQ0F5N0JYLGFBQWEsQ0FDVCxJQUFJLENBUUEsR0FBRyxBQUVFLEtBQUssQ0FBQztFQUNILEtBQUssRUFBRSxJQUFLO0NBQ2Y7O0FBdDhCakIsQUEyOEJnQixlQTM4QkQsQ0F5N0JYLGFBQWEsQUFnQlIsR0FBRyxDQUNBLElBQUksQ0FDQSxHQUFHLENBQUM7RUFDQSxLQUFLLEVBQUUsSUFBSztDQUNmOztBQVNqQixBQUNJLGFBRFMsQ0FDVCxNQUFNLENBQUM7RUFDSCxPQUFPLEVBQUMsT0FBUTtFQUFFLGFBQWEsRUFBRSxpQkFBa0I7RUFBRSxhQUFhLEVBQUUsSUFBSztFQUN6RSxRQUFRLEVBQUUsUUFBUztDQWN0Qjs7QUFqQkwsQUFJeUIsYUFKWixDQUNULE1BQU0sQ0FHRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7RUFDZixTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxJQUFLO0VBQUUsS0FBSyxFQUFFLE9BQVE7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUFFLE1BQU0sRUFBQyxDQUFFO0VBQzdFLEtBQUssRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUFFLFVBQVc7RUFBRSxjQUFjLEVBQUUsU0FBVTtFRzdtRHRFLGtCQUFrQixFSDhtRFMsVUFBVTtFRzdtRHJDLGVBQWUsRUg2bURZLFVBQVU7RUc1bURyQyxVQUFVLEVING1EaUIsVUFBVTtDQUNoQzs7QUFSVCxBRzdtREksYUg2bURTLENBQ1QsTUFBTSxDRzltRE4sMkJBQTJCLENBQUM7RUh1bkRwQixLQUFLLEVBQUUsT0FBUTtDR3ZuRGdCOztBSDZtRDNDLEFHNW1ESSxhSDRtRFMsQ0FDVCxNQUFNLENHN21ETixpQkFBaUIsQ0FBVztFSHNuRHBCLEtBQUssRUFBRSxPQUFRO0NHdG5EZ0I7O0FING1EM0MsQUczbURJLGFIMm1EUyxDQUNULE1BQU0sQ0c1bUROLGtCQUFrQixDQUFVO0VIcW5EcEIsS0FBSyxFQUFFLE9BQVE7Q0dybkRnQjs7QUgybUQzQyxBRzFtREksYUgwbURTLENBQ1QsTUFBTSxDRzNtRE4sc0JBQXNCLENBQU07RUhvbkRwQixLQUFLLEVBQUUsT0FBUTtDR3BuRGdCOztBSDBtRDNDLEFBWTJCLGFBWmQsQ0FDVCxNQUFNLENBV0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxLQUFLLEVBQUUsQ0FBRTtFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsQ0FBRTtFQUFFLE1BQU0sRUFBQyxDQUFFO0VBQzVGLFVBQVUsRUFBRSw0Q0FBRyxDQUEwQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUc7RUFDeEUsZUFBZSxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsT0FBUTtDQUMzQzs7QUFoQlQsQUFrQkksYUFsQlMsQ0FrQlQsS0FBSyxDQUFDO0VBQUMsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsSUFBSztDQUFHOztBQWxCNUMsQUFBQSxhQUFhLEFBb0JSLEdBQUcsQ0FBQztFQUNELE9BQU8sRUFBRSxNQUFPO0NBUW5COztBQTdCTCxBQXNCeUIsYUF0QlosQUFvQlIsR0FBRyxDQUVBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtFQUNmLGNBQWMsRUFBRSxVQUFXO0VBQUUsU0FBUyxFQUFFLElBQUs7RUFBRSxLQUFLLEVBQUUsT0FBUTtFQUM5RCxVQUFVLEVBQUUsTUFBTztDQUN0Qjs7QUF6QlQsQUc3bURJLGFINm1EUyxBQW9CUixHQUFHLENHam9ESiwyQkFBMkIsQ0FBQztFSHdvRHBCLEtBQUssRUFBRSxPQUFRO0NHeG9EZ0I7O0FINm1EM0MsQUc1bURJLGFING1EUyxBQW9CUixHQUFHLENHaG9ESixpQkFBaUIsQ0FBVztFSHVvRHBCLEtBQUssRUFBRSxPQUFRO0NHdm9EZ0I7O0FING1EM0MsQUczbURJLGFIMm1EUyxBQW9CUixHQUFHLENHL25ESixrQkFBa0IsQ0FBVTtFSHNvRHBCLEtBQUssRUFBRSxPQUFRO0NHdG9EZ0I7O0FIMm1EM0MsQUcxbURJLGFIMG1EUyxBQW9CUixHQUFHLENHOW5ESixzQkFBc0IsQ0FBTTtFSHFvRHBCLEtBQUssRUFBRSxPQUFRO0NHcm9EZ0I7O0FING9EM0MsQUFBQSxVQUFVLENBQUM7RUFDUCxNQUFNLEVBQUUsT0FBUTtFQUNoQixLQUFLLEVBQUMsSUFBSztFQUNYLE1BQU0sRUFBQyxJQUFLO0VBQ1osT0FBTyxFQUFDLEdBQUk7RUFDWixVQUFVLEVBQUMsTUFBTztFQUNsQixXQUFXLEVBQUUsSUFBSztFQUNsQixLQUFLLEVBQUUsSUFBSztFQUNaLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLFFBQVEsRUFBQyxLQUFNO0VBQ2YsTUFBTSxFQUFDLElBQUs7RUFDWixLQUFLLEVBQUMsSUFBSztFQUNYLE9BQU8sRUFBQyxJQUFLO0VBQ2IsVUFBVSxFQUFDLElBQUksQ0FBQyxtQ0FBRyxDQUFpQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUc7RUFDeEUsT0FBTyxFQUFFLElBQUs7Q0FDakI7O0FBQ0QsQUFBVSxVQUFBLEFBQUEsTUFBTSxDQUFBO0VBQ1osZUFBZSxFQUFDLElBQUs7Q0FDeEI7O0FBS0Q7Z0dBQ2dHO0FBQ2hHLEFBQUEsVUFBVSxDQUFBO0VBQ04sS0FBSyxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsT0FBUTtFQUFFLE1BQU0sRUFBRSxLQUFNO0VBQUUsUUFBUSxFQUFFLFFBQVM7RUFBRSxVQUFVLEVBQUUsQ0FBRTtDQW1CMUY7O0FBcEJELEFBRUksVUFGTSxDQUVOLFFBQVEsQ0FBQTtFQUNKLFVBQVUsRUFBRSxNQUFPO0VBQUUsT0FBTyxFQUFFLFFBQVM7RUFBRSxjQUFjLEVBQUUsTUFBTztDQWdCbkU7O0FBbkJMLEFBSVEsVUFKRSxDQUVOLFFBQVEsQ0FFSixFQUFFLENBQUM7RUFDQyxTQUFTLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxPQUFRO0VBQUUsY0FBYyxFQUFFLFNBQVU7RUFBRSxjQUFjLEVBQUUsSUFBSztDQUN2Rjs7QUFOVCxBQU9RLFVBUEUsQ0FFTixRQUFRLENBS0osQ0FBQyxDQUFBO0VBQ0csT0FBTyxFQUFFLFlBQWE7RUFBRSxPQUFPLEVBQUUsTUFBTztDQVUzQzs7QUFsQlQsQUFTWSxVQVRGLENBRU4sUUFBUSxDQUtKLENBQUMsQ0FFRyxHQUFHLENBQUM7RUFDQSxLQUFLLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLO0VHdnNEdkMsVUFBVSxFSHdzRHNCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFR3ZzRHBELGtCQUFrQixFSHVzRGMsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0VHdHNEcEQsZUFBZSxFSHNzRGlCLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFR3JzRHBELGNBQWMsRUhxc0RrQixHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RUdwc0RwRCxhQUFhLEVIb3NEbUIsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0NBQzNDOztBQVpiLEFBY2dCLFVBZE4sQ0FFTixRQUFRLENBS0osQ0FBQyxBQU1JLE1BQU0sQ0FDSCxHQUFHLENBQUM7RUcxcURoQixpQkFBaUIsRUgycURrQixVQUFLO0VHMXFEeEMsY0FBYyxFSDBxRHFCLFVBQUs7RUd6cUR4QyxTQUFTLEVIeXFEMEIsVUFBSztDQUMzQjs7QUFLakIsQUFBQSxNQUFNLENBQUE7RUFDRixRQUFRLEVBQUUsUUFBUztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQ2pDLDZFQUE2RTtFQUM3RSxlQUFlLEVBQUMsS0FBTTtFQUV0QixVQUFVLEVBQUUsT0FBRztFQUNmLFVBQVUsRUFBRSxnRkFBb0I7RUFDaEMsVUFBVSxFQUFFLG1GQUF1QjtFQUNuQyxVQUFVLEVBQUUsMkVBQWU7RUFDM0IsTUFBTSxFQUFFLDJHQUEyRztDQW9FdEg7O0FBN0VELEFBQUEsTUFBTSxBQVdELE9BQU8sQ0FBQztFQUNMLFFBQVEsRUFBQyxRQUFTO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxNQUFNLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFBRSxFQUFHO0VBQUUsR0FBRyxFQUFFLENBQUU7RUFBRSxJQUFJLEVBQUUsQ0FBRTtFQUFFLE9BQU8sRUFBRSxDQUFFO0VBQzdGLFVBQVUsRUFBRSw4Q0FBRyxDQUE0QyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUc7RUFDL0UsZUFBZSxFQUFDLElBQUs7Q0FDeEI7O0FBZkwsQUFBQSxNQUFNLEFBZ0JELE1BQU0sQ0FBQTtFQUFDLE9BQU8sRUFBQyxFQUFHO0VBQUUsS0FBSyxFQUFFLElBQUs7RUFBRSxPQUFPLEVBQUUsS0FBTTtDQUFHOztBQWhCekQsQUFpQkksTUFqQkUsQ0FpQkYsUUFBUSxDQUFBO0VBQ0osUUFBUSxFQUFFLFFBQVM7RUFBRSxPQUFPLEVBQUUsQ0FBRTtDQTBEbkM7O0FBNUVMLEFBbUJRLE1BbkJGLENBaUJGLFFBQVEsQ0FFSixLQUFLLENBQUE7RUFBRSxXQUFXLEVBQUUsS0FBTTtDQUFJOztBQW5CdEMsQUFvQlEsTUFwQkYsQ0FpQkYsUUFBUSxDQUdKLEtBQUssQ0FBQTtFQUNBLEtBQUssRUFBQyxJQUFLO0VBQ1gsaUJBQWlCO0NBK0JyQjs7QUFyRFQsQUF1QmEsTUF2QlAsQ0FpQkYsUUFBUSxDQUdKLEtBQUssQ0FHQSxJQUFJLENBQUE7RUFDRCw4Q0FBOEM7RUFDOUMsS0FBSyxFQUFFLEtBQU07RUFDYixLQUFLLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsTUFBTSxFQUFDLFVBQVc7Q0FjaEQ7O0FBeENkLEFBMkJnQixNQTNCVixDQWlCRixRQUFRLENBR0osS0FBSyxDQUdBLElBQUksQ0FJRCxFQUFFLENBQUE7RUFDRSxjQUFjLEVBQUUsU0FBVTtFQUFFLFNBQVMsRUFBRSxJQUFLO0VBQUUsYUFBYSxFQUFFLElBQUs7Q0FDckU7O0FBN0JqQixBQThCZ0IsTUE5QlYsQ0FpQkYsUUFBUSxDQUdKLEtBQUssQ0FHQSxJQUFJLENBT0QsQ0FBQyxDQUFBO0VBQ0csU0FBUyxFQUFFLElBQUs7RUFBRSxXQUFXLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsS0FBTTtFQUN0RixPQUFPLEVBQUUsTUFBTztDQUluQjs7QUFwQ2pCLEFBOEJnQixNQTlCVixDQWlCRixRQUFRLENBR0osS0FBSyxDQUdBLElBQUksQ0FPRCxDQUFDLEFBR0ksTUFBTSxDQUFDO0VBQ0osS0FBSyxFQUFDLE9BQVE7Q0FDakI7O0FBbkNyQixBQXVCYSxNQXZCUCxDQWlCRixRQUFRLENBR0osS0FBSyxDQUdBLElBQUksQUFjQSxXQUFXLENBQUE7RUFDSixZQUFZLEVBQUMsQ0FBRTtDQUN0Qjs7QUF2Q2pCLEFBb0JRLE1BcEJGLENBaUJGLFFBQVEsQ0FHSixLQUFLLEFBcUJDLElBQUksQ0FBQTtFQUNILGFBQWEsRUFBRSxDQUFFO0NBU2xCOztBQW5EZCxBQTRDb0IsTUE1Q2QsQ0FpQkYsUUFBUSxDQUdKLEtBQUssQUFxQkMsSUFBSSxDQUVILElBQUksQ0FDQyxDQUFDLENBQUE7RUFDRyxTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxHQUFJO0VBQUUsVUFBVSxFQUFFLElBQUs7RUFBRSxhQUFhLEVBQUUsQ0FBRTtDQUM1RTs7QUE5Q3JCLEFBK0NvQixNQS9DZCxDQWlCRixRQUFRLENBR0osS0FBSyxBQXFCQyxJQUFJLENBRUgsSUFBSSxDQUlDLEVBQUUsQ0FBQTtFQUNFLFdBQVcsRUFBRSxHQUFJO0VBQUUsU0FBUyxFQUFFLElBQUs7Q0FDdEM7O0FBakRyQixBQXNEUSxNQXRERixDQWlCRixRQUFRLENBcUNKLFNBQVMsQ0FBQTtFQUNMLEtBQUssRUFBRSxLQUFNO0VBQUUsS0FBSyxFQUFFLEtBQU07RUFBRSxVQUFVLEVBQUUsTUFBTztFQUFFLFVBQVUsRUFBRSxLQUFNO0NBUXhFOztBQS9EVCxBQXlEWSxNQXpETixDQWlCRixRQUFRLENBcUNKLFNBQVMsQ0FHTCxDQUFDLENBQUE7RUFDRyxNQUFNLEVBQUUsV0FBYTtFQUFFLE9BQU8sRUFBRSxZQUFhO0VBQUUsVUFBVSxFQUFFLE9BQVE7RUdyd0QvRSxhQUFhLEVIcXdEMEYsSUFBSTtFR3B3RDNHLHFCQUFxQixFSG93RGtGLElBQUk7RUdud0QzRyxrQkFBa0IsRUhtd0RxRixJQUFJO0VHbHdEM0csaUJBQWlCLEVIa3dEc0YsSUFBSTtFR2p3RDNHLGdCQUFnQixFSGl3RHVGLElBQUk7RUFBRyxNQUFNLEVBQUUsSUFBSztFQUFFLEtBQUssRUFBRSxJQUFLO0NBSWhJOztBQTlEYixBQXlEWSxNQXpETixDQWlCRixRQUFRLENBcUNKLFNBQVMsQ0FHTCxDQUFDLEFBRUksTUFBTSxDQUFBO0VBQ0gsVUFBVSxFQUFDLE9BQVE7RUd2d0RuQyxhQUFhLEVIdXdEOEMsSUFBSTtFR3R3RC9ELHFCQUFxQixFSHN3RHNDLElBQUk7RUdyd0QvRCxrQkFBa0IsRUhxd0R5QyxJQUFJO0VHcHdEL0QsaUJBQWlCLEVIb3dEMEMsSUFBSTtFR253RC9ELGdCQUFnQixFSG13RDJDLElBQUk7Q0FDbEQ7O0FBN0RqQixBQWdFUSxNQWhFRixDQWlCRixRQUFRLENBK0NKLE9BQU8sQ0FBQTtFQUNGLE1BQU0sRUFBRSxVQUFXO0VBQUUsY0FBYyxFQUFFLElBQUs7Q0FVOUM7O0FBM0VULEFBbUVnQixNQW5FVixDQWlCRixRQUFRLENBK0NKLE9BQU8sQ0FFSCxNQUFNLENBQ0YsQ0FBQyxDQUFBO0VBQ0csS0FBSyxFQUFFLElBQUs7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUFFLFdBQVcsRUFBRSxHQUFJO0VBQUcsVUFBVSxFQUFFLElBQUs7Q0FDckU7O0FBckVwQixBQXNFZ0IsTUF0RVYsQ0FpQkYsUUFBUSxDQStDSixPQUFPLENBRUgsTUFBTSxDQUlGLEVBQUUsQ0FBQTtFQUNFLFNBQVMsRUFBRSxJQUFLO0VBQUUsV0FBVyxFQUFFLEdBQUk7Q0FDdEMiLCJuYW1lcyI6W119 */
