/*  ==========================================================================
	Setup: Variables, Mixins
    ========================================================================== */
/*  ==========================================================================
	Fonts
    ========================================================================== */
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-thin.eot");
  src: url("../fonts/roboto-thin.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-thin.woff") format("woff"), url("../fonts/roboto-thin.ttf") format("truetype"), url("../fonts/roboto-thin.svg#Roboto") format("svg");
  font-weight: 100;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-thin.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-thin.eot");
  src: url("../fonts/roboto-thin.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-thin.woff") format("woff"), url("../fonts/roboto-thin.ttf") format("truetype"), url("../fonts/roboto-thin.svg#Roboto") format("svg");
  font-weight: 100;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-thin.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-light.eot");
  src: url("../fonts/roboto-light.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-light.woff") format("woff"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.svg#Roboto") format("svg");
  font-weight: 300;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-light.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-lightitalic.eot");
  src: url("../fonts/roboto-lightitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-lightitalic.woff") format("woff"), url("../fonts/roboto-lightitalic.ttf") format("truetype"), url("../fonts/roboto-lightitalic.svg#Roboto") format("svg");
  font-weight: 300;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-lightitalic.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-regular.eot");
  src: url("../fonts/roboto-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-regular.woff") format("woff"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.svg#Roboto") format("svg");
  font-weight: normal;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-regular.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-italic.eot");
  src: url("../fonts/roboto-italic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-italic.woff") format("woff"), url("../fonts/roboto-italic.ttf") format("truetype"), url("../fonts/roboto-italic.svg#Roboto") format("svg");
  font-weight: normal;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-italic.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-medium.eot");
  src: url("../fonts/roboto-medium.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-medium.woff") format("woff"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.svg#Roboto") format("svg");
  font-weight: 500;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-medium.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-mediumitalic.eot");
  src: url("../fonts/roboto-mediumitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-mediumitalic.woff") format("woff"), url("../fonts/roboto-mediumitalic.ttf") format("truetype"), url("../fonts/roboto-mediumitalic.svg#Roboto") format("svg");
  font-weight: 500;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-mediumitalic.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-bold.eot");
  src: url("../fonts/roboto-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-bold.woff") format("woff"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.svg#Roboto") format("svg");
  font-weight: 700;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-bold.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-bolditalic.eot");
  src: url("../fonts/roboto-bolditalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-bolditalic.woff") format("woff"), url("../fonts/roboto-bolditalic.ttf") format("truetype"), url("../fonts/roboto-bolditalic.svg#Roboto") format("svg");
  font-weight: 700;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-bolditalic.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-black.eot");
  src: url("../fonts/roboto-black.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-black.woff") format("woff"), url("../fonts/roboto-black.ttf") format("truetype"), url("../fonts/roboto-black.svg#Roboto") format("svg");
  font-weight: 900;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-black.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-black.eot");
  src: url("../fonts/roboto-black.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-black.woff") format("woff"), url("../fonts/roboto-black.ttf") format("truetype"), url("../fonts/roboto-black.svg#Roboto") format("svg");
  font-weight: 900;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-black.svg#Roboto") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/avenir-thin.eot");
  src: url("../fonts/avenir-thin.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-thin.woff") format("woff"), url("../fonts/avenir-thin.ttf") format("truetype"), url("../fonts/avenir-thin.svg#avenir") format("svg");
  font-weight: 100;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/avenir-thin.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/avenir-thin.eot");
  src: url("../fonts/avenir-thin.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-thin.woff") format("woff"), url("../fonts/avenir-thin.ttf") format("truetype"), url("../fonts/avenir-thin.svg#avenir") format("svg");
  font-weight: 100;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/avenir-thin.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: 300;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: 300;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: normal;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: normal;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/avenir-medium.eot");
  src: url("../fonts/avenir-medium.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-medium.woff") format("woff"), url("../fonts/avenir-medium.ttf") format("truetype"), url("../fonts/avenir-medium.svg#avenir") format("svg");
  font-weight: 500;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/avenir-medium.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: 500;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: 700;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/null.eot");
  src: url("../fonts/null.eot?#iefix") format("embedded-opentype"), url("../fonts/null.woff") format("woff"), url("../fonts/null.ttf") format("truetype"), url("../fonts/null.svg#avenir") format("svg");
  font-weight: 700;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/null.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/avenir-black.eot");
  src: url("../fonts/avenir-black.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-black.woff") format("woff"), url("../fonts/avenir-black.ttf") format("truetype"), url("../fonts/avenir-black.svg#avenir") format("svg");
  font-weight: 900;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/avenir-black.svg#avenir") format("svg"); } }

@font-face {
  font-family: "avenir";
  src: url("../fonts/avenir-black.eot");
  src: url("../fonts/avenir-black.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-black.woff") format("woff"), url("../fonts/avenir-black.ttf") format("truetype"), url("../fonts/avenir-black.svg#avenir") format("svg");
  font-weight: 900;
  font-style: italic; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "avenir";
    src: url("../fonts/avenir-black.svg#avenir") format("svg"); } }

/*  ==========================================================================
	Global Settings & Utilities
    ========================================================================== */
/*  ==========================================================================
	Layouts
    ========================================================================== */
/*
* header
*/
#header {
  padding: 25px 12px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }

#header.scroll {
  background: #000000;
  background: rgba(0, 0, 0, 0.3); }

/*
* banner
*/
#banner {
  position: relative; }

/*
* body
*/
body {
  font-weight: 100; }

/*  ==========================================================================
	Components
    ========================================================================== */
/*
* logo
*/
.logo {
  float: left;
  width: 33%; }
  .logo a:hover {
    text-decoration: none; }
  .logo span {
    margin-left: 23px;
    color: #fff;
    font-size: 15px;
    font-size: 0.9375rem; }
    .logo span sup {
      text-transform: uppercase; }

@media (max-width: 1200px) {
  .logo {
    width: 25%; }
    .logo span {
      display: block;
      margin-left: 70px; } }

@media (max-width: 992px) {
  .logo {
    width: 33%; }
    .logo span {
      display: block;
      font-size: rem-cacl(14);
      margin-left: 0;
      padding-left: 70px; } }

@media (max-width: 767px) {
  .logo {
    width: 85%;
    float: none; } }

/*
* navigation
*/
#navigation {
  padding: 15px 40px 15px 0;
  text-align: right;
  float: left;
  width: 67%; }
  #navigation ul {
    margin: 0;
    transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
  #navigation li {
    display: inline-block;
    margin-right: 2%; }
    #navigation li:hover a, #navigation li.active a {
      color: #f53c55;
      transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
    #navigation li:last-child {
      margin-right: 0; }
    #navigation li a {
      color: #fff;
      text-transform: uppercase;
      font-weight: 900;
      transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
      #navigation li a:hover {
        text-decoration: none; }
    #navigation li .login-button {
      min-width: 100%;
      text-align: center; }

@media (max-width: 1410px) {
    #navigation li {
      font-size: 0.8125rem; } }

@media (max-width: 1200px) {
  #navigation {
    width: 75%; }
    #navigation li {
      font-size: 0.6875rem; } }

@media (max-width: 992px) {
  #navigation {
    width: 67%;
    padding: 15px 10px 15px 0; }
    #navigation li {
      margin-right: 1.5%; }
   }

@media (max-width: 991px) {
  #navigation {
    text-align: left;
    float: none;
    padding: 0;
    transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
    #navigation ul {
      width: 100%;
      position: absolute;
      top: 0;
      right: -100%;
      background: #000000;
      background: rgba(0, 0, 0, 0.7);
      padding: 110px 50px 60px;
      display: none; }
    #navigation li {
      margin-right: 0;
      display: block;
      padding: 0;
      margin-bottom: 38px; }
  #navigation.active ul {
    right: 0;
    transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    display: block; } }

/*
* menu-btn
*/
.menu-btn {
  display: none; }

.secondry-color .menu-btn .line {
  background: #3f3f3f; }

@media (max-width: 991px) {
  .menu-btn {
    display: block;
    background: none;
    border: none;
    width: 29px;
    height: 16px;
    padding: 0;
    position: absolute;
    top: 39px;
    right: 24px;
    z-index: 2;
    transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
    .menu-btn .line {
      display: block;
      height: 4px;
      width: 29px;
      margin-bottom: 2px;
      border-radius: 3px;
      background: #fff; }
      .menu-btn .line:last-child {
        margin-bottom: 0; }
  #navigation.active .menu-btn {
    transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
    #navigation.active .menu-btn .line {
      opacity: 0;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      position: absolute; }
      #navigation.active .menu-btn .line:first-child, #navigation.active .menu-btn .line:last-child {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        z-index: 2;
        top: 6px; }
      #navigation.active .menu-btn .line:first-child {
        left: -1px;
        -webkit-transform: rotate(40deg);
            -ms-transform: rotate(40deg);
                transform: rotate(40deg); }
      #navigation.active .menu-btn .line:last-child {
        right: 2px;
        -webkit-transform: rotate(-40deg);
            -ms-transform: rotate(-40deg);
                transform: rotate(-40deg); } }

/*
* login-area
*/
.login-area {
  float: left;
  width: 10%; }

@media (max-width: 992px) {
  .login-area {
    width: 9%; } }

/*
* global classes
*/
.clear {
  clear: both;
  height: 1px;
  line-height: 1px; }

.more {
  font-weight: 500; }

.left {
  float: left; }

.right {
  float: right; }

img.alignleft {
  float: left;
  margin: 0 10px 10px 0;
  display: inline; }

img.alignright {
  float: right;
  margin: 0 0px 10px 10px;
  display: inline; }

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px; }

/*
* boxes
*/
.boxes {
  margin-bottom: 70px; }

/*
* box1
*/
.box1 {
  border: 1px solid #aaaaaa;
  border-radius: 4px;
  padding: 10px 20px 10px;
  margin-bottom: 26px;
  text-align: right;
  min-height: 122px; }
  .box1 h5 {
    font-weight: 100;
    color: #838383;
    margin-bottom: 30px;
    line-height: 1.22;
    font-size: 18px;
    font-size: 1.125rem; }
  .box1 p {
    color: #bababa;
    margin-bottom: 10px;
    line-height: 1.25; }
  .box1 table {
    width: 100%;
    text-align: left; }
    .box1 table td {
      width: 90%;
      font-weight: 100;
      font-size: 16px;
      font-size: 1rem;
      color: #bababa; }
    .box1 table td.price {
      width: 10%;
      text-align: right; }

.login-button {
  border: 2px solid #f4f4f4;
  padding: 10px 25px;
  font-size: 14px;
  font-size: 0.875rem;
  background: transparent;
  border-radius: 3px; }
  .login-button:hover {
    color: #000;
    background: transparent;
    border: 2px solid #f4f4f4; }

@media (max-width: 992px) {
  .login-button {
    padding: 7px 10px; } }

.button {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 100;
  color: #fefefe;
  line-height: 1.25;
  min-width: 121px;
  padding: 12px 10px;
  border-radius: 5px; }
  .button:hover {
    color: #fefefe; }

.button1 {
  background: #ce255d;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #ce255d 0%, #b8225e 50%, #94205f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce255d', endColorstr='#94205f',GradientType=1 );
  /* IE6-9 */
  transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }

.button1 {
  transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
  .button1:hover {
    background: #9d215e;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #9d215e 0%, #9e225d 29%, #a6245c 69%, #ac255b 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d215e', endColorstr='#ac255b',GradientType=1 );
    /* IE6-9 */ }

.button3 {
  background: #9d215e;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #9d215e 0%, #9e225d 31%, #a5245c 70%, #ab255b 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d215e', endColorstr='#ab255b',GradientType=1 );
  /* IE6-9 */
  transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }

.button3:hover {
  background: #ac255b;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #ac255b 0%, #a4245c 35%, #9d225d 76%, #9d215e 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ac255b', endColorstr='#9d215e',GradientType=1 );
  /* IE6-9 */
  transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }

.button2 {
  background: #ce255d;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #ce255d 0%, #c9255d 28%, #ba255d 70%, #b2255c 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce255d', endColorstr='#b2255c',GradientType=1 );
  /* IE6-9 */
  border-radius: 5px; }

.link {
  color: #20f4ab;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 100;
  transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }

/*
* footer
*/
#footer p {
  font-weight: 100;
  font-size: 14px;
  font-size: 0.875rem;
  color: #a4a4a4;
  line-height: 1.28;
  margin-bottom: 20px; }

#footer .copyright {
  margin-bottom: 30px; }

#footer .footer-content {
  padding: 55px 0; }

@media (min-width: 1201px) {
  #footer .container {
    max-width: 830px; } }

@media (max-width: 544px) {
  .footer p {
    color: #3f3f3f;
    margin-bottom: 25px; }
  .footer .copyright {
    margin-bottom: 35px; }
  .footer .footer-content {
    padding: 40px 0; } }

/*
* footer-sociables
*/
.footer-sociables {
  padding: 18px;
  text-align: center;
  position: relative; }
  .footer-sociables ul {
    margin: 0; }
  .footer-sociables li {
    display: inline-block;
    margin-right: 20px; }
    .footer-sociables li:last-child {
      margin-right: 0; }

.footer-sociables {
  background: #be295b;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #be295b 0%, #ac265b 30%, #9a255e 52%, #8c225e 71%, #731f5f 96%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#be295b', endColorstr='#731f5f',GradientType=1 );
  /* IE6-9 */ }

@media (max-width: 544px) {
  .footer-sociables li {
    margin-right: 35px; } }

/*
 * footer-navigation
 */
.footer-navigation {
  margin-bottom: 40px;
  text-align: center; }
  .footer-navigation li {
    display: inline-block;
    padding: 0 19px;
    margin-right: 1%;
    margin-bottom: 10px; }
    .footer-navigation li:hover a {
      color: #731F5F;
      transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
    .footer-navigation li a {
      font-weight: 900;
      font-size: 14px;
      font-size: 0.875rem;
      color: #e14a73;
      text-transform: uppercase;
      transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
      .footer-navigation li a:hover {
        text-decoration: none; }

@media (max-width: 544px) {
  .footer-navigation {
    margin-bottom: 10px; }
    .footer-navigation li {
      margin-bottom: 30px; } }

/*
*form
*/
.form .form-control {
  border: 1px solid #aaaaaa;
  color: #bababa;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 200;
  line-height: 1.28;
  padding: 12px 25px;
  height: 44px !important;
  -webkit-appearance: none; }

.form .form-group {
  position: relative;
  margin-bottom: 19px; }

.form .form-group p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.1;
  text-align: left;
  padding-left: 25px;
  margin-top: 19px;
  margin-bottom: 9px;
  color: #bababa; }

.form .form-group p a {
  color: #23d699; }

.form .checkbox {
  text-align: left; }

.form .captcha {
  margin-top: 80px; }

.form .button1 {
  margin-left: 0;
  margin-top: 79px; }

.form .select:before {
  background: #fff url("../images/dropdown-arrow.png") no-repeat;
  width: 20px;
  height: 20px;
  content: "";
  position: absolute;
  right: 10px;
  height: 44px;
  width: 44px;
  background-position: center center;
  border: 1px solid #aaaaaa;
  border-radius: 0 0.125rem 0.125rem 0;
  pointer-events: none; }

.form .form-control-calendar {
  background: url("../images/calendar.png") no-repeat;
  background-position: right 13px center;
  padding-right: 49px; }

.form textarea {
  min-height: 124px;
  resize: none; }

.form .checkbox label {
  position: relative; }

@media (max-width: 767px) {
  .form .captcha {
    margin-top: 38px; }
  .form .button1 {
    margin-top: 38px !important; }
  /*.form .button1, .details-form .button1, .search-form .button1, .enquiry-form .button1 {
        margin-top: 38px;
    } */
  .form .form-control {
    font-size: 0.875rem; }
  .form .form-group p {
    font-size: 0.75rem; }
  .relocating .button1 {
    margin-top: 0px !important;
    min-width: 85px; } }

@media (max-width: 544px) {
  .form .button1, .form .button1:hover {
    width: 100%; } }

/*
*details form
*/
.details-form .checkbox {
  margin-bottom: 34px; }

.details-form .button1, .login .button1, .search-form .button1, .enquiry-form .button1 {
  padding: 10px 0px;
  min-width: 131px;
  border-radius: 3px; }

/*
*login
*/
.login .button1 {
  margin-top: 22px; }

.login .form-group p {
  margin-top: 36px; }

/*
*search form
*/
.search-form .select:before {
  right: 0px; }

.search-form .button1 {
  margin-top: 20px; }

/*
*enquiry-form
*/
.enquiry-form .checkbox {
  max-width: 382px;
  margin: 0px auto; }

.enquiry-form .button1 {
  margin-top: 49px; }

/*
*relocating 
*/
.relocating .button1 {
  padding: 10px 25px;
  height: 44px; }

/*
* payment form
*/
.payment-form .select:before {
  background: none; }

.payment-form .button1 {
  padding: 10px 30px; }

.payment-form .form-group p {
  line-height: 20px; }

.payment-form .column p {
  padding-left: 0; }

.payment-form .checkbox label {
  padding-right: 32px; }

.payment-form .checkbox label:after {
  left: auto;
  right: 0; }

.payment-form .total-payment {
  border: 1px solid #aaaaaa;
  padding: 20px; }

.payment-form .total-payment p {
  font-size: 24px;
  font-size: 1.5rem;
  color: #838383;
  line-height: 30px;
  margin-top: 0;
  padding-left: 0; }

.form .form-group .payment-selectbox {
  position: relative;
  display: block; }

.form .form-group .payment-selectbox:after {
  content: "";
  background: url(../images/payment-selectbox-after.jpg) no-repeat;
  height: 42px;
  width: 48px;
  position: absolute;
  top: 1px;
  right: 1px;
  pointer-events: none; }

@media (max-width: 767px) {
  .join-process li a {
    padding: 15px 12px !important; } }

/*
* list1
*/
.list1 li {
  width: 23.5%;
  margin-right: 2%;
  float: left; }
  .list1 li:last-child {
    margin-right: 0; }

.list1 .box li {
  width: 100%;
  float: none;
  margin-right: 0;
  list-style: none;
  margin-bottom: 20px; }

@media (max-width: 767px) {
  .list1 li {
    width: 49%; }
    .list1 li:nth-child(2n) {
      margin-right: 0; } }

@media (max-width: 544px) {
  .list1 li {
    width: 100%; } }

/*
*list2
*/
.list2 li {
  color: #828181;
  margin-bottom: 19px; }

.list2 .data {
  width: 20%;
  float: left; }

.list2 .value {
  width: 80%;
  float: left; }

@media (max-width: 767px) {
  .list2 li {
    font-size: 0.875rem; }
  .list2 .data {
    width: 45%; }
  .list2 .value {
    width: 55%; } }

html, body, #container {
  height: 100%; }

#footer {
  min-height: 382px; }

.push {
  height: 382px; }

#inner-container {
  height: auto !important;
  margin-bottom: -382px;
  min-height: 100%;
  position: relative; }

/*
*section
*/
.section1 {
  padding: 92px 0px 95px;
  text-align: center; }

.section1 h3 {
  margin-bottom: 30px; }

.section1 h4 {
  margin-bottom: 25px; }

.section1 .details-form {
  max-width: 612px;
  margin: 0px auto; }

.section1 .login {
  max-width: 400px;
  margin: 0px auto; }

.section1 p {
  color: #828181;
  font-weight: 100;
  letter-spacing: 0.5px;
  line-height: 1.75;
  margin-bottom: 15px;
  margin-bottom: 50px; }

@media (max-width: 767px) {
  .section1 {
    padding: 35px 0px; }
  .section1 h4 {
    font-size: 1.25rem; }
  .section1 p {
    font-size: 0.875rem;
    margin-bottom: 36px; } }

@media (max-width: 544px) {
  .section1 h3 {
    font-size: 1.4375rem; } }

/*
*header secondry color 
*/
#header.secondry-color {
  position: relative;
  position: fixed; }

#header.secondry-color #navigation li a {
  color: #e93366; }

#header.secondry-color #navigation li:hover a, #header.secondry-color #navigation li.active a {
  color: #e93366;
  color: rgba(233, 51, 102, 0.4); }

#header.secondry-color #navigation li .login-button {
  border-color: #432460;
  color: #432460; }

#header.secondry-color #navigation li .login-button:hover {
  color: #432460;
  color: rgba(67, 36, 96, 0.4); }

#header.secondry-color .logo span {
  color: #646464; }

/*
*accordion
*/
.accordion .inner-content p {
  font-size: 16px;
  font-size: 1rem;
  color: #b4b4b4;
  line-height: 1.75;
  margin-bottom: 27px; }

/*
*checkbox
*/
.checkbox input[type="checkbox"] + label {
  margin: 0; }

.checkbox input[type="checkbox"] {
  visibility: hidden;
  display: none; }

.checkbox label {
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
  padding-left: 32px;
  color: #bababa;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 200;
  line-height: 1.28; }

.checkbox label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0px;
  height: 19px;
  width: 21px;
  background: url("../images/checkbox.png") no-repeat left top; }

.checkbox input[type="checkbox"]:checked + label:after {
  background-position: left bottom; }

@media (max-width: 544px) {
  .checkbox label {
    color: #22de9e; } }

/*
* home-page-banner
*/
body.home #banner {
  background: url(../images/banner.jpg) no-repeat center center;
  background-size: cover;
  min-height: 640px; }

@media (max-width: 1200px) {
  body.home #banner {
    min-height: 600px; } }

@media (max-width: 992px) {
  body.home #banner {
    min-height: 520px; }
    body.home #banner h1 {
      font-size: 2.5rem;
      margin-bottom: 20px; }
    body.home #banner p {
      font-size: 1rem; }
    body.home #banner .button {
      margin-top: 35px; } }

@media (max-width: 767px) {
  body.home #banner {
    min-height: 450px; } }

@media (max-width: 544px) {
  body.home #banner {
    background-image: url(../images/banner-mobile.jpg);
    min-height: 640px; }
    body.home #banner h1 {
      font-weight: 2.25rem; }
    body.home #banner p {
      font-size: 1.25rem; } }

/*
* page-account 
*/
body.page-account #banner h2 {
  font-size: 48px;
  font-size: 3rem;
  font-weight: 900; }

@media (max-width: 767px) {
  body.page-account #banner h2 {
    font-size: 2.25rem; } }

/*
* banner
*/
#banner {
  background: url(../images/banner1.jpg) no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 380px; }
  #banner .description {
    text-align: center;
    color: #fff; }
  #banner h1 {
    color: #fff;
    margin-bottom: 30px;
    font-weight: 900;
    line-height: 1.16; }
  #banner h2 {
    color: #fff;
    margin-bottom: 35px; }
  #banner p {
    font-size: 24px;
    font-size: 1.5rem;
    color: #fff;
    margin-bottom: 13px;
    line-height: 1.16; }
  #banner .button {
    background-color: #f4f4f4;
    color: #e93366;
    margin-top: 70px;
    min-width: 191px;
    border-radius: 6px; }

@media (max-width: 1100px) {
  #banner {
    min-height: 340px; } }

@media (max-width: 992px) {
  #banner {
    min-height: 320px; }
    #banner h2 {
      margin-bottom: 20px; } }

@media (max-width: 768px) {
  #banner {
    min-height: 350px; } }

@media (max-width: 640px) {
  #banner .description {
    padding: 0 12px;
    width: 100%; }
    #banner .description h2 {
      font-size: 1.625rem; }
    #banner .description p {
      font-size: 1.125rem;
      line-height: 1.27; } }

/*
* absolute-center
*/
.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

/*
* popup
*/
body.open {
  overflow: hidden; }

.popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  background: rgba(0, 0, 0, 0.4);
  z-index: 105; }
  .popup .modal-content {
    border-color: #000; }
  .popup .close {
    position: absolute;
    top: 5px;
    right: 5px;
    color: #000;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    font-style: normal;
    float: none; }

.table {
  margin-bottom: 0;
  position: relative; }
  .table table {
    width: 100%; }
  .table td {
    width: 25%;
    font-size: 16px;
    font-size: 1rem; }
  .table td, .table th {
    border-right: 1px solid #000;
    padding: 20px 12px;
    padding: 1.250rem 0.750rem; }
  .table td:last-child, .table th:last-child {
    border-right: none; }
  .table td {
    border-color: #000; }
  .table th {
    border-top: none; }

.popup.active {
  display: block; }

.hide {
  display: none !important; }

/*  ==========================================================================
	pages
    ========================================================================== */
body.home #banner img {
  min-height: 640px; }

/*
* join-form
*/
.join-form {
  padding: 75px 0; }
  .join-form h3 {
    margin-bottom: 28px;
    line-height: 1.13; }
  .join-form p {
    font-weight: 100;
    color: #838383;
    line-height: 1.25;
    margin-bottom: 15px;
    letter-spacing: .5px; }
  .join-form li {
    margin-bottom: 50px; }
  .join-form .form-section {
    max-width: 350px;
    margin: 0 auto;
    padding-top: 0px;
    padding-bottom: 0; }
    .join-form .form-section .button1 {
      display: inline-block; }
  .join-form .form-section input[type="text"] {
    border: 1px solid #bababa;
    padding: 12px 25px;
    color: #bababa;
    font-weight: 200;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.28;
    width: 100%; }
  .join-form .form-section input[type="submit"] {
    border: none;
    width: auto;
    margin-top: 53px; }

@media (max-width: 543px) {
  .join-form .form-section {
    max-width: 100%;
    margin: 0; }
    .join-form .form-section input[type="submit"] {
      max-width: 100%;
      width: 100%;
      margin-top: 37px; } }

/*
*latest-news
*/
.latest-news {
  padding: 70px 0 50px;
  background-color: #f5f5f5;
  position: relative; }
  .latest-news ul {
    margin-bottom: 0; }
  .latest-news li {
    float: left;
    width: 400px;
    margin-right: 15px; }
    .latest-news li:nth-child(even) {
      margin-right: 0; }
    .latest-news li h6 {
      line-height: 1.25;
      margin-bottom: 10px; }
    .latest-news li .date {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.28;
      margin-bottom: 4px;
      display: inline-block;
      font-weight: 500; }
    .latest-news li p {
      font-size: 14px;
      font-size: 0.875rem;
      color: #a4a4a4;
      font-weight: 200;
      line-height: 1.714; }
  .latest-news h3 {
    margin-bottom: 50px; }
  .latest-news .previous, .latest-news .next {
    position: absolute;
    top: 50%; }
  .latest-news .previous {
    left: -100px; }
  .latest-news .next {
    right: -100px; }
  .latest-news a {
    color: inherit; }
  .latest-news a:hover {
    text-decoration: none; }

@media (max-width: 1200px) {
  .latest-news .next {
    right: -50px; }
  .latest-news .previous {
    left: -50px; } }

@media (min-width: 992px) {
  .latest-news .container {
    max-width: 850px; }
  .latest-news li {
    width: 400px; } }

@media (max-width: 991px) {
  .latest-news .container {
    width: 670px; }
  .latest-news li {
    width: 310px; } }

@media (max-width: 767px) {
  .latest-news .container {
    width: 550px; }
  .latest-news li {
    width: 250px; }
  .latest-news .previous {
    left: -35px; }
  .latest-news .next {
    right: -35px; } }

@media (max-width: 640px) {
  .latest-news .container {
    width: 465px; }
  .latest-news li {
    width: 210px; } }

@media (max-width: 544px) {
  .latest-news {
    padding: 70px 20px 100px; }
    .latest-news .container {
      width: 100%; }
    .latest-news li {
      margin-right: 0;
      width: 100%; }
    .latest-news .controls {
      bottom: -55px; } }

/*
* reliable-internet
*/
.reliable-internet {
  background: url(../images/image1.jpg) no-repeat;
  background-size: cover;
  padding: 70px 20px;
  min-height: 525px; }
  .reliable-internet h2 {
    font-size: 33px;
    font-size: 2.0625rem;
    color: #fff;
    margin-bottom: 18px;
    line-height: 1.18; }
  .reliable-internet p {
    color: #fff;
    margin-bottom: 16px;
    line-height: 1.44; }

@media (min-width: 544px) and (max-width: 767px) {
  .reliable-internet {
    background-size: 100% 100%;
    min-height: 420px; } }

@media (max-width: 543px) {
  .reliable-internet {
    background-image: url(../images/image1-mobile.jpg); } }

/*
* about-teleron
*/
.about-teleron {
  background: url(../images/image2.jpg) no-repeat;
  background-size: cover;
  padding: 60px 0 40px;
  background-position: center top; }
  .about-teleron h3 {
    color: #fff;
    margin-bottom: 20px; }
  .about-teleron p {
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff;
    line-height: 1.44;
    margin-bottom: 20px; }

@media (max-width: 543px) {
  .about-teleron {
    background-image: url(../images/image2-mobile.jpg);
    padding: 65px 20px 100px; }
    .about-teleron h3 {
      margin-bottom: 55px; } }

/*
* website-launched-slideshow
*/
.website-launched-slideshow {
  position: relative; }
  .website-launched-slideshow .slides {
    position: relative;
    width: 100%;
    height: 750px; }
  .website-launched-slideshow .slide {
    display: block !important;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    background: #fff !important;
    padding: 165px 0 124px;
    display: none; }
    .website-launched-slideshow .slide:first-child {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .website-launched-slideshow .slide .text {
      padding-right: 150px; }
    .website-launched-slideshow .slide .date {
      font-weight: 500;
      font-size: 14px;
      font-size: 0.875rem;
      color: #3f3f3f;
      line-height: 1.42;
      margin-bottom: 35px;
      display: block; }
    .website-launched-slideshow .slide p {
      font-size: 14px;
      font-size: 0.875rem;
      color: #a4a4a4;
      margin-bottom: 20px; }
    .website-launched-slideshow .slide .button {
      margin-top: 40px;
      color: #fff;
      letter-spacing: .5px; }
  .website-launched-slideshow .image {
    margin-bottom: 40px;
    padding-top: 24px; }
    .website-launched-slideshow .image img {
      width: 100%; }
  .website-launched-slideshow .form-section {
    padding: 0;
    margin-bottom: 40px; }
    .website-launched-slideshow .form-section input[type="text"] {
      border-radius: 5px; }
    .website-launched-slideshow .form-section input[type="submit"] {
      background-color: #e93366;
      font-weight: 100;
      color: #fefefe;
      padding: 7px 12px;
      display: inline-block;
      margin: 0;
      border-radius: 5px; }

@media (max-width: 992px) {
  .website-launched-slideshow .slide .text {
    padding-right: 100px; }
  .website-launched-slideshow .form-section input[type="text"] {
    min-width: 100%;
    margin-bottom: 15px; } }

@media (max-width: 767px) {
  .website-launched-slideshow .slide .text {
    padding-right: 50px; } }

@media (max-width: 543px) {
  .website-launched-slideshow {
    padding-left: 10px;
    padding-right: 10px; }
    .website-launched-slideshow .slide .text {
      padding-right: 0.9375rem; }
    .website-launched-slideshow .slide .button {
      width: 100%; } }

@media (max-width: 544px) {
  .website-launched-slideshow .slide {
    padding: 70px 0; } }

/*
* controls
*/
.controls {
  position: absolute;
  bottom: 45px;
  width: 100%;
  text-align: center;
  left: 0;
  z-index: 1000; }
  .controls a {
    background: transparent;
    border: 1px solid #18db98;
    border-radius: 50%;
    height: 12px;
    width: 12px;
    display: inline-block;
    margin: 0 2px;
    text-indent: -1000px;
    overflow: hidden; }
    .controls a:hover, .controls a.activeSlide {
      background: #18db98; }

/*
* form-section
*/
.form-section {
  text-align: center; }
  .form-section input[type="text"] {
    padding: 5px 10px;
    font-size: 16px;
    font-size: 1rem;
    border: 1px solid #bababa;
    width: 60%;
    color: #e93366;
    font-weight: 100;
    line-height: 1.22;
    border-radius: 2px;
    display: inline-block;
    width: auto; }
  .form-section input[type="submit"] {
    border: none;
    padding: 12px;
    min-width: 100px; }

@media (max-width: 767px) {
  .form-section input[type="text"] {
    width: 100%;
    margin-bottom: 15px; }
  .form-section input[type="submit"] {
    width: 100%;
    margin-left: 0; } }

@media (max-width: 543px) {
  .form-section input[type="submit"] {
    width: auto; } }

@media (min-width: 1201px) {
  .website-launched-slideshow .container {
    max-width: 1058px; } }

/*
* packages
*/
.packages {
  padding: 75px 0 95px; }
  .packages h3 {
    margin-bottom: 75px; }
  .packages .list1 {
    margin-bottom: 70px; }

@media (min-width: 1201px) {
  .packages .container {
    max-width: 1010px; } }

@media (max-width: 543px) {
  .packages {
    padding-right: 5px;
    padding-left: 5px; } }

/*
* box
*/
.box {
  margin-bottom: 15px; }
  .box header {
    padding: 20px;
    text-align: center;
    font-size: 29px;
    font-size: 1.8125rem;
    color: #fff;
    line-height: 1.17;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    text-transform: capitalize;
    font-weight: 500; }
    .box header a {
      color: inherit;
      display: block; }
    .box header a:hover {
      text-decoration: none; }
  .box footer {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 12px;
    text-align: center;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 100;
    color: #fffefe; }
    .box footer a {
      color: inherit; }
      .box footer a:hover {
        text-decoration: none; }
    .box footer img {
      margin-left: 20px; }

/*
* box-content
*/
.box-content h3 {
  font-size: 29px;
  font-size: 1.8125rem;
  font-weight: 100;
  color: #9b9a9a;
  line-height: 1.13;
  margin-bottom: 25px; }
  .box-content h3 sub {
    font-size: 16px;
    font-size: 1rem;
    bottom: 0.15em;
    left: -6px; }

.box-content li {
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  color: #acacac; }
  .box-content li span {
    margin-left: 10px;
    font-weight: 100;
    font-size: 12px;
    font-size: 0.75rem; }

.box-content p {
  font-weight: 100;
  font-size: 14px;
  font-size: 0.875rem;
  color: #acacac; }

.box-content .category {
  min-height: 190px; }

.box-content .price {
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  float: right;
  width: 15%;
  margin-left: 0; }

.box-content .section {
  border-bottom: 1px solid #ede8ef; }

.box-content .main-content {
  padding: 30px 15px 8px; }
  .box-content .main-content h3 + p {
    min-height: 85px; }

.box-content .additional-content {
  padding: 20px 15px 8px; }
  .box-content .additional-content h5 {
    font-size: 14px;
    font-size: 0.875rem;
    color: #acacac;
    margin-bottom: 24px; }
  .box-content .additional-content li {
    margin-bottom: 25px; }
    .box-content .additional-content li a {
      font-weight: 500;
      font-size: 16px;
      font-size: 1rem;
      color: #13d89e;
      float: right;
      width: 40%;
      text-decoration: underline; }

@media (max-width: 892px) {
  .box-content .main-content {
    min-height: 500px; } }

@media (max-width: 544px) {
  .box-content .main-content {
    min-height: auto; } }

/*
* package1
*/
.package1 header {
  background: #4a205f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #4a205f 0%, #501f5f 29%, #571f5f 68%, #5d1f5f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a205f', endColorstr='#5d1f5f',GradientType=1 );
  /* IE6-9 */ }

.package1 footer {
  background: #2b2160;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #2b2160 0%, #302160 29%, #392060 68%, #3d2060 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b2160', endColorstr='#3d2060',GradientType=1 );
  /* IE6-9 */ }

.package1 .box-content {
  border-left: 1px solid #482060;
  border-right: 1px solid #482060; }

/*
* package2
*/
.package2 header {
  background: #601f5f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #601f5f 1%, #661f5f 29%, #6c1f5f 68%, #711f5f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#601f5f', endColorstr='#711f5f',GradientType=1 );
  /* IE6-9 */ }

.package2 footer {
  background: #402060;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #402060 1%, #462060 29%, #4d205f 69%, #521f5f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#402060', endColorstr='#521f5f',GradientType=1 );
  /* IE6-9 */ }

.package2 .box-content {
  border-left: 1px solid #661f5f;
  border-right: 1px solid #661f5f; }

/*
* package3
*/
.package3 header {
  background: #741f5f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #741f5f 1%, #7a1f5f 29%, #82205f 69%, #87205f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#741f5f', endColorstr='#87205f',GradientType=1 );
  /* IE6-9 */ }

.package3 footer {
  background: #561f5f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #561f5f 1%, #5b1f5f 29%, #601f5f 69%, #521f5f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#561f5f', endColorstr='#521f5f',GradientType=1 );
  /* IE6-9 */ }

.package3 .box-content {
  border-left: 1px solid #681f5f;
  border-right: 1px solid #681f5f; }

/*
* package4
*/
.package4 header {
  background: #8b205f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #8b205f 1%, #93215e 29%, #97215e 69%, #9e215e 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8b205f', endColorstr='#9e215e',GradientType=1 );
  /* IE6-9 */ }

.package4 footer {
  background: #6b1f5f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #6b1f5f 1%, #701f5f 29%, #771f5f 69%, #7d1f5f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b1f5f', endColorstr='#7d1f5f',GradientType=1 );
  /* IE6-9 */ }

.package4 .box-content {
  border-left: 1px solid #7c1f5f;
  border-right: 1px solid #7c1f5f; }

/*
* accordion
*/
.accordion {
  padding-left: 70px;
  margin-right: 0; }
  .accordion li {
    float: none;
    width: 100%;
    margin-bottom: 20px; }
    .accordion li h6 {
      background: url(../images/plus.png) no-repeat;
      background-position: left center;
      padding-left: 25px;
      cursor: pointer;
      font-weight: 100;
      font-size: 14px;
      font-size: 0.875rem;
      color: #838383;
      margin-bottom: 20px; }
    .accordion li h6.open {
      background: url(../images/minus.png) no-repeat left 3px; }
  .accordion .inner-content {
    display: none; }
    .accordion .inner-content ul {
      padding-left: 35px; }
    .accordion .inner-content li {
      position: relative;
      font-weight: 100;
      font-size: 14px;
      font-size: 0.875rem;
      color: #838383;
      list-style: none;
      margin-bottom: 10px; }
      .accordion .inner-content li:before {
        background: #838383;
        height: 5px;
        width: 5px;
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 8px;
        left: -15px;
        content: ""; }

@media (max-width: 544px) {
  .accordion {
    padding-left: 0; }
    .accordion li h6 {
      font-size: 1rem;
      color: #2fdf9e; } }

.box .min-rates {
  display: none;
  padding-top: 30px; }
  .box .min-rates li {
    margin-bottom: 3px; }
    .box .min-rates li p {
      margin-bottom: 3px;
      font-weight: 100;
      font-size: 14px;
      font-size: 0.875rem;
      color: #18db98; }
    .box .min-rates li span {
      text-align: right;
      display: inline-block;
      color: #c6c6c6;
      float: right; }

/***************** additional-information **********************************************/
.additional-content .heading5 {
  background: url(../images/plus.png) no-repeat;
  height: 10px;
  background-position: right top; }

.additional-content.open .heading5 {
  background-image: url(../images/minus.png); }

.additional-information {
  display: none; }

.additional-content h5 {
  cursor: pointer; }

.additional-content.open .additional-information {
  display: block; }

@media (max-width: 767px) {
  .box header {
    border-radius: 5px; }
  .box .description {
    display: none;
    margin-top: -4px; } }

body.home sup {
  text-transform: lowercase; }

/*********** critical-information ***************/
/*
*body
*/
body.critical-information #content .section1 {
  padding-top: 170px; }

body.critical-information .title {
  margin-bottom: 130px; }

body.critical-information .section1 {
  padding-bottom: 155px; }

@media (max-width: 768px) {
  body.critical-information .section1 .title {
    margin-bottom: 49px; }
  body.critical-information .section1 {
    padding-bottom: 35px; } }

/*
*post
*/
.post .section1 .title {
  font-size: 16px;
  font-size: 1rem; }

.post .section1 p {
  font-size: 14px;
  font-size: 0.875rem;
  color: #3f3f3f; }

/*********** faq & supports ***************/
/*
*body
*/
body.faq-support #content > .section1 {
  padding-top: 170px; }

body.faq-support .section1 p {
  margin-bottom: 113px; }

body.faq-support .section1 h4 {
  margin-bottom: 33px; }

body.faq-support .enquiry-form {
  margin-top: 60px; }

body.faq-support .section1 .enquiry-form {
  margin-top: 60px; }

body.faq-support .section1 .container {
  max-width: 633px; }

@media (max-width: 767px) {
  body.faq-support .section1 p {
    margin-bottom: 47px !important; }
  body.faq-support .section1 .enquiry-form {
    margin-top: 0px; } }

@media (max-width: 544px) {
  body.faq-support .section1 h4 {
    margin-bottom: 22px; } }

/*
*faq section
*/
.faq-section {
  padding: 32px 0px 32px; }

.faq-section h4 {
  margin-bottom: 63px; }

.faq-section .container {
  max-width: 826px; }

.faq-section .accordion {
  margin-top: 0px;
  padding-left: 0px; }

.faq-section .accordion li {
  margin-bottom: 14px; }

.faq-section .accordion .inner-content {
  padding-left: 25px; }

.faq-section .accordion li h6 {
  font-size: 16px;
  font-size: 1rem; }

@media (max-width: 544px) {
  .faq-section h4 {
    margin-bottom: 43px; } }

/************* enquiry form *************************/
.enquiry-form .checkbox input {
  display: none; }

.enquiry-form .checkbox .icheckbox {
  background: url(../images/checkbox.png) no-repeat;
  width: 19px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0; }

.enquiry-form .checkbox {
  position: relative; }

.enquiry-form .checkbox span {
  color: #bababa;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 200;
  line-height: 1.28;
  padding-left: 32px;
  vertical-align: middle; }

.enquiry-form .checkbox .icheckbox.checked {
  background-position: left bottom; }

/*
* join-process
*/
.join-process {
  background-color: #ebebeb; }
  .join-process ul {
    text-align: center;
    margin-bottom: 0; }
  .join-process li {
    border-top: 5px solid #ebebeb;
    display: inline-block;
    margin-right: -5px; }
    .join-process li.active {
      border-top: 5px solid #95235e;
      background-color: #fff; }
    .join-process li a {
      text-decoration: none;
      padding: 25px 62px;
      text-align: center;
      font-weight: 900;
      font-size: 16px;
      font-size: 1rem;
      color: #9c9c9c;
      display: block;
      text-transform: capitalize; }

@media (max-width: 992px) {
  .join-process li a {
    padding: 25px 40px; } }

@media (max-width: 768px) {
  .join-process li a {
    padding: 20px; } }

@media (max-width: 543px) {
  .join-process li {
    display: block;
    margin-right: 0; } }

/*
* confirmation page-specific
*/
body.page-confirmation #content {
  position: relative; }

.confirmation-details {
  min-height: 820px; }
  .confirmation-details h2 {
    color: #828181;
    margin-bottom: 35px;
    font-weight: 100; }
  .confirmation-details p {
    color: #828181;
    font-size: 18px;
    font-size: 1.125rem; }
  .confirmation-details .button1 {
    margin-top: 180px;
    min-width: 167px;
    display: inline-block; }

@media (max-width: 543px) {
  .confirmation-details {
    min-height: 600px; }
    .confirmation-details .button1 {
      margin-top: 45px; } }

/*
* form-section
*/
.form-section {
  padding: 70px 0 85px;
  text-align: center; }
  .form-section p {
    font-weight: 100;
    color: #b2b2b2;
    font-size: 16px;
    font-size: 1rem; }
    .form-section p a {
      font-weight: 500;
      color: #3fc493; }
  .form-section form {
    margin-top: 50px; }
  .form-section input[type="text"] {
    border: 1px solid #aaaaaa;
    padding: 10px;
    text-align: center;
    min-width: 230px;
    font-size: 14px;
    font-size: 0.875rem;
    color: #bababa; }
  .form-section input[type="submit"] {
    display: inline-block;
    display: block;
    margin: 60px auto 0;
    text-transform: capitalize; }
  .form-section input[type="submit"].button3 {
    min-width: 153px; }

@media (max-width: 767px) {
  .form-section input[type="submit"].button3 {
    min-width: 153px;
    width: auto; } }

/*
* join-procedure
*/
body.summery .join-procedure {
  padding-bottom: 150px; }

.join-procedure {
  padding: 70px 10px 80px; }
  .join-procedure h3 {
    font-weight: 100;
    margin-bottom: 30px; }
  .join-procedure .list1 {
    padding-left: 10px;
    padding-right: 10px; }
  .join-procedure .heading {
    margin-bottom: 80px; }
  .join-procedure .lead {
    font-weight: 100;
    font-size: 18px;
    font-size: 1.125rem;
    color: #838383;
    margin-bottom: 30px; }
  .join-procedure span.cost {
    display: block;
    text-align: right;
    font-weight: 100;
    font-size: 18px;
    font-size: 1.125rem;
    color: #838383;
    margin-bottom: 10px;
    padding-right: 20px; }
  .join-procedure .accordion {
    margin-top: 0; }
  .join-procedure .inner-wrap {
    float: left;
    min-width: 80%;
    text-align: left; }
    .join-procedure .inner-wrap p {
      margin-bottom: 5px; }
  .join-procedure span {
    text-align: right;
    display: inline-block;
    font-weight: 100;
    font-size: 16px;
    font-size: 1rem;
    color: #bababa;
    text-transform: capitalize; }
  .join-procedure .price1 {
    padding-top: 68px; }
  .join-procedure .amount {
    text-align: right;
    padding-right: 20px; }
    .join-procedure .amount .setup-cost {
      margin-bottom: 55px; }
    .join-procedure .amount h5 {
      font-weight: 100;
      font-size: 18px;
      font-size: 1.125rem;
      color: #838383;
      line-height: 1.22;
      margin-bottom: 6px; }
    .join-procedure .amount h4 {
      font-weight: 100;
      color: #838383;
      line-height: 1.16;
      margin-bottom: 5px; }
    .join-procedure .amount p {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 100;
      color: #bababa;
      margin-bottom: 25px;
      line-height: 1.25; }
  .join-procedure .box-content .price {
    font-size: 16px;
    font-size: 1rem; }

.join-procedure .box-content .additional-content li a {
  text-decoration: none; }

@media (max-width: 992px) {
  .join-procedure .inner-wrap {
    min-width: 70%; } }

@media (max-width: 768px) {
  .join-procedure {
    padding: 70px 10px 70px; } }

@media (max-width: 640px) {
  .join-procedure h3 {
    margin-bottom: 20px; }
  .join-procedure .lead {
    margin-bottom: 20px; }
  .join-procedure .box1 {
    min-height: auto; }
    .join-procedure .box1 h5 {
      margin-bottom: 20px; }
  .join-procedure .inner-wrap {
    min-width: 100%;
    margin-bottom: 15px; }
  .join-procedure .price1 {
    padding-top: 0; } }

@media (max-width: 544px) {
  .join-procedure .heading {
    margin-bottom: 30px; } }

/*
* accept-payment-summery
*/
.accept-payment-summery {
  text-align: center; }
  .accept-payment-summery .button1 {
    margin-top: 50px;
    font-weight: 100;
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff; }
  .accept-payment-summery .checkbox label {
    position: relative;
    font-weight: 500;
    font-size: 16px;
    font-size: 1rem;
    color: #b2b2b2; }
    .accept-payment-summery .checkbox label:after {
      top: 0; }
    .accept-payment-summery .checkbox label a {
      color: #3fc493; }

@media (max-width: 800px) {
  .accept-payment-summery {
    text-align: left; }
    .accept-payment-summery .checkbox label {
      padding-left: 35px; } }

@media (max-width: 640px) {
  .accept-payment-summery .checkbox label {
    padding-left: 40px; }
    .accept-payment-summery .checkbox label:after {
      left: 15px; }
  .accept-payment-summery .button1 {
    margin-top: 30px;
    width: 100%; } }

@media (min-width: 993px) and (max-width: 1298px) {
  .join-procedure .main-content {
    min-height: 544px; } }

@media (max-width: 992px) {
  .join-procedure .list1 li {
    width: 49%; }
    .join-procedure .list1 li:nth-child(2n) {
      margin-right: 0; }
  .join-procedure .list1 .section li {
    width: 100%; } }

@media (max-width: 640px) {
  .join-procedure .list1 li {
    width: 100%;
    margin-right: 0;
    float: none; }
  .join-procedure .list1 .box-content .main-content {
    min-height: auto; } }

/*************************************************************************************************************************/
/*
* join-procedure
*/
.join-procedure .accordion {
  padding-left: 200px;
  margin-bottom: 70px; }
  .join-procedure .accordion li h6 {
    font-size: 16px;
    font-size: 1rem; }

.join-procedure .box-content .section {
  padding: 30px 23px 10px; }

.join-procedure .box-content .main-content p {
  font-size: 16px;
  font-size: 1rem; }

@media (max-width: 992px) {
  .join-procedure .accordion {
    padding-left: 100px; } }

@media (max-width: 544px) {
  .join-procedure .accordion {
    padding-left: 20px; } }

.join-procedure .package1 header {
  background: #6d1f5f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #6d1f5f 0%, #741f5f 28%, #7c1f5f 68%, #85205f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6d1f5f', endColorstr='#85205f',GradientType=1 );
  /* IE6-9 */ }

.join-procedure .package1 .box-content {
  border-right: 1px solid #432060;
  border-left: 1px solid #432060;
  border-bottom: 1px solid #432060;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px; }

.join-procedure .package2 header {
  background: #89205f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #89205f 0%, #92215e 30%, #9a215e 69%, #a3225e 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#89205f', endColorstr='#a3225e',GradientType=1 );
  /* IE6-9 */ }

.join-procedure .package2 .box-content {
  border-right: 1px solid #601f5f;
  border-left: 1px solid #601f5f;
  border-bottom: 1px solid #601f5f;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px; }

.join-procedure .package3 header {
  background: #a7225e;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #a7225e 0%, #af235e 30%, #b7235e 69%, #bd245d 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a7225e', endColorstr='#bd245d',GradientType=1 );
  /* IE6-9 */ }

.join-procedure .package3 .box-content {
  border-right: 1px solid #781f5f;
  border-left: 1px solid #781f5f;
  border-bottom: 1px solid #781f5f;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px; }

.join-procedure .package4 header {
  background: #c1245d;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #c1245d 0%, #cd255d 30%, #b7235e 69%, #ce255d 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c1245d', endColorstr='#ce255d',GradientType=1 );
  /* IE6-9 */ }

.join-procedure .package4 .box-content {
  border-right: 1px solid #95215e;
  border-left: 1px solid #95215e;
  border-bottom: 1px solid #95215e;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px; }

/*
* text
*/
.text {
  min-height: 85px; }

/*
* highlight
*/
@media (max-width: 992px) {
  .box-content .highlight {
    background: #5ee8b3; }
    .box-content .highlight label {
      color: #fff; }
      .box-content .highlight label .price {
        color: #fff; } }

/*
* data-info 
*/
.join-procedure .data-info {
  padding: 0; }

@media (max-width: 992px) {
  .box-content {
    overflow: hidden; }
  .join-procedure .data-info {
    margin: 0 -23px 20px; }
    .join-procedure .data-info li {
      padding: 10px 23px;
      margin-bottom: 0 !important;
      border-bottom: 1px solid #f0e8ef; }
      .join-procedure .data-info li:last-child {
        border-bottom: none; }
    .join-procedure .data-info h5, .join-procedure .data-info p {
      padding-left: 23px; }
    .join-procedure .data-info p {
      margin-top: 20px; } }

/*
* section
*/
.section input[type="radio"] {
  display: none; }

.section label {
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  color: #acacac;
  display: block;
  position: relative;
  padding-right: 30px;
  cursor: pointer; }
  .section label:before {
    content: "";
    background: url("../images/radio.png") no-repeat;
    width: 19px;
    height: 19px;
    position: absolute;
    top: 5px;
    right: 0; }
  .section label small {
    font-weight: 100;
    font-size: 12px;
    font-size: 0.75rem;
    margin-left: 15px; }

.contract-period p {
  color: #c5c5c5;
  font-size: 14px;
  font-size: 0.875rem; }

.section input[type="radio"]:checked + label:before {
  background-position: left bottom; }

.cost {
  border-bottom: none;
  text-align: center; }
  .cost p span {
    font-weight: 100;
    font-size: 35px;
    font-size: 2.1875rem;
    color: #36e4a5;
    text-align: center;
    display: block; }
    .cost p span sub {
      font-size: 18px;
      font-size: 1.125rem;
      text-transform: none;
      bottom: 0px;
      left: -9px; }
  .cost .min-cost {
    color: #b3b3b3; }

@media (min-width: 993px) and (max-width: 1215px) {
  .section label small {
    margin-left: 0px;
    display: block; } }

/*************** plan  ****************************************/
.plan {
  min-height: 360px;
  position: relative; }
  .plan ul {
    margin-bottom: 15px;
    padding-left: 25px; }
  .plan p {
    font-weight: 500;
    text-align: center;
    margin-bottom: 28px; }
    .plan p a {
      text-decoration: underline; }
  .plan span sub {
    font-size: 16px;
    font-size: 1rem;
    text-transform: none;
    left: -6px;
    font-size: 16px;
    font-size: 1rem;
    bottom: 0px; }
  .plan label {
    padding-right: 0;
    padding-left: 35px;
    color: #828181; }
    .plan label:before {
      right: auto;
      left: 0;
      top: 1px; }
  .plan .money {
    font-weight: 500;
    font-size: 24px;
    font-size: 1.5rem;
    color: #3bcd8b;
    line-height: 1.16;
    display: block;
    text-align: center;
    position: absolute;
    bottom: 20px;
    left: 30%; }

.text {
  color: #acacac;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.28; }

@media (min-width: 993px) and (max-width: 1400px) {
  .plan {
    min-height: 395px; }
    .plan ul {
      padding-left: 15px; } }

@media (max-width: 992px) {
  .plan .money {
    position: relative;
    bottom: auto;
    left: auto;
    text-align: center; } }

@media (max-width: 640px) {
  .plan {
    min-height: auto; } }

.amount1 {
  margin-top: 55px; }
  .amount1 span {
    font-weight: 100;
    font-size: 45px;
    font-size: 2.8125rem;
    color: #626161;
    line-height: 1.15;
    margin-bottom: 10px; }
    .amount1 span sub {
      bottom: 0px;
      text-transform: none;
      left: -12px;
      font-size: 26px;
      font-size: 1.625rem; }
  .amount1 p {
    color: #acacac; }

/*************** modem  ****************************************/
.modem {
  background-color: #ebebeb;
  padding: 55px 0 47px;
  position: relative; }
  .modem:after {
    content: "";
    background: url(../images/tab-image.jpg) repeat-x;
    width: 100%;
    height: 54px;
    top: 429px;
    position: absolute;
    left: 0; }
  .modem .checkbox {
    padding: 0 10px; }
  .modem .checkbox label {
    position: relative;
    font-weight: 100;
    font-size: 16px;
    font-size: 1rem;
    color: #828181; }
  .modem ul {
    margin-bottom: 50px; }
  .modem li {
    float: left;
    width: 450px;
    margin-right: 110px; }
    .modem li:last-child {
      margin-right: 0; }
    .modem li figure {
      text-align: center;
      min-height: 255px; }
      .modem li figure img {
        max-height: 145px; }
    .modem li figcaption {
      padding-top: 30px;
      font-weight: 100;
      font-size: 16px;
      font-size: 1rem;
      color: #828181; }
  .modem h3 {
    font-weight: 100;
    margin-bottom: 70px;
    text-align: center; }
  .modem .section label {
    padding-left: 35px;
    padding-right: 0; }
    .modem .section label:before {
      right: auto;
      left: 0;
      top: 0; }
  .modem .tab-content {
    padding: 50px 0 0 50px;
    display: none; }
    .modem .tab-content.active {
      display: block; }
    .modem .tab-content li {
      float: none;
      width: 100%;
      display: block;
      font-weight: 100;
      font-size: 16px;
      font-size: 1rem;
      color: #828181; }
    .modem .tab-content p {
      font-weight: 100;
      font-size: 16px;
      font-size: 1rem;
      color: #828181;
      line-height: 1.25; }
  .modem .tabs {
    background: #c5c5c5;
    position: relative;
    z-index: 1;
    width: 100%; }
    .modem .tabs ul {
      width: 100%;
      margin-bottom: 0;
      text-align: center; }
    .modem .tabs li {
      display: inline-block;
      border-top: 4px solid #c5c5c5;
      float: none;
      width: auto;
      margin-right: 0;
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
      .modem .tabs li.active {
        border-top-color: #9e2360;
        background-color: #ebebeb; }
        .modem .tabs li.active a {
          color: #a5a4a4; }
      .modem .tabs li a {
        font-weight: 900;
        font-size: 16px;
        font-size: 1rem;
        color: #fefefe;
        line-height: 1.25;
        padding: 15px 50px;
        display: block;
        text-transform: capitalize; }
        .modem .tabs li a:hover {
          text-decoration: none; }
  .modem .previous, .modem .next {
    position: absolute;
    top: 30%; }
  .modem .previous {
    left: 50px; }
  .modem .next {
    right: 50px; }

@media (max-width: 992px) {
  .modem .tab-content {
    padding: 105px 30px 0 30px; }
  .modem .previous {
    left: 20px; }
  .modem .next {
    right: 20px; } }

.modem .tab-content label {
  text-align: left; }

.modem .tab-content ul {
  padding-left: 45px; }

@media (max-width: 992px) {
  .join-procedure .box .description {
    display: none; } }

/*********** login page specification ***************/
/*
*body
*/
body.login .section1 {
  padding-bottom: 227px; }

body.login .section1 h2 {
  margin-bottom: 181px; }

@media (max-width: 768px) {
  body.login .section1 {
    padding-bottom: 35px; }
  body.login .section1 h2 {
    margin-bottom: 48px; } }

/*
* balance
*/
.balance {
  background: #eeeeee;
  padding: 60px 0; }
  .balance h4 {
    margin-bottom: 30px; }

.bills {
  margin-bottom: 70px; }
  .bills .last-cell {
    width: 9%; }
    .bills .last-cell a {
      color: #34dda3; }
  .bills h6 {
    font-weight: 100;
    color: #828181;
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.125rem; }
  .bills table {
    width: 100%; }
    .bills table .table-heading {
      border-bottom: 1px solid #b7b7b7; }
      .bills table .table-heading th {
        padding-bottom: 6px; }
    .bills table th, .bills table td {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 100;
      color: #828181;
      line-height: 1.25;
      margin-bottom: 10px;
      padding: 8px 8px 8px 0;
      width: 22%; }
      .bills table th a, .bills table td a {
        text-decoration: underline;
        color: #35dda3; }

@media (max-width: 544px) {
  .bills .last-cell {
    width: 3%; }
  .bills table th, .bills table td {
    width: 21%; } }

/*
* history
*/
.history table td a, .history table th a {
  text-decoration: none; }

/*
* due-amount
*/
.due-amount {
  margin-bottom: 80px; }
  .due-amount h5 {
    font-weight: 100;
    color: #828181;
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.125rem; }
  .due-amount p span {
    line-height: 1.16;
    width: 100%;
    margin-bottom: 10px; }
  .due-amount .wrap {
    text-align: left;
    margin-bottom: 35px; }

@media (max-width: 543px) {
  .due-amount h5 {
    padding-left: 25px; }
  .due-amount .wrap {
    width: 49%;
    padding-left: 25px; }
    .due-amount .wrap p span {
      font-size: 2.25rem; } }

/*
* data-info
*/
.data-info {
  padding: 60px 0 70px; }
  .data-info .heading1 {
    margin-bottom: 35px; }
  .data-info h6 {
    color: #828181;
    margin-bottom: 15px;
    font-size: 18px;
    font-size: 1.125rem; }
  .data-info .date {
    font-weight: 100;
    font-size: 16px;
    font-size: 1rem;
    color: #828181; }

.data-usage {
  padding-top: 55px; }

.progress-inner {
  border-radius: 5px; }

.wrap {
  width: 25%;
  float: left;
  text-align: center;
  margin-right: 1%; }
  .wrap:last-child {
    margin-right: 0; }
  .wrap p {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 100;
    color: #828181; }
  .wrap span {
    font-size: 36px;
    font-size: 2.25rem;
    font-weight: 100;
    color: #2fdda1;
    display: block; }

.progress-bar {
  width: 48%;
  margin-right: 1%;
  float: left;
  text-indent: 1em; }
  .progress-bar p {
    font-weight: 100;
    color: #828181;
    font-size: 16px;
    font-size: 1rem;
    text-align: right; }
    .progress-bar p span {
      text-align: left;
      font-size: 18px;
      font-size: 1.125rem;
      float: left; }
  .progress-bar .progress {
    color: #ad265b;
    border: 1px solid #aaaaaa;
    border-radius: 5px;
    height: 25px;
    background: #fff; }

@media (max-width: 767px) {
  .wrap span {
    font-size: 1.625rem; } }

@media (max-width: 543px) {
  .progress-bar {
    float: none;
    width: 100%;
    margin-right: 0; }
    .progress-bar .progress {
      height: 50px; } }

.progress-inner[value]::-webkit-progress-value {
  background: #ab265b;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #ab265b 0%, #ab265b 30%, #ce255d 69%, #ce255d 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ab265b', endColorstr='#ce255d',GradientType=1 );
  /* IE6-9 */
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  overflow: hidden;
  position: relative; }

.progress-inner[value]::-moz-progress-bar {
  background: #ab265b;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #ab265b 0%, #ab265b 30%, #ce255d 69%, #ce255d 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ab265b', endColorstr='#ce255d',GradientType=1 );
  /* IE6-9 */
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  overflow: hidden;
  position: relative; }

@media screen and (min-width: 0\0) {
  .progress-bar .progress-inner {
    background: #ab265b;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #ab265b 0%, #ab265b 30%, #ce255d 69%, #ce255d 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ab265b', endColorstr='#ce255d',GradientType=1 );
    /* IE6-9 */
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    overflow: hidden;
    position: relative; } }

.ie .progress-bar .progress {
  background: #fff !important; }

.progress-inner[value]::-ms-fill {
  background: #ab265b; }

/*
*detail
*/
.details {
  padding: 71px 0px 170px; }

.details p {
  color: #828181; }

.details h4 {
  margin-bottom: 30px; }

.details h5 {
  font-weight: 100;
  margin-bottom: 30px;
  color: #828181; }

.details header h5 {
  display: inline-block;
  margin-right: 10px;
  font-size: 18px;
  font-size: 1.125rem; }

.details .title {
  margin-bottom: 80px; }

.details .list2 {
  margin-bottom: 85px; }

@media (max-width: 767px) {
  .details {
    padding: 75px 0px 75px; }
  .details .list2, .details .title {
    margin-bottom: 58px; } }

/*  ==========================================================================
	Vendor
    ========================================================================== */

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1peGlucy9fZm9udC1mYWNlLnNjc3MiLCJmb250cy9fcm9ib3RvLnNjc3MiLCJmb250cy9fYXZlbmlyLnNjc3MiLCJsYXlvdXRzL19kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJtaXhpbnMvX3VuaXRzLnNjc3MiLCI8bm8gc291cmNlPiIsImNvbXBvbmVudHMvX2JveGVzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2xpc3RzLnNjc3MiLCJjb21wb25lbnRzL19zdGlja3ktZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NoZWNrYm94LnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJtaXhpbnMvX2NlbnRlci1hbGlnbi5zY3NzIiwiY29tcG9uZW50cy9fcG9wdXAuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9fY3JpdGljYWwtaW5mb3JtYXRpb24uc2NzcyIsInBhZ2VzL19mYXEtJi1zdXBwb3J0LnNjc3MiLCJwYWdlcy9fam9pbi5zY3NzIiwicGFnZXMvX2xvZ2luLnNjc3MiLCJwYWdlcy9fdXNhZ2UtYW5kLWJpbGxpbmcuc2NzcyIsInBhZ2VzL19kZXRhaWxzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2lGQUVpRjtBQUlqRjs7aUZBRWlGO0FDOEQvRTtFQUNFLHNCQ3ZFa0M7RUR3RWhDLHFDQUFRO0VBQ1IsbU9BRzZEO0VBQy9ELGlCQXpEd0U7RUEwRHhFLG1C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b0QsY0FBYztFQUNkLDZCQUE2QjtFQUN6SCwwRkFBMkI7RUFBNkQsc0RBQXNEO0VBQzlJLG9IQUFtSDtFQUFFLFdBQVc7RUFDaEksNEJBQTRCO0VBQzVCLCtCQUErQjtFQUMvQixpQkFBaUI7RUFBRSxtQkFBbUIsRUFDckM7O0FBRUQ7RUFDRTtJQUNGLG9CQUFvQjtJQUFFLGtCQUFrQjtJQUNvRCxjQUFjO0lBQ2QsNkJBQTZCO0lBQ3pILDBGQUEyQjtJQUE2RCxzREFBc0Q7SUFDOUksb0hBQW1IO0lBQUUsV0FBVztJQUMvSCw0QkFBNEI7SUFDNUIsK0JBQStCO0lBQy9CLGlCQUFpQjtJQUFFLG1CQUFtQixFQUNyQyxFQUFBOztBQUdGO0VBQThCLDRCQUE0QixFQUFJOztBQUM5RDtFQUNHLG9CQUFxQixFQUN2Qjs7QUN4UEQ7O0VBRUU7QUFDRjtFQUNJLHdCQUF3QixFQUMzQjs7QUFDRDtFQUNJLGVBQWUsRUFDbEI7O0FBQ0Q7RUFDSSxvQkFBb0IsRUFDdkI7O0FBQ0Q7RUFDSSxpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGVBQWUsRUFDbEI7O0FBQ0Q7RUFDSSxzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLGdCdEJpQ2tCO0VzQmpDbEIsb0J0QmlDa0IsRXNCaENyQjs7QUFDRDtFQUNJLG9CQUFvQixFQUN2Qjs7QUFDRDtFQUNJLG9CQUFvQixFQUN2Qjs7QUFDRDtFQUNJO0lBQ0ksdUJBQXVCLEVBQzFCO0VBQ0Q7SUFDSSxvQkFBb0IsRUFDdkIsRUFBQTs7QTVCRkw7O2lGQUVpRiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRTZXR1cDogVmFyaWFibGVzLCBNaXhpbnNcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCAndmFyaWFibGVzL21haW4nO1xuQGltcG9ydCAnbWl4aW5zL21haW4nO1xuXG4vKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Rm9udHNcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCAnZm9udHMvbWFpbic7XG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRHbG9iYWwgU2V0dGluZ3MgJiBVdGlsaXRpZXNcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCAnc2V0dGluZ3MvbWFpbic7XG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRMYXlvdXRzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgJ2xheW91dHMvbWFpbic7XG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRDb21wb25lbnRzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFpbic7XG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRwYWdlc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0ICdwYWdlcy9tYWluJztcblxuXG4vKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0VmVuZG9yXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cblxuXG4iLCIvLy8gRGVmaW5lIGNvbXBsZXRlIGNvbGxlY3Rpb24gb2Ygc3R5bGVzIGZvciBhIGZvbnQgZmFtaWx5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRmb250LWZhbWlseSAtIE5hbWUgb2YgdGhlIGZvbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICQqLWZpbGUtcGF0aHMgLSBGaWxlIHBhdGhzIG9mIHRoaW4sIGxpZ2h0LCBub3JtYWwsIG1lZGl1bSwgYm9sZCBhbmQgdWx0cmEgYm9sZCBmb250cy5cbkBtaXhpbiBmb250LWZhY2UtY29sbGVjdGlvbigkZm9udC1mYW1pbHksXG4gJHRoaW4tZmlsZS1wYXRoLFxuICR0aGluLWl0YWxpYy1maWxlLXBhdGgsXG4gJGxpZ2h0LWZpbGUtcGF0aCxcbiAkbGlnaHQtaXRhbGljLWZpbGUtcGF0aCxcbiAkbm9ybWFsLWZpbGUtcGF0aCxcbiAkbm9ybWFsLWl0YWxpYy1maWxlLXBhdGgsXG4gJG1lZGl1bS1maWxlLXBhdGgsXG4gJG1lZGl1bS1pdGFsaWMtZmlsZS1wYXRoLFxuICRib2xkLWZpbGUtcGF0aCxcbiAkYm9sZC1pdGFsaWMtZmlsZS1wYXRoLFxuICR1bHRyYS1ib2xkLWZpbGUtcGF0aCxcbiAkdWx0cmEtYm9sZC1pdGFsaWMtZmlsZS1wYXRoXG4gKSB7XG5cbiAgICAgQGlmICgkdGhpbi1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJHRoaW4tZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IDEwMCwgJGZvbnQtc3R5bGU6IG5vcm1hbCk7XG4gICAgIH1cblxuICAgICBAaWYgKCR0aGluLWl0YWxpYy1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJHRoaW4tZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IDEwMCwgJGZvbnQtc3R5bGU6IGl0YWxpYyk7XG4gICAgIH1cblxuICAgICBAaWYgKCRsaWdodC1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJGxpZ2h0LWZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0OiAzMDAsICRmb250LXN0eWxlOiBub3JtYWwpO1xuICAgICB9XG5cbiAgICAgQGlmICgkbGlnaHQtaXRhbGljLWZpbGUtcGF0aCAhPSBudWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkbGlnaHQtaXRhbGljLWZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0OiAzMDAsICRmb250LXN0eWxlOiBpdGFsaWMpO1xuICAgICB9XG5cbiAgICAgQGlmICgkbm9ybWFsLWZpbGUtcGF0aCAhPSBudWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkbm9ybWFsLWZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0OiBub3JtYWwsICRmb250LXN0eWxlOiBub3JtYWwpO1xuICAgICB9XG5cbiAgICAgQGlmICgkbm9ybWFsLWl0YWxpYy1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJG5vcm1hbC1pdGFsaWMtZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IG5vcm1hbCwgJGZvbnQtc3R5bGU6IGl0YWxpYyk7XG4gICAgIH1cblxuICAgICAgQGlmICgkbWVkaXVtLWZpbGUtcGF0aCAhPSBudWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkbWVkaXVtLWZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0OiA1MDAsICRmb250LXN0eWxlOiBub3JtYWwpO1xuICAgICB9XG4gICAgICBAaWYgKCRtZWRpdW0taXRhbGljLWZpbGUtcGF0aCAhPSBudWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkbWVkaXVtLWl0YWxpYy1maWxlLXBhdGgsICRmb250LXdlaWdodDogNTAwLCAkZm9udC1zdHlsZTogaXRhbGljKTtcbiAgICAgfVxuICAgICAgQGlmICgkYm9sZC1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJGJvbGQtZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IDcwMCwgJGZvbnQtc3R5bGU6IG5vcm1hbCk7XG4gICAgIH1cbiAgICAgIEBpZiAoJGJvbGQtaXRhbGljLWZpbGUtcGF0aCAhPSBudWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkYm9sZC1pdGFsaWMtZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IDcwMCwgJGZvbnQtc3R5bGU6IGl0YWxpYyk7XG4gICAgIH1cbiAgICAgIEBpZiAoJHVsdHJhLWJvbGQtZmlsZS1wYXRoICE9IG51bGwpIHtcbiAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHksICR1bHRyYS1ib2xkLWZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0OiA5MDAsICRmb250LXN0eWxlOiBub3JtYWwpO1xuICAgICB9XG4gICAgICBAaWYgKCR1bHRyYS1ib2xkLWl0YWxpYy1maWxlLXBhdGggIT0gbnVsbCkge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseSwgJHVsdHJhLWJvbGQtZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IDkwMCwgJGZvbnQtc3R5bGU6IGl0YWxpYyk7XG4gICAgIH1cbn1cblxuLy8vIEJhc2VkIG9uIGh0dHA6Ly9jb2RlcGVuLmlvL2phdmFzdGV2ZTk5L3Blbi9oRHhwbiAuIEVhc3kgd2F5IHRvIGNyZWF0ZSBAZm9udC1mYWNlIGRlZmluYXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZvbnQtZmFtaWx5IC0gTmFtZSBvZiB0aGUgZm9udC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGUtcGF0aCAtIFBhdGggcmVsYXRpdmUgdG8gJ2ZvbnRzJyBkaXJlY3RvcnksIHdpdGhvdXQgZXh0ZW5zaW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZvbnQtd2VpZ2h0IFtub3JtYWxdIC0gV2VpZ2h0IG9mIHRoZSBmb250LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZvbnQtc3R5bGUgW25vcm1hbF0gLSBTdHlsZSBvZiB0aGUgZm9udC5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQ6IG5vcm1hbCwgJGZvbnQtc3R5bGU6IG5vcm1hbCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzLyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnLi4vZm9udHMvI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICB1cmwoJy4uL2ZvbnRzLyN7JGZpbGUtcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICB1cmwoJy4uL2ZvbnRzLyN7JGZpbGUtcGF0aH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICB1cmwoJy4uL2ZvbnRzLyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcbiAgfVxuXG4gIC8vIENocm9tZSBmb3IgV2luZG93cyByZW5kZXJpbmcgZml4OiBodHRwOi8vd3d3LmFkdHJhay5jby51ay9ibG9nL2ZvbnQtZmFjZS1jaHJvbWUtcmVuZGVyaW5nL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGZvbnQtZmFjZS1jb2xsZWN0aW9uKFwiUm9ib3RvXCIsXG5cInJvYm90by10aGluXCIsXG5cInJvYm90by10aGluaXRhbGljXCIsXG5cInJvYm90by1saWdodFwiLFxuXCJyb2JvdG8tbGlnaHRpdGFsaWNcIixcblwicm9ib3RvLXJlZ3VsYXJcIixcblwicm9ib3RvLWl0YWxpY1wiLFxuXCJyb2JvdG8tbWVkaXVtXCIsXG5cInJvYm90by1tZWRpdW1pdGFsaWNcIixcblwicm9ib3RvLWJvbGRcIixcblwicm9ib3RvLWJvbGRpdGFsaWNcIixcblwicm9ib3RvLWJsYWNrXCIsXG5cInJvYm90by1ibGFja2l0YWxpY1wiXG4pXG4iLCJAaW5jbHVkZSBmb250LWZhY2UtY29sbGVjdGlvbihcImF2ZW5pclwiLFxuICAgIFwiYXZlbmlyLXRoaW5cIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcImF2ZW5pci1tZWRpdW1cIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcIm51bGxcIixcbiAgICBcImF2ZW5pci1ibGFja1wiLFxuICAgIFwibnVsbFwiXG4pXG5cbiIsIi8qXG4qIGhlYWRlclxuKi9cbiNoZWFkZXIge1xuICAgIHBhZGRpbmc6IDI1cHggMTJweDsgXG4gICAgcG9zaXRpb246IGZpeGVkOyBcbiAgICB0b3A6IDA7IFxuICAgIGxlZnQ6IDA7IFxuICAgIHdpZHRoOiAxMDAlOyBcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuICAgIFxuICAgICNoZWFkZXIuc2Nyb2xsIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMyk7XG4gICAgfVxuXG4vKlxuKiBiYW5uZXJcbiovXG4jYmFubmVyIHtcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qXG4qIGJvZHlcbiovXG5ib2R5IHtcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuXG4iLCIvKlxuKiBsb2dvXG4qL1xuLmxvZ28ge1xuICAgIGZsb2F0OiBsZWZ0OyBcbiAgICB3aWR0aDogMzMlO1xuICAgIGEge1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyM3B4OyBcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBzdXAge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWVkaWEobWF4LXdpZHRoOjEyMDBweCkge1xuICAgIC5sb2dve1xuICAgICAgICAgd2lkdGg6MjUlO1xuICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxuICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhY2woMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuXG4vKlxuKiBuYXZpZ2F0aW9uXG4qL1xuI25hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IDE1cHggNDBweCAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY3JTtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAwLjFzO1xuICAgICAgIH1cbiAgICBsaSB7XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgIGNvbG9yOiAjZjUzYzU1OyBcbiAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ2luLWJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6MTIwMHB4KSB7XG4gICAgI25hdmlnYXRpb24ge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBsaSB7Zm9udC1zaXplOiByZW0tY2FsYygxNSk7fVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo5OTJweCkge1xuICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDE1cHggMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjUlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgMHM7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMTBweCA1MHB4IDYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgI25hdmlnYXRpb24uYWN0aXZlIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuXG5cbi8qXG4qIG1lbnUtYnRuXG4qL1xuLm1lbnUtYnRuIHtkaXNwbGF5OiBub25lO31cblxuLnNlY29uZHJ5LWNvbG9yIC5tZW51LWJ0biAubGluZSB7XG4gICAgYmFja2dyb3VuZDogIzNmM2YzZjtcbn1cblxuXG5cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5tZW51LWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyBcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICB0b3A6IDM5cHg7XG4gICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIHdpZHRoOiAyOXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICNuYXZpZ2F0aW9uLmFjdGl2ZSB7XG4gICAgICAgIC5tZW51LWJ0biB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDBzO1xuICAgICAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQsICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbn1cblxuXG4vKlxuKiBsb2dpbi1hcmVhXG4qL1xuLmxvZ2luLWFyZWEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMCU7XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAubG9naW4tYXJlYSB7XG4gICAgICAgIHdpZHRoOiA5JTtcbiAgICB9XG59XG5cbi8qXG4qIGdsb2JhbCBjbGFzc2VzXG4qL1xuLmNsZWFyIHsgY2xlYXI6IGJvdGg7IGhlaWdodDogMXB4OyBsaW5lLWhlaWdodDogMXB4O31cblxuLm1vcmUgeyBmb250LXdlaWdodDogNTAwO31cblxuLmxlZnQgeyBmbG9hdDogbGVmdDsgfVxuXG4ucmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuaW1nLmFsaWdubGVmdCB7IGZsb2F0OmxlZnQ7IG1hcmdpbjowIDEwcHggMTBweCAwOyBkaXNwbGF5OiBpbmxpbmU7fVxuXG5pbWcuYWxpZ25yaWdodCB7IGZsb2F0OnJpZ2h0OyBtYXJnaW46MCAwcHggMTBweCAxMHB4OyBkaXNwbGF5OiBpbmxpbmU7fVxuXG5pbWcuYWxpZ25jZW50ZXIgeyBkaXNwbGF5OmJsb2NrOyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6YXV0bzsgbWFyZ2luLWJvdHRvbToxMHB4O31cblxuIiwiXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFskZm9udC1zaXplLXJvb3RdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiAkZm9udC1zaXplLXJvb3QpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuXG5cblxuIixudWxsLCIvKlxuKiBib3hlc1xuKi9cbi5ib3hlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbn1cblxuLypcbiogYm94MVxuKi9cblxuLmJveDEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWluLWhlaWdodDogMTIycHg7XG4gICAgaDV7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICBjb2xvcjogIzgzODM4MzsgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxuICAgICAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2JhYmFiYTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwOyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgY29sb3I6ICNiYWJhYmE7XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJpY2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyAgICAgICAgfVxuICAgIH1cbn0iLCIubG9naW4tYnV0dG9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjRmNGY0O1xuICAgIH1cbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2Y0ZjRmNDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAubG9naW4tYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgfVxufVxuXG5cblxuLmJ1dHRvbiB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1pbi13aWR0aDogMTIxcHg7XG4gICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmJ1dHRvbjEge1xuYmFja2dyb3VuZDogI2NlMjU1ZDsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjY2UyNTVkIDAlLCAjYjgyMjVlIDUwJSwgIzk0MjA1ZiAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNjZTI1NWQgMCUsI2I4MjI1ZSA1MCUsIzk0MjA1ZiAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NlMjU1ZCAwJSwjYjgyMjVlIDUwJSwjOTQyMDVmIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjY2UyNTVkJywgZW5kQ29sb3JzdHI9JyM5NDIwNWYnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG50cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG59XG5cbi5idXR0b24xe1xuICAgICY6aG92ZXIge1xuYmFja2dyb3VuZDogIzlkMjE1ZTsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjOWQyMTVlIDAlLCAjOWUyMjVkIDI5JSwgI2E2MjQ1YyA2OSUsICNhYzI1NWIgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjOWQyMTVlIDAlLCM5ZTIyNWQgMjklLCNhNjI0NWMgNjklLCNhYzI1NWIgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM5ZDIxNWUgMCUsIzllMjI1ZCAyOSUsI2E2MjQ1YyA2OSUsI2FjMjU1YiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzlkMjE1ZScsIGVuZENvbG9yc3RyPScjYWMyNTViJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIH1cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG59XG5cblxuLmJ1dHRvbjMge1xuYmFja2dyb3VuZDogIzlkMjE1ZTsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjOWQyMTVlIDAlLCAjOWUyMjVkIDMxJSwgI2E1MjQ1YyA3MCUsICNhYjI1NWIgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjOWQyMTVlIDAlLCM5ZTIyNWQgMzElLCNhNTI0NWMgNzAlLCNhYjI1NWIgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM5ZDIxNWUgMCUsIzllMjI1ZCAzMSUsI2E1MjQ1YyA3MCUsI2FiMjU1YiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzlkMjE1ZScsIGVuZENvbG9yc3RyPScjYWIyNTViJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xudHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAwLjFzO1xufVxuXG4uYnV0dG9uM3tcbiAgICAmOmhvdmVyIHtcbmJhY2tncm91bmQ6ICNhYzI1NWI7IC8qIE9sZCBicm93c2VycyAqL1xuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2FjMjU1YiAwJSwgI2E0MjQ1YyAzNSUsICM5ZDIyNWQgNzYlLCAjOWQyMTVlIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2FjMjU1YiAwJSwjYTQyNDVjIDM1JSwjOWQyMjVkIDc2JSwjOWQyMTVlIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYWMyNTViIDAlLCNhNDI0NWMgMzUlLCM5ZDIyNWQgNzYlLCM5ZDIxNWUgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNhYzI1NWInLCBlbmRDb2xvcnN0cj0nIzlkMjE1ZScsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbnRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgMC4xcztcbiAgICB9XG59XG5cbi5idXR0b24yIHtcbmJhY2tncm91bmQ6ICNjZTI1NWQ7IC8qIE9sZCBicm93c2VycyAqL1xuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2NlMjU1ZCAwJSwgI2M5MjU1ZCAyOCUsICNiYTI1NWQgNzAlLCAjYjIyNTVjIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2NlMjU1ZCAwJSwjYzkyNTVkIDI4JSwjYmEyNTVkIDcwJSwjYjIyNTVjIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2UyNTVkIDAlLCNjOTI1NWQgMjglLCNiYTI1NWQgNzAlLCNiMjI1NWMgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNjZTI1NWQnLCBlbmRDb2xvcnN0cj0nI2IyMjU1YycsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbmJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuXG5cbi5saW5rIHtcbiAgICBjb2xvcjogIzIwZjRhYjsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IGZvbnQtd2VpZ2h0OiAxMDA7IHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgMC4xcztcbn0iLCIvKlxuKiBmb290ZXJcbiovXG4jZm9vdGVyIHtcbiAgICBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjogI2E0YTRhNDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5jb3B5cmlnaHR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5mb290ZXItY29udGVudCB7XG4gICAgIHBhZGRpbmc6IDU1cHggMDsgICBcbiAgICB9XG59XG5cbkBtZWRpYShtaW4td2lkdGg6MTIwMXB4KSB7XG4gICAgICNmb290ZXIge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQ0cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzNmM2YzZjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHhcbiAgICAgICAgfVxuICAgICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlci1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8qXG4qIGZvb3Rlci1zb2NpYWJsZXNcbiovXG4uZm9vdGVyLXNvY2lhYmxlcyB7XG4gICAgcGFkZGluZzogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxuICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG59XG4gXG4gLmZvb3Rlci1zb2NpYWJsZXMge1xuICAgIGJhY2tncm91bmQ6ICNiZTI5NWI7IC8qIE9sZCBicm93c2VycyAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNiZTI5NWIgMCUsICNhYzI2NWIgMzAlLCAjOWEyNTVlIDUyJSwgIzhjMjI1ZSA3MSUsICM3MzFmNWYgOTYlKTsgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYmUyOTViIDAlLCNhYzI2NWIgMzAlLCM5YTI1NWUgNTIlLCM4YzIyNWUgNzElLCM3MzFmNWYgOTYlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNiZTI5NWIgMCUsI2FjMjY1YiAzMCUsIzlhMjU1ZSA1MiUsIzhjMjI1ZSA3MSUsIzczMWY1ZiA5NiUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2JlMjk1YicsIGVuZENvbG9yc3RyPScjNzMxZjVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuIH1cbiBcbiBAbWVkaWEobWF4LXdpZHRoOjU0NHB4KXtcbiAgICAgLmZvb3Rlci1zb2NpYWJsZXMge1xuICAgICAgICAgbGkge1xuICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICAgICAgIH1cbiAgICAgfVxuIH1cbiBcbiBcbiBcbiAvKlxuICogZm9vdGVyLW5hdmlnYXRpb25cbiAqL1xuIC5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgbGkge1xuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgIGNvbG9yOiAjNzMxRjVGO1xuICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgcGFkZGluZzogMCAxOXB4O1xuICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICBhIHtcbiAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwOyBcbiAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgXG4gICAgICAgICAgICAgY29sb3I6ICNlMTRhNzM7XG4gICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMXM7XG4gICAgICAgICB9XG4gICAgIH1cbiB9XG4gXG4gXG4gQG1lZGlhKG1heC13aWR0aDo1NDRweCkge1xuICAgICAuZm9vdGVyLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICBsaSB7XG4gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgIH1cbiAgICAgfVxuIH1cbiBcbiBcbiBcbiBcbiBcbiBcbiBcbiAiLCIvKlxuKmZvcm1cbiovXG4uZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICAgIGNvbG9yOiAjYmFiYWJhO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yODtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHg7XG4gICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLmZvcm0gLmZvcm0tZ3JvdXB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG59XG4uZm9ybSAuZm9ybS1ncm91cCBwIHsgXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTlweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgY29sb3I6ICNiYWJhYmE7XG59XG4uZm9ybSAuZm9ybS1ncm91cCBwIGEgeyBcbiAgICBjb2xvcjogIzIzZDY5OTtcbiB9XG4gXG4gLmZvcm0gLmNoZWNrYm94IHtcbiAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiB9XG4gLmZvcm0gLmNhcHRjaGEge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG59XG4uZm9ybSAuYnV0dG9uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogNzlweDtcbn0gICBcbi5mb3JtIC5zZWxlY3Q6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvdy5wbmdcIikgbm8tcmVwZWF0O1xuICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogNDRweDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6ICAwIDAuMTI1cmVtIDAuMTI1cmVtIDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZm9ybSAuZm9ybS1jb250cm9sLWNhbGVuZGFyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2FsZW5kYXIucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxM3B4IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OXB4O1xufVxuLmZvcm0gdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDEyNHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cbi5mb3JtIC5jaGVja2JveCBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgIC5mb3JtIC5jYXB0Y2hhIHtcbiAgICBtYXJnaW4tdG9wOiAzOHB4O1xuICAgIH1cbiAgICAuZm9ybSAuYnV0dG9uMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM4cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLyouZm9ybSAuYnV0dG9uMSwgLmRldGFpbHMtZm9ybSAuYnV0dG9uMSwgLnNlYXJjaC1mb3JtIC5idXR0b24xLCAuZW5xdWlyeS1mb3JtIC5idXR0b24xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzhweDtcbiAgICB9ICovXG4gICAgLmZvcm0gLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICAuZm9ybSAuZm9ybS1ncm91cCBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuICAgIC5yZWxvY2F0aW5nIC5idXR0b24xICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDg1cHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU0NHB4KXsgXG4gICAgIC5mb3JtIC5idXR0b24xLCAuZm9ybSAuYnV0dG9uMTpob3ZlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH0gICBcbn1cbi8qXG4qZGV0YWlscyBmb3JtXG4qL1xuLmRldGFpbHMtZm9ybSAuY2hlY2tib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG59XG4uZGV0YWlscy1mb3JtIC5idXR0b24xLCAubG9naW4gLmJ1dHRvbjEsIC5zZWFyY2gtZm9ybSAuYnV0dG9uMSwgLmVucXVpcnktZm9ybSAuYnV0dG9uMSB7ICBcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBtaW4td2lkdGg6IDEzMXB4OyBcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi8qXG4qbG9naW5cbiovXG4ubG9naW4gLmJ1dHRvbjF7XG4gICAgbWFyZ2luLXRvcDogMjJweDtcbn1cbi5sb2dpbiAuZm9ybS1ncm91cCBwe1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG59XG4vKlxuKnNlYXJjaCBmb3JtXG4qL1xuLnNlYXJjaC1mb3JtIC5zZWxlY3Q6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDBweDtcbn1cbi5zZWFyY2gtZm9ybSAuYnV0dG9uMSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiplbnF1aXJ5LWZvcm1cbiovXG4uZW5xdWlyeS1mb3JtIC5jaGVja2JveCB7XG4gICAgbWF4LXdpZHRoOiAzODJweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xufVxuLmVucXVpcnktZm9ybSAuYnV0dG9uMSB7XG4gICAgbWFyZ2luLXRvcDogNDlweDtcbn1cblxuLypcbipyZWxvY2F0aW5nIFxuKi9cbi5yZWxvY2F0aW5nIC5idXR0b24xIHtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xufVxuXG5cbi8qXG4qIHBheW1lbnQgZm9ybVxuKi9cbi5wYXltZW50LWZvcm0gIC5zZWxlY3Q6YmVmb3JlIHtiYWNrZ3JvdW5kOiBub25lO31cbi5wYXltZW50LWZvcm0gLmJ1dHRvbjEgeyBwYWRkaW5nOiAxMHB4IDMwcHg7fVxuLnBheW1lbnQtZm9ybSAuZm9ybS1ncm91cCAgcCB7bGluZS1oZWlnaHQ6IDIwcHg7fVxuLnBheW1lbnQtZm9ybSAuY29sdW1uIHAge3BhZGRpbmctbGVmdDogMDt9XG4ucGF5bWVudC1mb3JtIC5jaGVja2JveCBsYWJlbCB7IHBhZGRpbmctcmlnaHQ6IDMycHg7fVxuLnBheW1lbnQtZm9ybSAuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtsZWZ0OiBhdXRvOyByaWdodDogMDsgfVxuLnBheW1lbnQtZm9ybSAudG90YWwtcGF5bWVudCB7Ym9yZGVyOiAxcHggc29saWQgI2FhYWFhYTsgIHBhZGRpbmc6IDIwcHg7fVxuLnBheW1lbnQtZm9ybSAudG90YWwtcGF5bWVudCBweyBmb250LXNpemU6IHJlbS1jYWxjKDI0KTsgY29sb3I6ICM4MzgzODM7IGxpbmUtaGVpZ2h0OiAzMHB4OyBtYXJnaW4tdG9wOiAwOyBwYWRkaW5nLWxlZnQ6IDA7fVxuXG4uZm9ybSAuZm9ybS1ncm91cCAucGF5bWVudC1zZWxlY3Rib3gge3Bvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7fVxuLmZvcm0gLmZvcm0tZ3JvdXAgLnBheW1lbnQtc2VsZWN0Ym94OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BheW1lbnQtc2VsZWN0Ym94LWFmdGVyLmpwZykgbm8tcmVwZWF0OyBcbiAgICAgIGhlaWdodDogNDJweDsgXG4gICAgICB3aWR0aDogNDhweDsgXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDsgXG4gICAgICByaWdodDogMXB4OyBcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuXG5cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAuam9pbi1wcm9jZXNzIGxpIGEge3BhZGRpbmc6IDE1cHggMTJweCAhaW1wb3J0YW50O31cbn1cblxuXG5cblxuXG5cblxuIiwiLypcbiogbGlzdDFcbiovXG4ubGlzdDEge1xuICAgICBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDIzLjUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgLmJveCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5saXN0MSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo1NDRweCkge1xuICAgIC5saXN0MSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qXG4qbGlzdDJcbiovXG4ubGlzdDIgbGkge1xuICAgIGNvbG9yOiAjODI4MTgxO1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7ICAgIFxufVxuLmxpc3QyIC5kYXRhIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuLmxpc3QyIC52YWx1ZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmbG9hdDogbGVmdDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCl7XG4gICAgLmxpc3QyIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICAgIC5saXN0MiAuZGF0YSB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICB9XG4gICAubGlzdDIgLnZhbHVlIHtcbiAgICB3aWR0aDogNTUlO1xuICAgIH1cbn1cblxuXG5cblxuXG5cblxuXG4iLCJodG1sLCBib2R5LCAjY29udGFpbmVyIHtoZWlnaHQ6IDEwMCU7fVxuI2Zvb3RlciB7XG4gICAgbWluLWhlaWdodDogMzgycHg7XG59XG4gLnB1c2gge1xuICAgIGhlaWdodDogMzgycHg7XG59XG5cbiNpbm5lci1jb250YWluZXIge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0zODJweDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iLCIvKlxuKnNlY3Rpb25cbiovXG4uc2VjdGlvbjEge1xuICAgIHBhZGRpbmc6IDkycHggMHB4IDk1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlY3Rpb24xIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnNlY3Rpb24xIGg0e1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4uc2VjdGlvbjEgLmRldGFpbHMtZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA2MTJweDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xufVxuLnNlY3Rpb24xIC5sb2dpbiB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDsgXG4gICAgbWFyZ2luOiAwcHggYXV0bztcbn1cbi5zZWN0aW9uMSBwIHsgXG4gICAgIGNvbG9yOiAjODI4MTgxO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAuc2VjdGlvbjEge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDBweDsgICBcbiAgICB9XG4gICAgLnNlY3Rpb24xIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIC5zZWN0aW9uMSBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU0NHB4KXtcbiAgICAuc2VjdGlvbjEgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICB9XG59IiwiLypcbipoZWFkZXIgc2Vjb25kcnkgY29sb3IgXG4qL1xuI2hlYWRlci5zZWNvbmRyeS1jb2xvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiNoZWFkZXIuc2Vjb25kcnktY29sb3IgI25hdmlnYXRpb24gbGkgYSB7XG4gICAgY29sb3I6ICNlOTMzNjY7XG59XG5cbiNoZWFkZXIuc2Vjb25kcnktY29sb3IgI25hdmlnYXRpb24gbGk6aG92ZXIgYSwgI2hlYWRlci5zZWNvbmRyeS1jb2xvciAjbmF2aWdhdGlvbiBsaS5hY3RpdmUgYSB7XG4gICAgY29sb3I6IHJnYmEoMjMzLDUxLDEwMiwuNDApO1xufVxuI2hlYWRlci5zZWNvbmRyeS1jb2xvciAjbmF2aWdhdGlvbiBsaSAubG9naW4tYnV0dG9uIHtcbiAgICBib3JkZXItY29sb3I6ICM0MzI0NjA7XG4gICAgY29sb3I6ICM0MzI0NjA7XG59XG4jaGVhZGVyLnNlY29uZHJ5LWNvbG9yICNuYXZpZ2F0aW9uIGxpIC5sb2dpbi1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDY3LDM2LDk2LC40KTtcbn1cbiNoZWFkZXIuc2Vjb25kcnktY29sb3IgLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6ICM2NDY0NjQ7XG59XG4iLCIvKlxuKmFjY29yZGlvblxuKi9cbi5hY2NvcmRpb24gLmlubmVyLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgY29sb3I6ICNiNGI0YjQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbn1cbiIsIi8qXG4qY2hlY2tib3hcbiovXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwgeyBtYXJnaW46IDA7IH1cbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0geyB2aXNpYmlsaXR5OiBoaWRkZW47IGRpc3BsYXk6IG5vbmU7IH1cbi5jaGVja2JveCBsYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgY3Vyc29yOiBwb2ludGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBwYWRkaW5nLWxlZnQ6IDMycHg7IGNvbG9yOiAjYmFiYWJhOyBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7IGxpbmUtaGVpZ2h0OiAxLjI4OyB9XG4uY2hlY2tib3ggbGFiZWw6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMHB4OyBoZWlnaHQ6IDE5cHg7IHdpZHRoOiAyMXB4OyBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2hlY2tib3gucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcDsgfVxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQ0cHgpe1xuICAgIC5jaGVja2JveCBsYWJlbCB7IGNvbG9yOiAjMjJkZTllOyB9XG59XG4iLCIvKlxuKiBob21lLXBhZ2UtYmFubmVyXG4qL1xuYm9keS5ob21lICNiYW5uZXIge1xuICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jhbm5lci5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICBtaW4taGVpZ2h0OiA2NDBweDtcbn1cblxuQG1lZGlhKG1heC13aWR0aDoxMjAwcHgpIHtcbiAgICBib2R5LmhvbWUgI2Jhbm5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo5OTJweCkge1xuICAgIGJvZHkuaG9tZSAjYmFubmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNTIwcHg7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgYm9keS5ob21lICAjYmFubmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0NHB4KSB7XG4gICBib2R5LmhvbWUgICNiYW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Jhbm5lci1tb2JpbGUuanBnKTtcbiAgICAgICAgbWluLWhlaWdodDogNjQwcHg7XG4gICAgICAgIGgxe1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiBwYWdlLWFjY291bnQgXG4qL1xuYm9keS5wYWdlLWFjY291bnQgIHtcbiAgICAjYmFubmVyIHtcbiAgICAgICAgaDIge2ZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpOyBmb250LXdlaWdodDogOTAwO31cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGJvZHkucGFnZS1hY2NvdW50ICB7XG4gICAgICAgICNiYW5uZXIge1xuICAgICAgICAgICAgaDIge2ZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO31cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuKiBiYW5uZXJcbiovXG4jYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jhbm5lcjEuanBnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDM4MHB4O1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgICAgXG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgICAgICBjb2xvcjogI2U5MzM2NjtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxOTFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDoxMTAwcHgpIHtcbiAgICAjYmFubmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMzQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjk5MnB4KSB7XG4gICAgI2Jhbm5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgICAgICBoMntcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpIHtcbiAgICAjYmFubmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjY0MHB4KSB7XG4gICAgI2Jhbm5lciB7XG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGgye1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcbiogYWJzb2x1dGUtY2VudGVyXG4qL1xuLmFic29sdXRlLWNlbnRlciB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCk7XG59XG5cblxuXG5cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA1NDRweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxcHgsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiIsIi8qXG4qIHBvcHVwXG4qL1xuYm9keS5vcGVuIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG59XG5cblxuICAgIFxuLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgXG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTtcbiAgICB6LWluZGV4OiAxMDU7XG4gICAgXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgfVxuICAgIC5jbG9zZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDVweDsgcmlnaHQ6IDVweDsgY29sb3I6ICMwMDA7IG9wYWNpdHk6IDE7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZmxvYXQ6IG5vbmU7IH1cbn1cblxuLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICB0ZHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuICAgIHRkLCB0aCB7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDsgcGFkZGluZzogMS4yNTByZW0gMC43NTByZW07fVxuICAgIHRkOmxhc3QtY2hpbGQsIHRoOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7fVxuICAgIHRkIHsgYm9yZGVyLWNvbG9yOiAjMDAwO31cbiAgICB0aCB7Ym9yZGVyLXRvcDogbm9uZTt9XG59XG5cbi5wb3B1cC5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbi5oaWRlIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxuXG5cblxuXG5cblxuIiwiYm9keS5ob21lIHtcbiAgICAjYmFubmVyIHtcbiAgICAgICAgaW1ne1xuICAgICAgICAgICBtaW4taGVpZ2h0OiA2NDBweDsgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG4qIGpvaW4tZm9ybVxuKi9cbi5qb2luLWZvcm17XG4gICAgcGFkZGluZzogNzVweCAwO1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDsgXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEzO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGNvbG9yOiAjODM4MzgzOyBcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIH1cbiAgICBsaSB7XG4gICAgIG1hcmdpbi1ib3R0b206IDUwcHg7ICAgXG4gICAgfVxuICAgIC5mb3JtLXNlY3Rpb257XG4gICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLmJ1dHRvbjEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjVweDtcbiAgICAgICAgY29sb3I6ICNiYWJhYmE7IFxuICAgICAgICBmb250LXdlaWdodDogMjAwOyBcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1M3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0M3B4KSB7XG4gICAgLmpvaW4tZm9ybSB7XG4gICAgICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vKlxuKmxhdGVzdC1uZXdzXG4qL1xuLmxhdGVzdC1uZXdzIHtcbiAgICBwYWRkaW5nOiA3MHB4IDAgNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1bHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgIGg2e1xuICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICB9XG4gICAgICAgLmRhdGUge1xuICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgIH1cbiAgICAgICBwIHtcbiAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgIGNvbG9yOiAjYTRhNGE0O1xuICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICBsaW5lLWhlaWdodDogMS43MTQ7XG4gICAgICB9IFxuICAgIH1cbiAgICBoM3tcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyAgICBcbiAgICB9XG4gICAgLnByZXZpb3VzLCAubmV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgICAgIHRvcDogNTAlOyBcbiAgICB9XG4gICAgLnByZXZpb3VzIHtcbiAgICAgICAgbGVmdDogLTEwMHB4XG4gICAgfVxuICAgIC5uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0xMDBweDtcbiAgICB9XG4gICAgYXtjb2xvcjppbmhlcml0OyB9XG4gICAgYTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cbn1cblxuQG1lZGlhKG1heC13aWR0aDoxMjAwcHgpIHtcbiAgICAubGF0ZXN0LW5ld3Mge1xuICAgICAgICAubmV4dCB7cmlnaHQ6IC01MHB4OyB9IFxuICAgICAgICAucHJldmlvdXMgeyBsZWZ0OiAtNTBweDt9XG4gICAgfVxufVxuXG5cbkBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAubGF0ZXN0LW5ld3Mge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkxcHgpIHtcbiAgICAubGF0ZXN0LW5ld3Mge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NzBweDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMzEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAubGF0ZXN0LW5ld3Mge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByZXZpb3VzIHtcbiAgICAgICAgICAgIGxlZnQ6IC0zNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo2NDBweCkge1xuICAgIC5sYXRlc3QtbmV3cyB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDQ2NXB4O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWVkaWEobWF4LXdpZHRoOjU0NHB4KSB7XG4gICAgLmxhdGVzdC1uZXdzIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAyMHB4IDEwMHB4O1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5jb250cm9scyB7XG4gICAgICAgICAgICBib3R0b206IC01NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiByZWxpYWJsZS1pbnRlcm5ldFxuKi9cbi5yZWxpYWJsZS1pbnRlcm5ldCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pbWFnZTEuanBnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiA3MHB4IDIwcHg7XG4gICAgbWluLWhlaWdodDogNTI1cHg7XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMzKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgXG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NDtcbiAgICB9XG4gfVxuXG5AbWVkaWEobWluLXdpZHRoOjU0NHB4KSBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5yZWxpYWJsZS1pbnRlcm5ldCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MjBweDtcbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQzcHgpIHtcbiAgICAucmVsaWFibGUtaW50ZXJuZXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ltYWdlMS1tb2JpbGUuanBnKTtcbiAgICB9XG59XG5cblxuLypcbiogYWJvdXQtdGVsZXJvblxuKi9cbi5hYm91dC10ZWxlcm9uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ltYWdlMi5qcGcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDYwcHggMCA0MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgaDN7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQzcHgpIHtcbiAgICAuYWJvdXQtdGVsZXJvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaW1hZ2UyLW1vYmlsZS5qcGcpO1xuICAgICAgICBwYWRkaW5nOiA2NXB4IDIwcHggMTAwcHg7XG4gICAgICAgIGgze1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuKiB3ZWJzaXRlLWxhdW5jaGVkLXNsaWRlc2hvd1xuKi9cbi53ZWJzaXRlLWxhdW5jaGVkLXNsaWRlc2hvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zbGlkZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6NzUwcHg7XG4gICAgfVxuICAgIC5zbGlkZXtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgIHBhZGRpbmc6IDE2NXB4IDAgMTI0cHg7XG4gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgIC50ZXh0IHtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1MHB4O1xuICAgICB9XG4gICAgIC5kYXRlIHtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgIGNvbG9yOiAjM2YzZjNmO1xuICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgIH0gXG4gICAgIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGNvbG9yOiAjYTRhNGE0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgIH0gXG4gICAgIC5idXR0b24ge1xuICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgIH0gXG4gICB9XG4gICAuaW1hZ2Uge1xuICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgaW1nIHtcbiAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgfVxuICAgfVxuICAgLmZvcm0tc2VjdGlvbiB7XG4gICAgICAgcGFkZGluZzogMDtcbiAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJde2JvcmRlci1yYWRpdXM6IDVweDt9XG4gICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOTMzNjY7XG4gICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICB9XG4gICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAud2Vic2l0ZS1sYXVuY2hlZC1zbGlkZXNob3cge1xuICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XG4gICAgLndlYnNpdGUtbGF1bmNoZWQtc2xpZGVzaG93IHtcbiAgICAgICAgLnNsaWRlIHtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0M3B4KSB7XG4gICAgLndlYnNpdGUtbGF1bmNoZWQtc2xpZGVzaG93IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0NHB4KSB7XG4gICAgLndlYnNpdGUtbGF1bmNoZWQtc2xpZGVzaG93IHtcbiAgICAgICAgLnNsaWRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbiogY29udHJvbHNcbiovXG4uY29udHJvbHMge1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICBib3R0b206IDQ1cHg7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgIGxlZnQ6IDA7XG4gICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICBhIHtcbiAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmVTbGlkZSB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMThkYjk4O1xuICAgICAgICAgICB9IFxuICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE4ZGI5ODtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgICAgIHRleHQtaW5kZW50OiAtMTAwMHB4O1xuICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgIH1cbiAgIH1cblxuXG4vKlxuKiBmb3JtLXNlY3Rpb25cbiovXG4uZm9ybS1zZWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGNvbG9yOiAjZTkzMzY2O1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0M3B4KSB7XG4gICAgLmZvcm0tc2VjdGlvbiB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtaW4td2lkdGg6MTIwMXB4KSB7XG4gICAgLndlYnNpdGUtbGF1bmNoZWQtc2xpZGVzaG93IHtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwNThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuKiBwYWNrYWdlc1xuKi9cbi5wYWNrYWdlcyB7XG4gICAgcGFkZGluZzogNzVweCAwIDk1cHg7XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgICAubGlzdDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhKG1pbi13aWR0aDoxMjAxcHgpIHtcbiAgICAucGFja2FnZXMge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0M3B4KSB7XG4gICAgLnBhY2thZ2Vze1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cbn1cblxuXG4vKlxuKiBib3hcbiovXG4uYm94e1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI5KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBhe2NvbG9yOiBpbmhlcml0OyBkaXNwbGF5OiBibG9jazt9XG4gICAgICAgIGE6aG92ZXIge3RleHQtZGVjb3JhdGlvbjogbm9uZTt9XG4gICAgfVxuICAgIGZvb3RlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgY29sb3I6ICNmZmZlZmU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbiogYm94LWNvbnRlbnRcbiovXG4uYm94LWNvbnRlbnQge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICBjb2xvcjogIzliOWE5YTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEzO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIHN1YiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjE1ZW07XG4gICAgICAgICAgICAgICAgbGVmdDogLTZweFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb2xvcjogI2FjYWNhYztcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBjb2xvcjogI2FjYWNhYztcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTkwcHg7XG4gICAgICAgICB9XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IFxuICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zZWN0aW9ue1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlOGVmO1xuICAgICAgICAgICAgfVxuICAgICAgICAubWFpbi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMTVweCA4cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGgzICsgcCB7bWluLWhlaWdodDogODVweDt9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZGl0aW9uYWwtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHggOHB4O1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYWNhY2FjO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzEzZDg5ZTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG5AbWVkaWEobWF4LXdpZHRoOjg5MnB4KSB7XG4gICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICB9XG59XG4gICAgXG5AbWVkaWEobWF4LXdpZHRoOjU0NHB4KSB7XG4gICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufSAgICBcblxuLypcbiogcGFja2FnZTFcbiovXG4ucGFja2FnZTEge1xuICAgICBoZWFkZXIgeyAgICAgICBcbmJhY2tncm91bmQ6ICM0YTIwNWY7IC8qIE9sZCBicm93c2VycyAqL1xuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzRhMjA1ZiAwJSwgIzUwMWY1ZiAyOSUsICM1NzFmNWYgNjglLCAjNWQxZjVmIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzRhMjA1ZiAwJSwjNTAxZjVmIDI5JSwjNTcxZjVmIDY4JSwjNWQxZjVmIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNGEyMDVmIDAlLCM1MDFmNWYgMjklLCM1NzFmNWYgNjglLCM1ZDFmNWYgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0YTIwNWYnLCBlbmRDb2xvcnN0cj0nIzVkMWY1ZicsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgICB9XG4gICAgZm9vdGVyIHsgICAgICAgICAgXG5iYWNrZ3JvdW5kOiAjMmIyMTYwOyAvKiBPbGQgYnJvd3NlcnMgKi9cbmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICMyYjIxNjAgMCUsICMzMDIxNjAgMjklLCAjMzkyMDYwIDY4JSwgIzNkMjA2MCAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMyYjIxNjAgMCUsIzMwMjE2MCAyOSUsIzM5MjA2MCA2OCUsIzNkMjA2MCAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJiMjE2MCAwJSwjMzAyMTYwIDI5JSwjMzkyMDYwIDY4JSwjM2QyMDYwIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMmIyMTYwJywgZW5kQ29sb3JzdHI9JyMzZDIwNjAnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovICAgXG4gICAgfVxufVxuXG4ucGFja2FnZTEge1xuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDgyMDYwO1xuICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ODIwNjA7XG4gICAgfVxufVxuXG5cbi8qXG4qIHBhY2thZ2UyXG4qL1xuLnBhY2thZ2UyIHtcbiAgICBoZWFkZXIge1xuYmFja2dyb3VuZDogIzYwMWY1ZjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNjAxZjVmIDElLCAjNjYxZjVmIDI5JSwgIzZjMWY1ZiA2OCUsICM3MTFmNWYgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNjAxZjVmIDElLCM2NjFmNWYgMjklLCM2YzFmNWYgNjglLCM3MTFmNWYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2MDFmNWYgMSUsIzY2MWY1ZiAyOSUsIzZjMWY1ZiA2OCUsIzcxMWY1ZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzYwMWY1ZicsIGVuZENvbG9yc3RyPScjNzExZjVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIH1cbiAgICBmb290ZXIge1xuYmFja2dyb3VuZDogIzQwMjA2MDsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNDAyMDYwIDElLCAjNDYyMDYwIDI5JSwgIzRkMjA1ZiA2OSUsICM1MjFmNWYgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNDAyMDYwIDElLCM0NjIwNjAgMjklLCM0ZDIwNWYgNjklLCM1MjFmNWYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM0MDIwNjAgMSUsIzQ2MjA2MCAyOSUsIzRkMjA1ZiA2OSUsIzUyMWY1ZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQwMjA2MCcsIGVuZENvbG9yc3RyPScjNTIxZjVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIH1cbn1cblxuLnBhY2thZ2UyIHtcbiAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2NjFmNWY7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzY2MWY1ZjtcbiAgICB9XG59XG5cbi8qXG4qIHBhY2thZ2UzXG4qL1xuLnBhY2thZ2UzIHtcbiAgICBoZWFkZXIge1xuYmFja2dyb3VuZDogIzc0MWY1ZjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNzQxZjVmIDElLCAjN2ExZjVmIDI5JSwgIzgyMjA1ZiA2OSUsICM4NzIwNWYgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNzQxZjVmIDElLCM3YTFmNWYgMjklLCM4MjIwNWYgNjklLCM4NzIwNWYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM3NDFmNWYgMSUsIzdhMWY1ZiAyOSUsIzgyMjA1ZiA2OSUsIzg3MjA1ZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzc0MWY1ZicsIGVuZENvbG9yc3RyPScjODcyMDVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIH1cbiAgICBmb290ZXIge1xuYmFja2dyb3VuZDogIzU2MWY1ZjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNTYxZjVmIDElLCAjNWIxZjVmIDI5JSwgIzYwMWY1ZiA2OSUsICM1MjFmNWYgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNTYxZjVmIDElLCM1YjFmNWYgMjklLCM2MDFmNWYgNjklLCM1MjFmNWYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM1NjFmNWYgMSUsIzViMWY1ZiAyOSUsIzYwMWY1ZiA2OSUsIzUyMWY1ZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzU2MWY1ZicsIGVuZENvbG9yc3RyPScjNTIxZjVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIH1cbn1cblxuLnBhY2thZ2UzIHtcbiAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2ODFmNWY7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzY4MWY1ZjtcbiAgICB9XG59XG5cblxuLypcbiogcGFja2FnZTRcbiovXG4ucGFja2FnZTQge1xuICAgIGhlYWRlciB7XG5iYWNrZ3JvdW5kOiAjOGIyMDVmOyAvKiBPbGQgYnJvd3NlcnMgKi9cbmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICM4YjIwNWYgMSUsICM5MzIxNWUgMjklLCAjOTcyMTVlIDY5JSwgIzllMjE1ZSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICM4YjIwNWYgMSUsIzkzMjE1ZSAyOSUsIzk3MjE1ZSA2OSUsIzllMjE1ZSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzhiMjA1ZiAxJSwjOTMyMTVlIDI5JSwjOTcyMTVlIDY5JSwjOWUyMTVlIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjOGIyMDVmJywgZW5kQ29sb3JzdHI9JyM5ZTIxNWUnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgfVxuICAgIGZvb3RlciB7XG5iYWNrZ3JvdW5kOiAjNmIxZjVmOyAvKiBPbGQgYnJvd3NlcnMgKi9cbmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICM2YjFmNWYgMSUsICM3MDFmNWYgMjklLCAjNzcxZjVmIDY5JSwgIzdkMWY1ZiAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICM2YjFmNWYgMSUsIzcwMWY1ZiAyOSUsIzc3MWY1ZiA2OSUsIzdkMWY1ZiAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzZiMWY1ZiAxJSwjNzAxZjVmIDI5JSwjNzcxZjVmIDY5JSwjN2QxZjVmIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNmIxZjVmJywgZW5kQ29sb3JzdHI9JyM3ZDFmNWYnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgfVxufVxuXG4ucGFja2FnZTQge1xuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzdjMWY1ZjtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjN2MxZjVmO1xuICAgIH1cbn1cblxuXG4vKlxuKiBhY2NvcmRpb25cbiovXG4uYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBoNntcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wbHVzLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjogIzgzODM4MztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBoNi5vcGVue1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21pbnVzLnBuZykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbm5lci1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjODM4MzgzO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGNvbG9yOiAjODM4MzgzO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQ0cHgpIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBoNntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgY29sb3I6ICMyZmRmOWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4uYm94IC5taW4tcmF0ZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjNweDtcbiAgICAgICAgcCB7bWFyZ2luLWJvdHRvbTogM3B4OyBmb250LXdlaWdodDogMTAwOyBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgY29sb3I6ICMxOGRiOTg7fVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiAjYzZjNmM2OyBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKiBhZGRpdGlvbmFsLWluZm9ybWF0aW9uICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hZGRpdGlvbmFsLWNvbnRlbnQge1xuICAgIC5oZWFkaW5nNSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGx1cy5wbmcpIG5vLXJlcGVhdDsgaGVpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gICAgfVxufVxuLmFkZGl0aW9uYWwtY29udGVudC5vcGVuIHtcbiAgICAuaGVhZGluZzUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL21pbnVzLnBuZyk7IFxuICAgIH1cbn1cblxuXG4uYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgICAgXG59XG5cbi5hZGRpdGlvbmFsLWNvbnRlbnQge1xuICAgIGg1e2N1cnNvcjogcG9pbnRlcjt9ICAgIFxufVxuXG4uYWRkaXRpb25hbC1jb250ZW50Lm9wZW4ge1xuICAgIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtkaXNwbGF5OiBibG9jazt9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAuYm94IGhlYWRlciB7Ym9yZGVyLXJhZGl1czogNXB4O31cbiAgICAuYm94IC5kZXNjcmlwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IG1hcmdpbi10b3A6IC00cHg7fSAgICBcbn1cblxuICAgIFxuYm9keS5ob21lIHN1cCB7dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTt9XG5cblxuIiwiLyoqKioqKioqKioqIGNyaXRpY2FsLWluZm9ybWF0aW9uICoqKioqKioqKioqKioqKi9cblxuLypcbipib2R5XG4qL1xuYm9keS5jcml0aWNhbC1pbmZvcm1hdGlvbiAjY29udGVudCAgLnNlY3Rpb24xICB7cGFkZGluZy10b3A6IDE3MHB4O31cblxuYm9keS5jcml0aWNhbC1pbmZvcm1hdGlvbiB7XG4gICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTMwcHg7XG4gICAgfVxufVxuYm9keS5jcml0aWNhbC1pbmZvcm1hdGlvbiAuc2VjdGlvbjEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTVweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCl7XG4gICAgYm9keS5jcml0aWNhbC1pbmZvcm1hdGlvbiAuc2VjdGlvbjEgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDlweDtcbiAgICB9XG4gICAgYm9keS5jcml0aWNhbC1pbmZvcm1hdGlvbiAuc2VjdGlvbjEge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgIH1cbn1cblxuLypcbipwb3N0XG4qL1xuLnBvc3QgLnNlY3Rpb24xIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG4ucG9zdCAuc2VjdGlvbjEgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgY29sb3I6ICMzZjNmM2Y7XG59XG4iLCIvKioqKioqKioqKiogZmFxICYgc3VwcG9ydHMgKioqKioqKioqKioqKioqL1xuLypcbipib2R5XG4qL1xuYm9keS5mYXEtc3VwcG9ydCAjY29udGVudCA+IC5zZWN0aW9uMSAge3BhZGRpbmctdG9wOiAxNzBweDt9XG5cbmJvZHkuZmFxLXN1cHBvcnQgLnNlY3Rpb24xIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDExM3B4O1xufVxuYm9keS5mYXEtc3VwcG9ydCAuc2VjdGlvbjEgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG59XG5ib2R5LmZhcS1zdXBwb3J0IC5lbnF1aXJ5LWZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG59IFxuYm9keS5mYXEtc3VwcG9ydCAuc2VjdGlvbjEgLmVucXVpcnktZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbn1cbmJvZHkuZmFxLXN1cHBvcnQgLnNlY3Rpb24xIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjMzcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgIGJvZHkuZmFxLXN1cHBvcnQgLnNlY3Rpb24xIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0N3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGJvZHkuZmFxLXN1cHBvcnQgLnNlY3Rpb24xIC5lbnF1aXJ5LWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHhcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTQ0cHgpe1xuICAgIGJvZHkuZmFxLXN1cHBvcnQgLnNlY3Rpb24xIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxufVxuXG4vKlxuKmZhcSBzZWN0aW9uXG4qL1xuLmZhcS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAzMnB4IDBweCAzMnB4O1xufVxuLmZhcS1zZWN0aW9uIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2M3B4O1xufVxuLmZhcS1zZWN0aW9uIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODI2cHg7XG59XG4uZmFxLXNlY3Rpb24gLmFjY29yZGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xufVxuLmZhcS1zZWN0aW9uIC5hY2NvcmRpb24gbGl7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cbi5mYXEtc2VjdGlvbiAuYWNjb3JkaW9uIC5pbm5lci1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG4uZmFxLXNlY3Rpb24gLmFjY29yZGlvbiBsaSBoNiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTQ0cHgpe1xuICAgIC5mYXEtc2VjdGlvbiBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQzcHg7XG4gICAgfVxufVxuXG5cblxuLyoqKioqKioqKioqKiogZW5xdWlyeSBmb3JtICoqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5lbnF1aXJ5LWZvcm0gLmNoZWNrYm94IGlucHV0e2Rpc3BsYXk6IG5vbmU7fVxuLmVucXVpcnktZm9ybSAuY2hlY2tib3ggLmljaGVja2JveCB7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGVja2JveC5wbmcpIG5vLXJlcGVhdDsgd2lkdGg6IDE5cHg7IGhlaWdodDogMjBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7fVxuLmVucXVpcnktZm9ybSAuY2hlY2tib3gge3Bvc2l0aW9uOiByZWxhdGl2ZTt9XG4uZW5xdWlyeS1mb3JtIC5jaGVja2JveCBzcGFuIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2JhYmFiYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgfSBcbi5lbnF1aXJ5LWZvcm0gLmNoZWNrYm94IC5pY2hlY2tib3guY2hlY2tlZCB7YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207fVxuXG5cblxuXG4iLCIvKlxuKiBqb2luLXByb2Nlc3NcbiovXG4uam9pbi1wcm9jZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgIHVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICM5NTIzNWU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCA2MnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwOyBcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzljOWM5YztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjk5MnB4KSB7XG4gICAgLmpvaW4tcHJvY2VzcyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpIHtcbiAgICAuam9pbi1wcm9jZXNzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo1NDNweCkge1xuICAgIC5qb2luLXByb2Nlc3Mge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuKiBjb25maXJtYXRpb24gcGFnZS1zcGVjaWZpY1xuKi9cbmJvZHkucGFnZS1jb25maXJtYXRpb24ge1xuICAgICNjb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbn1cbi5jb25maXJtYXRpb24tZGV0YWlscyB7XG4gICAgICAgbWluLWhlaWdodDogODIwcHg7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODI4MTgxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzgyODE4MTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24xIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4MHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNjdweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuQG1lZGlhKG1heC13aWR0aDo1NDNweCkge1xuICAgIC5jb25maXJtYXRpb24tZGV0YWlscyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgICAuYnV0dG9uMSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qXG4qIGZvcm0tc2VjdGlvblxuKi9cbi5mb3JtLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDcwcHggMCA4NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgIGNvbG9yOiAjYjJiMmIyO1xuICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICBhIHtcbiAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOyBcbiAgICAgICAgICAgICBjb2xvcjogIzNmYzQ5MztcbiAgICAgICAgIH1cbiAgICB9XG4gICAgZm9ybXtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMjMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjogI2JhYmFiYTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbjN7XG4gICAgICAgIG1pbi13aWR0aDogMTUzcHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAuZm9ybS1zZWN0aW9uIHtcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24ze1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNTNweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiBqb2luLXByb2NlZHVyZVxuKi9cbmJvZHkuc3VtbWVyeSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4IDtcbiAgICB9XG59XG4uam9pbi1wcm9jZWR1cmUge1xuICAgIHBhZGRpbmc6IDcwcHggMTBweCA4MHB4O1xuICAgIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgLmxpc3QxIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpOyBcbiAgICAgICAgY29sb3I6ICM4MzgzODM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIHNwYW4uY29zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBjb2xvcjogIzgzODM4MztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5pbm5lci13cmFwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7IFxuICAgICAgICAgICAgY29sb3I6ICNiYWJhYmE7ICBcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgICAucHJpY2UxIHtcbiAgICAgICAgIHBhZGRpbmctdG9wOiA2OHB4O1xuICAgIH1cbiAgICAuYW1vdW50e1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgLnNldHVwLWNvc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgICAgfVxuICAgICAgICBoNXtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7IFxuICAgICAgICAgICAgY29sb3I6ICM4MzgzODM7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgfVxuICAgICAgICBoNHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgY29sb3I6ICM4MzgzODM7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyBcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgY29sb3I6ICNiYWJhYmE7IFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgXG4gICAgICAgIH1cbiAgICB9IFxuICAgIC5ib3gtY29udGVudCAucHJpY2Uge2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO30gICBcbn1cblxuXG4uam9pbi1wcm9jZWR1cmUge1xuICAgLmJveC1jb250ZW50IHtcbiAgICAgLmFkZGl0aW9uYWwtY29udGVudHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuQG1lZGlhKG1heC13aWR0aDo5OTJweCkge1xuICAgIC5qb2luLXByb2NlZHVyZSB7XG4gICAgICAgIC5pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAxMHB4IDcwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjY0MHB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgaDN7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5sZWFkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJveDEge1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhKG1heC13aWR0aDo1NDRweCkge1xuICAgIC5qb2luLXByb2NlZHVyZSB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcbiogYWNjZXB0LXBheW1lbnQtc3VtbWVyeVxuKi9cbi5hY2NlcHQtcGF5bWVudC1zdW1tZXJ5e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuYnV0dG9uMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgLmNoZWNrYm94e1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwOyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyBcbiAgICAgICAgICAgIGNvbG9yOiAjYjJiMmIyO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzZmM0OTM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6ODAwcHgpIHtcbiAgICAuYWNjZXB0LXBheW1lbnQtc3VtbWVyeSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIC5jaGVja2JveCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjY0MHB4KSB7XG4gICAgLmFjY2VwdC1wYXltZW50LXN1bW1lcnkge1xuICAgICAgICAuY2hlY2tib3h7XG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24xIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhKG1pbi13aWR0aDo5OTNweCkgYW5kIChtYXgtd2lkdGg6MTI5OHB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgLm1haW4tY29udGVudHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU0NHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAuam9pbi1wcm9jZWR1cmUge1xuICAgICAgICAubGlzdDEge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zZWN0aW9ue1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjY0MHB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgLmxpc3Qxe1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLyAgICBcbi8qXG4qIGpvaW4tcHJvY2VkdXJlXG4qL1xuLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgaDZ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgfVxuICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjNweCAxMHB4O1xuICAgICAgICAgfVxuICAgICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgICAgIHAge1xuICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgfSAgXG4gICAgICAgICB9XG4gICAgICAgICBcbiAgICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjk5MnB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEobWF4LXdpZHRoOjU0NHB4KSB7XG4gICAgLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmpvaW4tcHJvY2VkdXJlIHtcbiAgICAucGFja2FnZTEge1xuICAgICAgICBoZWFkZXIge1xuYmFja2dyb3VuZDogIzZkMWY1ZjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNmQxZjVmIDAlLCAjNzQxZjVmIDI4JSwgIzdjMWY1ZiA2OCUsICM4NTIwNWYgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNmQxZjVmIDAlLCM3NDFmNWYgMjglLCM3YzFmNWYgNjglLCM4NTIwNWYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2ZDFmNWYgMCUsIzc0MWY1ZiAyOCUsIzdjMWY1ZiA2OCUsIzg1MjA1ZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzZkMWY1ZicsIGVuZENvbG9yc3RyPScjODUyMDVmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM0MzIwNjA7IFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDMyMDYwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MzIwNjA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWNrYWdlMiB7XG4gICAgICAgIGhlYWRlciB7XG5iYWNrZ3JvdW5kOiAjODkyMDVmOyAvKiBPbGQgYnJvd3NlcnMgKi9cbmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICM4OTIwNWYgMCUsICM5MjIxNWUgMzAlLCAjOWEyMTVlIDY5JSwgI2EzMjI1ZSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICM4OTIwNWYgMCUsIzkyMjE1ZSAzMCUsIzlhMjE1ZSA2OSUsI2EzMjI1ZSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzg5MjA1ZiAwJSwjOTIyMTVlIDMwJSwjOWEyMTVlIDY5JSwjYTMyMjVlIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjODkyMDVmJywgZW5kQ29sb3JzdHI9JyNhMzIyNWUnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgICAgIH1cbiAgICAgICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgIzYwMWY1ZjsgXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2MDFmNWY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYwMWY1ZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhY2thZ2UzIHtcbiAgICAgICAgaGVhZGVyIHtcbmJhY2tncm91bmQ6ICNhNzIyNWU7IC8qIE9sZCBicm93c2VycyAqL1xuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2E3MjI1ZSAwJSwgI2FmMjM1ZSAzMCUsICNiNzIzNWUgNjklLCAjYmQyNDVkIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2E3MjI1ZSAwJSwjYWYyMzVlIDMwJSwjYjcyMzVlIDY5JSwjYmQyNDVkIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYTcyMjVlIDAlLCNhZjIzNWUgMzAlLCNiNzIzNWUgNjklLCNiZDI0NWQgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNhNzIyNWUnLCBlbmRDb2xvcnN0cj0nI2JkMjQ1ZCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgICAgICAgfVxuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjNzgxZjVmOyBcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzc4MWY1ZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzgxZjVmO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFja2FnZTQge1xuICAgICAgICBoZWFkZXIge1xuYmFja2dyb3VuZDogI2MxMjQ1ZDsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYzEyNDVkIDAlLCAjY2QyNTVkIDMwJSwgI2I3MjM1ZSA2OSUsICNjZTI1NWQgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYzEyNDVkIDAlLCNjZDI1NWQgMzAlLCNiNzIzNWUgNjklLCNjZTI1NWQgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjMTI0NWQgMCUsI2NkMjU1ZCAzMCUsI2I3MjM1ZSA2OSUsI2NlMjU1ZCAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2MxMjQ1ZCcsIGVuZENvbG9yc3RyPScjY2UyNTVkJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM5NTIxNWU7IFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTUyMTVlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5NTIxNWU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiB0ZXh0XG4qL1xuLnRleHQge21pbi1oZWlnaHQ6IDg1cHg7fVxuXG4vKlxuKiBoaWdobGlnaHRcbiovXG5AbWVkaWEobWF4LXdpZHRoOjk5MnB4KSB7XG4gICAgLmJveC1jb250ZW50e1xuICAgIC5oaWdobGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNWVlOGIzO1xuICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgLnByaWNle2NvbG9yOiAjZmZmO31cbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiBkYXRhLWluZm8gXG4qL1xuLmpvaW4tcHJvY2VkdXJlIC5kYXRhLWluZm8ge3BhZGRpbmc6IDA7fVxuQG1lZGlhKG1heC13aWR0aDo5OTJweCkge1xuICAgIC5ib3gtY29udGVudCB7b3ZlcmZsb3c6IGhpZGRlbjt9XG4gICAgLmpvaW4tcHJvY2VkdXJlIC5kYXRhLWluZm8ge1xuICAgICAgICBtYXJnaW46IDAgLTIzcHggMjBweDtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIzcHggO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGU4ZWY7XG4gICAgICAgIH1cbiAgICAgICAgaDUsIHAge3BhZGRpbmctbGVmdDogMjNweDt9XG4gICAgICAgIHAge21hcmdpbi10b3A6IDIwcHg7fVxuICAgIH1cbn1cblxuXG5cbi8qXG4qIHNlY3Rpb25cbiovXG4uc2VjdGlvbiB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3JhZGlvLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB3aWR0aDogMTlweDsgXG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICAgICAgdG9wOiA1cHg7IFxuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogI2FjYWNhYztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwOyBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250cmFjdC1wZXJpb2Qge1xuICAgIHAge1xuICAgICAgICBjb2xvcjogI2M1YzVjNTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxufVxuLnNlY3Rpb24gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTt9IFxuXG4uY29zdCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwOyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgY29sb3I6ICMzNmU0YTU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHN1YiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubWluLWNvc3Qge1xuICAgICAgICBjb2xvcjogI2IzYjNiMztcbiAgICB9XG59XG5cbkBtZWRpYShtaW4td2lkdGg6OTkzcHgpIGFuZCAobWF4LXdpZHRoOjEyMTVweCkge1xuICAgIC5zZWN0aW9ue1xuICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgIHNtYWxse1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vKioqKioqKioqKioqKioqIHBsYW4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICAgIC5wbGFuIHtcbiAgICAgICAgbWluLWhlaWdodDogMzYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICB1bCB7XG4gICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHN1YiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87IFxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgY29sb3I6ICM4MjgxODE7XG4gICAgICAgIH1cbiAgICAgICAgLm1vbmV5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICBjb2xvcjogIzNiY2Q4YjtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICBsZWZ0OiAzMCU7XG4gICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYWNhY2FjO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgfVxuICAgIFxuXG5cbkBtZWRpYShtaW4td2lkdGg6OTkzcHgpIGFuZCAobWF4LXdpZHRoOjE0MDBweCkge1xuICAgXG4gICAgICAgIC5wbGFuIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5NXB4O1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgXG59XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAucGxhbntcbiAgICAgICAgLm1vbmV5e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYShtYXgtd2lkdGg6NjQwcHgpIHtcbiAgICBcbiAgICAgICAgLnBsYW57XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgXG59XG5cblxuLmFtb3VudDEge1xuICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgc3BhbntcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgICAgIGNvbG9yOiAjNjI2MTYxO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgc3ViIHtcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2FjYWNhYztcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKiogbW9kZW0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubW9kZW0ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYi1pbWFnZS5qcGcpIHJlcGVhdC14O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICB0b3A6IDQyOXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5jaGVja2JveCB7cGFkZGluZzogMCAxMHB4O31cbiAgICAuY2hlY2tib3ggbGFiZWwge3Bvc2l0aW9uOiByZWxhdGl2ZTsgZm9udC13ZWlnaHQ6IDEwMDsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IGNvbG9yOiAjODI4MTgxO31cbiAgICB1bCB7bWFyZ2luLWJvdHRvbTogNTBweDt9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiA1NXB4IDAgNDdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGkge1xuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMTBweDtcbiAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTVweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmlnY2FwdGlvbntcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgY29sb3I6ICM4MjgxODE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDN7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAgXG4gICAgLnNlY3Rpb257XG4gICAgICAgIGxhYmVse1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50YWItY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCAwIDUwcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb2xvcjogIzgyODE4MTtcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiAjODI4MTgxO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzVjNWM1O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIHVse3dpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxuICAgICAgICBsaXtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjOWUyMzYwOyBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYTVhNGE0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjYzVjNWM1O1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7IFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJldmlvdXMsIC5uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICB9XG4gICAgLnByZXZpb3VzIHtsZWZ0OiA1MHB4O31cbiAgICAubmV4dCB7cmlnaHQ6IDUwcHg7fVxufVxuXG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpIHtcbiAgICAubW9kZW17XG4gICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDVweCAzMHB4IDAgMzBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJldmlvdXMge2xlZnQ6IDIwcHg7fVxuICAgICAgICAubmV4dCB7cmlnaHQ6IDIwcHg7fVxuICAgIH1cbn1cblxuXG5cbi5tb2RlbSAudGFiLWNvbnRlbnQge1xuICAgIGxhYmVsIHsgdGV4dC1hbGlnbjogbGVmdDt9XG4gICAgdWwge3BhZGRpbmctbGVmdDogNDVweDt9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6OTkycHgpeyBcbiAgICAuam9pbi1wcm9jZWR1cmUgLmJveCAuZGVzY3JpcHRpb24ge2Rpc3BsYXk6IG5vbmU7fVxufVxuXG5cblxuXG5cbiIsIi8qKioqKioqKioqKiBsb2dpbiBwYWdlIHNwZWNpZmljYXRpb24gKioqKioqKioqKioqKioqL1xuXG4vKlxuKmJvZHlcbiovXG5ib2R5LmxvZ2luIC5zZWN0aW9uMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIyN3B4O1xufVxuYm9keS5sb2dpbiAuc2VjdGlvbjEgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE4MXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpe1xuICAgIGJvZHkubG9naW4gLnNlY3Rpb24xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbn0gXG4gICAgYm9keS5sb2dpbiAuc2VjdGlvbjEgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cbn1cbiIsIi8qXG4qIGJhbGFuY2VcbiovXG4uYmFsYW5jZSB7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgaDR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuXG4uYmlsbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgLmxhc3QtY2VsbCB7XG4gICAgICAgIHdpZHRoOiA5JTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzM0ZGRhMztcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNntcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGNvbG9yOiAjODI4MTgxOyBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIHRhYmxle1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnRhYmxlLWhlYWRpbmcge1xuICAgICAgICAgICAgdGh7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjdiN2I3O1xuICAgICAgICB9XG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyBcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICAgICAgY29sb3I6ICM4MjgxODE7IFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMzVkZGEzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYShtYXgtd2lkdGg6NTQ0cHgpIHtcbiAgICAuYmlsbHMgeyBcbiAgICAgICAgLmxhc3QtY2VsbCB7XG4gICAgICAgICAgICB3aWR0aDogMyU7XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjElO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qXG4qIGhpc3RvcnlcbiovXG5cbi5oaXN0b3J5IHtcbiAgICB0YWJsZXtcbiAgICAgICAgdGQsIHRoIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbiogZHVlLWFtb3VudFxuKi9cbi5kdWUtYW1vdW50e1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgaDV7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IFxuICAgICAgICBjb2xvcjogIzgyODE4MTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIHAgeyBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud3JhcCB7dGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMzVweDt9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQzcHgpIHtcbiAgICAuZHVlLWFtb3VudCB7XG4gICAgICAgIGg1e1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNnB4KVxuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qXG4qIGRhdGEtaW5mb1xuKi9cbi5kYXRhLWluZm8ge1xuICAgIHBhZGRpbmc6IDYwcHggMCA3MHB4O1xuICAgIC5oZWFkaW5nMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuICAgIGg2e1xuICAgICAgICBjb2xvcjogIzgyODE4MTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogIzgyODE4MTtcbiAgICAgICAgXG4gICAgfVxufVxuXG4uZGF0YS11c2FnZSB7cGFkZGluZy10b3A6IDU1cHg7fVxuLnByb2dyZXNzLWlubmVyIHtib3JkZXItcmFkaXVzOiA1cHg7fVxuXG4ud3JhcCB7XG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIHdpZHRoOiAyNSU7IFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgY29sb3I6ICM4MjgxODE7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgY29sb3I6ICMyZmRkYTE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICB9XG5cblxuLnByb2dyZXNzLWJhciB7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtaW5kZW50OiAxZW07XG4gICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGNvbG9yOiAjODI4MTgxO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2dyZXNze1xuICAgICAgICBcbiAgICAgICAgY29sb3I6ICNhZDI2NWI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbn1cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIC53cmFwIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6NTQzcHgpIHtcbiAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IFxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wcm9ncmVzcy1pbm5lclt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuYmFja2dyb3VuZDogI2FiMjY1YjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYWIyNjViIDAlLCAjYWIyNjViIDMwJSwgI2NlMjU1ZCA2OSUsICNjZTI1NWQgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYWIyNjViIDAlLCNhYjI2NWIgMzAlLCNjZTI1NWQgNjklLCNjZTI1NWQgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNhYjI2NWIgMCUsI2FiMjY1YiAzMCUsI2NlMjU1ZCA2OSUsI2NlMjU1ZCAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2FiMjY1YicsIGVuZENvbG9yc3RyPScjY2UyNTVkJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xub3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZ3Jlc3MtaW5uZXJbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG5iYWNrZ3JvdW5kOiAjYWIyNjViOyAvKiBPbGQgYnJvd3NlcnMgKi9cbmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNhYjI2NWIgMCUsICNhYjI2NWIgMzAlLCAjY2UyNTVkIDY5JSwgI2NlMjU1ZCAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNhYjI2NWIgMCUsI2FiMjY1YiAzMCUsI2NlMjU1ZCA2OSUsI2NlMjU1ZCAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2FiMjY1YiAwJSwjYWIyNjViIDMwJSwjY2UyNTVkIDY5JSwjY2UyNTVkIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYWIyNjViJywgZW5kQ29sb3JzdHI9JyNjZTI1NWQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG5ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG5vdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtaW5uZXIge1xuYmFja2dyb3VuZDogI2FiMjY1YjsgLyogT2xkIGJyb3dzZXJzICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYWIyNjViIDAlLCAjYWIyNjViIDMwJSwgI2NlMjU1ZCA2OSUsICNjZTI1NWQgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYWIyNjViIDAlLCNhYjI2NWIgMzAlLCNjZTI1NWQgNjklLCNjZTI1NWQgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNhYjI2NWIgMCUsI2FiMjY1YiAzMCUsI2NlMjU1ZCA2OSUsI2NlMjU1ZCAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2FiMjY1YicsIGVuZENvbG9yc3RyPScjY2UyNTVkJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlO1xuIH1cblxufVxuLmllIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzIHsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG4ucHJvZ3Jlc3MtaW5uZXJbdmFsdWVdOjotbXMtZmlsbCB7XG4gICBiYWNrZ3JvdW5kOiAgI2FiMjY1Yjtcbn1cblxuXG4iLCIvKlxuKmRldGFpbFxuKi9cbi5kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiA3MXB4IDBweCAxNzBweDtcbn1cbi5kZXRhaWxzIHAgeyBcbiAgICBjb2xvcjogIzgyODE4MTtcbn1cbi5kZXRhaWxzIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmRldGFpbHMgaDUge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBjb2xvcjogIzgyODE4MTtcbn1cbi5kZXRhaWxzIGhlYWRlciBoNSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG4uZGV0YWlscyAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG4uZGV0YWlscyAubGlzdDIge1xuICAgIG1hcmdpbi1ib3R0b206IDg1cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgIC5kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogNzVweCAwcHggNzVweDtcbiAgICB9XG4gICAgLmRldGFpbHMgLmxpc3QyLCAuZGV0YWlscyAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1OHB4O1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
