.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}
.clearfix:after {
  clear: both;
}
.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 28px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#main,
.home-top {
  position: relative;
}
.home-top {
  float: left;
  width: 100%;
}
#view-format {
  position: absolute;
  top: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
  z-index: 1;
}
#view-format * {
  margin-bottom: 0;
}
#view-format h1 {
  display: inline-block;
  font-size: 12px;
  text-transform: uppercase;
}
#view-format h1:after {
  content: ":";
}
#view-format ul {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-size: 12px;
}
#view-format li {
  display: inline-block;
  border-right: 1px solid white;
  padding: 0 6px;
}
#view-format li:last-child {
  border-right: 0;
}
#view-format a {
  color: white;
  font-family: sans-serif;
}
#view-format .active {
  font-weight: bold;
}
.view-list #view-format {
  color: #666666;
  text-shadow: none;
}
.view-list #view-format a {
  color: inherit;
}
.home .full-hero {
  min-height: 400px;
}
.home .full-hero img {
  max-width: 1170px;
  width: 100%;
  margin: 0 auto;
  display: block;
}
.home .full-hero.one-third-width img {
  width: 34.1%;
  float: left;
}
.home .full-hero.two-third-width img {
  width: 68.2%;
  float: left;
}
#dark-top {
  margin-top: -28px;
  color: white;
  background-color: black;
  font-family: sans-serif;
}
#dark-top .side-featured h5.byline,
#dark-top .side-featured h5.top-tag,
#dark-top .side-featured h4 {
  margin: 0;
}
#dark-top .side-featured h4 {
  font-size: 18px;
}
#dark-top .side-featured h4 a {
  color: white;
}
#dark-top .side-featured h5 {
  font-size: 80%;
}
#dark-top .side-featured h5.byline {
  color: #dddddd;
}
#dark-top .side-featured article {
  border-top: solid 3px rgba(108, 185, 225, 0.5);
  padding: 10px 0;
}
#dark-top .side-featured article:first-child {
  border-top: 0 none;
}
#dark-top .side-series h3 {
  color: #6cb9e1;
  font-size: 100%;
  text-transform: uppercase;
  margin: 0;
}
#dark-top .side-series h3 a {
  color: #6cb9e1;
}
#dark-top .side-series h4 {
  font-size: 18px;
}
#dark-top .side-series h4 a {
  color: #fff;
}
#dark-top .side-series article {
  padding: 5px 0;
}
#dark-top .side-series .read-more {
  text-align: right;
  font-size: 80%;
}
#dark-top .side-series .read-more a {
  color: #6cb9e1;
}
#dark-top .span10 {
  background-color: rgba(0, 0, 0, 0.85);
  margin: 0 8.510638302%;
  padding: 25px 30px;
}
#dark-top article {
  margin-bottom: 0;
  border-bottom: none;
}
#dark-top p {
  font-size: 93%;
  line-height: 1.4em;
  margin-bottom: 0;
}
#dark-top h2 {
  font-size: 38px;
  line-height: 1.1em;
  margin-bottom: 0.3em;
}
#dark-top h5 {
  font-size: 100%;
}
#dark-top h5 a {
  color: #6cb9e1;
}
#dark-top h2 a {
  color: white;
}
#dark-top .byline,
#dark-top .byline a,
#dark-top section {
  color: #dddddd;
}
#dark-top .byline {
  font-weight: bold;
  font-size: 110%;
}
#dark-top .byline a {
  text-transform: uppercase;
}
#dark-top .span4 .top-tag {
  margin-bottom: 0.7em;
}
#dark-top .related-story {
  font-size: 18px;
  line-height: 1.2em;
  margin-left: 0.2em;
  margin-bottom: 1em;
}
#dark-top .related-story a {
  color: white;
}
#dark-top .more {
  text-align: right;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 16px;
}
#dark-top .more a {
  color: #6cb9e1;
}
#dark-top .more a:after {
  content: " »";
}
#dark-top.overlay {
  background-color: transparent;
  margin-top: 0;
  position: absolute;
  bottom: 50px;
}
#home-secondary {
  position: relative;
}
#home-secondary > div {
  background-color: white;
  padding-bottom: 0;
  margin-top: 20px;
}
#home-secondary .row-fluid > .span1 .widget,
#home-secondary .row-fluid > .span2 .widget,
#home-secondary .row-fluid > .span3 .widget,
#home-secondary .row-fluid > .span4 .widget,
#home-secondary .row-fluid > .span5 .widget,
#home-secondary .row-fluid > .span6 .widget,
#home-secondary .row-fluid > .span7 .widget,
#home-secondary .row-fluid > .span8 .widget,
#home-secondary .row-fluid > .span9 .widget,
#home-secondary .row-fluid > .span10 .widget,
#home-secondary .row-fluid > .span11 .widget,
#home-secondary .row-fluid > .span12 .widget {
  border: none;
}
#home-secondary .row-fluid > .span1:last-child .widget,
#home-secondary .row-fluid > .span2:last-child .widget,
#home-secondary .row-fluid > .span3:last-child .widget,
#home-secondary .row-fluid > .span4:last-child .widget,
#home-secondary .row-fluid > .span5:last-child .widget,
#home-secondary .row-fluid > .span6:last-child .widget,
#home-secondary .row-fluid > .span7:last-child .widget,
#home-secondary .row-fluid > .span8:last-child .widget,
#home-secondary .row-fluid > .span9:last-child .widget,
#home-secondary .row-fluid > .span10:last-child .widget,
#home-secondary .row-fluid > .span11:last-child .widget,
#home-secondary .row-fluid > .span12:last-child .widget {
  border-right: none;
}
#home-river {
  display: none;
}
#home-river header {
  *zoom: 1;
}
#home-river header:before,
#home-river header:after {
  display: table;
  content: "";
}
#home-river header:after {
  clear: both;
}
#home-river .hero {
  text-align: center;
  background-color: #eee;
}
#home-river .span10 {
  margin: 0 auto;
  float: none;
  position: relative;
}
#home-river .span10:before {
  height: 25px;
  background-color: white;
  position: absolute;
  top: -25px;
  left: -4%;
  right: -4%;
  content: " ";
}
@media screen and (max-width: 980px) {
  #dark-top.overlay {
    bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  #dark-top {
    position: relative !important;
    margin-top: -140px !important;
    bottom: auto !important;
  }
  #dark-top .span10 {
    width: 100%;
    margin: 0 auto;
  }
  #dark-top .row-fluid .span1,
  #dark-top .row-fluid .span2,
  #dark-top .row-fluid .span3,
  #dark-top .row-fluid .span4,
  #dark-top .row-fluid .span5,
  #dark-top .row-fluid .span6,
  #dark-top .row-fluid .span7,
  #dark-top .row-fluid .span8,
  #dark-top .row-fluid .span9,
  #dark-top .row-fluid .span10,
  #dark-top .row-fluid .span11,
  #dark-top .row-fluid .span12 {
    /*float: none;*/
    width: 100%;
    margin: 0;
  }
  #dark-top .span4 {
    margin-top: 30px !important;
  }
  #dark-top .related-story {
    margin-left: 0;
  }
  #dark-top.overlay {
    background-color: black;
  }
  #home-secondary .row-fluid > .span1,
  #home-secondary .row-fluid > .span2,
  #home-secondary .row-fluid > .span3,
  #home-secondary .row-fluid > .span4,
  #home-secondary .row-fluid > .span5,
  #home-secondary .row-fluid > .span6,
  #home-secondary .row-fluid > .span7,
  #home-secondary .row-fluid > .span8,
  #home-secondary .row-fluid > .span9,
  #home-secondary .row-fluid > .span10,
  #home-secondary .row-fluid > .span11,
  #home-secondary .row-fluid > .span12 {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .home .full-hero {
    min-height: 50px;
  }
  #dark-top {
    margin-top: -40px !important;
  }
  #dark-top .span10 {
    padding: 15px 18px !important;
  }
  #home-river {
    margin-top: 24px;
  }
  #home-river h1 {
    font-size: 36px;
    line-height: 1.1;
  }
  #view-format {
    width: 100%;
    right: 0;
    left: 0;
    text-align: center;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvaW5jL21peGlucy5sZXNzIiwiaG9tZXBhZ2VzL2Fzc2V0cy9sZXNzL3NpbmdsZS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBO0VBQ0UsUUFBQTs7QUFDQSxTQUFDO0FBQ0QsU0FBQztFQUNDLGNBQUE7RUFDQSxTQUFTLEVBQVQ7O0FBRUYsU0FBQztFQUNDLFdBQUE7O0FBT0o7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsTUFBTSxhQUFOO0VBQ0EsV0FBQTtFQUFhLFVBQUE7RUFDYixZQUFBO0VBQWMsVUFBQTtFQUFZLFNBQUE7O0FBTTVCO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7O0FBSUY7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBd1BBLDhCQUFBO0VBQ0csMkJBQUE7RUFDQywwQkFBQTtFQUNJLHNCQUFBOztBQ3JTVjtBQUNBO0VBQ0Usa0JBQUE7O0FBR0Y7RUFDRSxXQUFBO0VBQ0EsV0FBQTs7QUFHRjtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsdUNBQUE7RUFDQSxVQUFBOztBQU5GLFlBT0U7RUFDRSxnQkFBQTs7QUFSSixZQVVFO0VBQ0UscUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7O0FBQ0EsWUFKRixHQUlHO0VBQ0MsU0FBUyxHQUFUOztBQWZOLFlBa0JFO0VBQ0UscUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBOztBQXRCSixZQXdCRTtFQUNFLHFCQUFBO0VBQ0EsNkJBQUE7RUFDQSxjQUFBOztBQUNBLFlBSkYsR0FJRztFQUNDLGVBQUE7O0FBN0JOLFlBZ0NFO0VBQ0UsWUFBQTtFQUNBLHVCQUFBOztBQWxDSixZQW9DRTtFQUNFLGlCQUFBOztBQUVGLFVBQVc7RUFDVCxjQUFBO0VBQ0EsaUJBQUE7O0FBRkYsVUFBVyxhQUdUO0VBQ0UsY0FBQTs7QUFLTixLQUFNO0VBQ0osaUJBQUE7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RmMsV0FFWjtFQUNGLGVBSGMsV0FHWjtFQUNGLGVBSmMsV0FJWjtFQUNGLGVBTGMsV0FLWjtFQUNGLGVBTmMsV0FNWjtFQUNGLGVBUGMsV0FPWjtFQUNGLGVBUmMsV0FRWjtFQUNGLGVBVGMsV0FTWjtFQUNGLGVBVmMsV0FVWjtFQUNGLGVBWGMsV0FXWjtFQUNGLGVBWmMsV0FZWjtJQUNBLFdBQUE7SUFDQSxXQUFBO0lBQ0EsY0FBQTs7O0FBNkJOLG1CQXhCcUM7RUFDbkMsS0FBTTtJQUNKLGdCQUFBOztFQUVGO0lBQ0UsaUJBQUE7O0VBREYsU0FFRTtJQUNFLDZCQUFBOztFQUdKO0lBQ0UsZ0JBQUE7O0VBRUYsV0FBWTtJQUNWLGVBQUE7SUFDQSxnQkFBQTs7RUFFRjtJQUNFLFdBQUE7SUFDQSxRQUFBO0lBQ0EsT0FBQTtJQUNBLGtCQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWl4aW5zLmxlc3Ncbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyB0byBkZXZlbG9wIGZhc3RlciBhbmQga2VlcCBjb2RlIHJlYWRhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVVElMSVRZIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBGb3IgY2xlYXJpbmcgZmxvYXRzIGxpa2UgYSBib3NzIGg1YnAuY29tL3Fcbi5jbGVhcmZpeCB7XG4gICp6b29tOiAxO1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGUgYW4gaXRlbSB2aXN1YWxseSBvbmx5XG4udmlzdWFsbHloaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4OyB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gQmxvY2sgbGV2ZWwgZm9ybSBpbnB1dHNcbi5pbnB1dC1ibG9jay1sZXZlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjhweDsgICAgICAgIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJraXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIElFNyBpbmxpbmUtYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi5pZTctaW5saW5lLWJsb2NrKCkge1xuICAqZGlzcGxheTogaW5saW5lOyAvKiBJRTcgaW5saW5lLWJsb2NrIGhhY2sgKi9cbiAgKnpvb206IDE7XG59XG5cbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxuLy8gdmVyc2lvbiBpcyBmb3IgZm9ybSBidXR0b25zLCB3aGljaCB0eXBpY2FsbHkgY29tZSBhZnRlciBvdGhlciBlbGVtZW50cywgYW5kXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcbi8vIGluc3RlYWQgb2YgdGhlIDEgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLWxlZnQ6IC4zZW07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5pZTctcmVzdG9yZS1yaWdodC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaXplKEBoZWlnaHQsIEB3aWR0aCkge1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG4uc3F1YXJlKEBzaXplKSB7XG4gIC5zaXplKEBzaXplLCBAc2l6ZSk7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbGFjZWhvbGRlcihAY29sb3I6IEBwbGFjZWhvbGRlclRleHQpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vIEZPTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZm9udCB7XG4gICNmYW1pbHkge1xuICAgIC5zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250RmFtaWx5O1xuICAgIH1cbiAgICAuc2Fucy1zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gICAgfVxuICAgIC5tb25vc3BhY2UoKSB7XG4gICAgICBmb250LWZhbWlseTogQG1vbm9Gb250RmFtaWx5O1xuICAgIH1cbiAgfVxuICAuc2hvcnRoYW5kKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICBmb250LXNpemU6IEBzaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgfVxuICAuc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zZXJpZjtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxuICAuc2Fucy1zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNhbnMtc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLm1vbm9zcGFjZShAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLm1vbm9zcGFjZTtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxufVxuXG5cbi8vIEZPUk1TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaXhpbiBmb3IgZm9ybSBmaWVsZCBzdGF0ZXNcbi5mb3JtRmllbGRTdGF0ZShAdGV4dENvbG9yOiAjNTU1LCBAYm9yZGVyQ29sb3I6ICNjY2MsIEBiYWNrZ3JvdW5kQ29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gU2V0IHRoZSB0ZXh0IGNvbG9yXG4gID4gbGFiZWwsXG4gIC5oZWxwLWJsb2NrLFxuICAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIC8vIFN0eWxlIGlucHV0cyBhY2NvcmRpbmdseVxuICAuY2hlY2tib3gsXG4gIC5yYWRpbyxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlckNvbG9yO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlckNvbG9yLCAxMCUpO1xuICAgICAgLmJveC1zaGFkb3coMCAwIDZweCBsaWdodGVuKEBib3JkZXJDb2xvciwgMjAlKSk7XG4gICAgfVxuICB9XG4gIC8vIEdpdmUgYSBzbWFsbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBpbnB1dC1wcmVwZW5kLy1hcHBlbmRcbiAgLmlucHV0LXByZXBlbmQgLmFkZC1vbixcbiAgLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQHRleHRDb2xvcjtcbiAgfVxufVxuXG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXJhZGl1cyhAcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5cbi8vIFNlZSBnaXQgcHVsbCBodHRwczovL2dpdGh1Yi5jb20vZGFubnlrZWFuZS9ib290c3RyYXAuZ2l0IGJhY2tmYWNlLXZpc2liaWxpdHkgZm9yIGV4YW1wbGVzXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIEJhY2tncm91bmQgY2xpcHBpbmdcbi8vIEhlYWRzIHVwOiBGRiAzLjYgYW5kIHVuZGVyIG5lZWQgXCJwYWRkaW5nXCIgaW5zdGVhZCBvZiBcInBhZGRpbmctYm94XCJcbi5iYWNrZ3JvdW5kLWNsaXAoQGNsaXApIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbn1cblxuLy8gQmFja2dyb3VuZCBzaXppbmdcbi5iYWNrZ3JvdW5kLXNpemUoQHNpemUpe1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgIC1tcy1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW5Db3VudCwgQGNvbHVtbkdhcDogQGdyaWRHdXR0ZXJXaWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eSAvIDEwMDtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eX0pXCI7XG59XG5cblxuXG4vLyBCQUNLR1JPVU5EU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWRkIGFuIGFscGhhdHJhbnNwYXJlbmN5IHZhbHVlIHRvIGFueSBiYWNrZ3JvdW5kIG9yIGJvcmRlciBjb2xvciAodmlhIEVseXNlIEhvbGxhZGF5KVxuI3RyYW5zbHVjZW50IHtcbiAgLmJhY2tncm91bmQoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gIH1cbiAgLmJvcmRlcihAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xuICAgIC5iYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xuICB9XG59XG5cbi8vIEdyYWRpZW50IEJhciBDb2xvcnMgZm9yIGJ1dHRvbnMgYW5kIGFsZXJ0c1xuLmdyYWRpZW50QmFyKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcikge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgQHNlY29uZGFyeUNvbG9yIGRhcmtlbihAc2Vjb25kYXJ5Q29sb3IsIDE1JSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgZmFkZWluKHJnYmEoMCwwLDAsLjEpLCAxNSUpO1xufVxuXG4vLyBHcmFkaWVudHNcbiNncmFkaWVudCB7XG4gIC5ob3Jpem9udGFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAwLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gTGUgc3RhbmRhcmRcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cbiAgLnZlcnRpY2FsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG4gIC5kaXJlY3Rpb25hbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzLCBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKEBjb2xvclN0b3AsIEBtaWRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBvdXRlckNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oQGlubmVyQ29sb3IpLCB0byhAb3V0ZXJDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvciwgQGFuZ2xlOiAtNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cblxuXG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yKSB7XG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAqYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yOyAvKiBEYXJrZW4gSUU3IGJ1dHRvbnMgYnkgZGVmYXVsdCBzbyB0aGV5IHN0YW5kIG91dCBtb3JlIGdpdmVuIHRoZXkgd29uJ3QgaGF2ZSBib3JkZXJzICovXG4gIC5yZXNldC1maWx0ZXIoKTtcblxuICAvLyBpbiB0aGVzZSBjYXNlcyB0aGUgZ3JhZGllbnQgd29uJ3QgY292ZXIgdGhlIGJhY2tncm91bmQsIHNvIHdlIG92ZXJyaWRlXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmLmFjdGl2ZSwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICAqYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgNSUpO1xuICB9XG5cbiAgLy8gSUUgNyArIDggY2FuJ3QgaGFuZGxlIGJveC1zaGFkb3cgdG8gc2hvdyBhY3RpdmUsIHNvIHdlIGRhcmtlbiBhIGJpdCBvdXJzZWx2ZXNcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCAxMCUpIGUoXCJcXDlcIik7XG4gIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cbi5uYXZiYXJWZXJ0aWNhbEFsaWduKEBlbGVtZW50SGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6IChAbmF2YmFySGVpZ2h0IC0gQGVsZW1lbnRIZWlnaHQpIC8gMjtcbn1cblxuLy8gUG9wb3ZlciBhcnJvd3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvciB0aXBzaWVzIGFuZCBwb3BvdmVyc1xuI3BvcG92ZXJBcnJvdyB7XG4gIC50b3AoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG4gIC5sZWZ0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci10b3A6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLmJvdHRvbShAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLnJpZ2h0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbn1cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gVGFibGUgY29sdW1uc1xuLnRhYmxlQ29sdW1ucyhAY29sdW1uU3BhbjogMSkge1xuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xuICB3aWR0aDogKChAZmx1aWRHcmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1uU3BhbiAtIDEpKSAtIDE2OyAvLyAxNiBpcyB0b3RhbCBwYWRkaW5nIG9uIGxlZnQgYW5kIHJpZ2h0IG9mIHRhYmxlIGNlbGxzXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG59XG5cbi8vIE1ha2UgYSBHcmlkXG4vLyBVc2UgLm1ha2VSb3cgYW5kIC5tYWtlQ29sdW1uIHRvIGFzc2lnbiBzZW1hbnRpYyBsYXlvdXRzIGdyaWQgc3lzdGVtIGJlaGF2aW9yXG4ubWFrZVJvdygpIHtcbiAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgLmNsZWFyZml4KCk7XG59XG4ubWFrZUNvbHVtbihAY29sdW1uczogMSwgQG9mZnNldDogMCkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQG9mZnNldCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAb2Zmc2V0IC0gMSkpICsgKEBncmlkR3V0dGVyV2lkdGggKiAyKTtcbiAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG59XG5cbi8vIFRoZSBHcmlkXG4jZ3JpZCB7XG5cbiAgLmNvcmUgKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAuc3BhblggKDApIHt9XG5cbiAgICAub2Zmc2V0WCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAub2Zmc2V0QHtpbmRleH0geyAub2Zmc2V0KEBpbmRleCk7IH1cbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAub2Zmc2V0WCAoMCkge31cblxuICAgIC5vZmZzZXQgKEBjb2x1bW5zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyArIDEpKTtcbiAgICB9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgICAgIC5jbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIC5zcGFuMSxcbiAgICAuc3BhbjIsXG4gICAgLnNwYW4zLFxuICAgIC5zcGFuNCxcbiAgICAuc3BhbjUsXG4gICAgLnNwYW42LFxuICAgIC5zcGFuNyxcbiAgICAuc3BhbjgsXG4gICAgLnNwYW45LFxuICAgIC5zcGFuMTAsXG4gICAgLnNwYW4xMSxcbiAgICAuc3BhbjEyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzXG4gICAgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIgeyAuc3BhbihAZ3JpZENvbHVtbnMpOyB9XG5cbiAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgIC5vZmZzZXRYIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxuICAuZmx1aWQgKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICB9XG5cbiAgICAucm93LWZsdWlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAuc3BhbjEsXG4gICAgICAuc3BhbjIsXG4gICAgICAuc3BhbjMsXG4gICAgICAuc3BhbjQsXG4gICAgICAuc3BhbjUsXG4gICAgICAuc3BhbjYsXG4gICAgICAuc3BhbjcsXG4gICAgICAuc3BhbjgsXG4gICAgICAuc3BhbjksXG4gICAgICAuc3BhbjEwLFxuICAgICAgLnNwYW4xMSxcbiAgICAgIC5zcGFuMTIge1xuICAgICAgICAuaW5wdXQtYmxvY2stbGV2ZWwoKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGg7XG4gICAgICAgICptYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICAgIH1cbiAgICAgIC5zcGFuMSxcbiAgICAgIC5zcGFuMjpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuMzpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuNDpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuNTpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuNjpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuNzpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuODpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuOTpmaXJzdC1jaGlsZCxcbiAgICAgIC5zcGFuMTA6Zmlyc3QtY2hpbGQsXG4gICAgICAuc3BhbjExOmZpcnN0LWNoaWxkLFxuICAgICAgLnNwYW4xMjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBnZW5lcmF0ZSAuc3BhblhcbiAgICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcbiAgICB9XG5cbiAgfVxuXG4gIC5pbnB1dChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgaW5wdXQuc3BhbkB7aW5kZXh9LCB0ZXh0YXJlYS5zcGFuQHtpbmRleH0sIC51bmVkaXRhYmxlLWlucHV0LnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4oQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAxMDtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSxcbiAgICAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gb3ZlcnJpZGUgbWFyZ2luLWxlZnQgZnJvbSBjb3JlIGdyaWQgc3lzdGVtXG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxufVxuXG4uZGFya0xpZ2h0IChAYSkgd2hlbiAobGlnaHRuZXNzKEBhKSA+PSA1MCUpIHtcbiAgY29sb3I6IEBncmF5RGFya2VyO1xufVxuLmRhcmtMaWdodCAoQGEpIHdoZW4gKGxpZ2h0bmVzcyhAYSkgPCA1MCUpIHtcbiAgY29sb3I6IEB3aGl0ZTtcbn1cbi5zb2NpYWxCdXR0b24gKEBuZXR3b3JrKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuZXR3b3JrO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQG5ldHdvcmssIDUlKTsgIFxuICB9XG59IiwiQGltcG9ydCBcIi4uLy4uLy4uL2xlc3MvaW5jL21peGlucy5sZXNzXCI7XG5cbkBza3k6ICM2Y2I5ZTE7XG5AZm9nOiAjZGRkO1xuQGdyZXk6ICM2NjY7XG5cbiNtYWluLFxuLmhvbWUtdG9wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZS10b3Age1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN2aWV3LWZvcm1hdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLCAwLjYpO1xuICB6LWluZGV4OiAxO1xuICAqIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgxIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIjpcIjtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIH1cbiAgLmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnZpZXctbGlzdCAmIHtcbiAgICBjb2xvcjogQGdyZXk7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUgLmZ1bGwtaGVybyB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBpbWcge1xuICAgIG1heC13aWR0aDogMTE3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYub25lLXRoaXJkLXdpZHRoIGltZyB7XG4gICAgd2lkdGg6IDM0LjElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gICYudHdvLXRoaXJkLXdpZHRoIGltZyB7XG4gICAgd2lkdGg6IDM0LjElICogMjtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4jZGFyay10b3Age1xuICBtYXJnaW4tdG9wOiAtMjhweDtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG5cbiAgLnNpZGUtZmVhdHVyZWQge1xuICAgIGg1LmJ5bGluZSwgaDUudG9wLXRhZywgaDQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIGg0IGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG4gICAgaDUuYnlsaW5lIHtcbiAgICAgIGNvbG9yOiBAZm9nO1xuICAgIH1cbiAgICBhcnRpY2xlIHtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDNweCByZ2JhKHJlZChAc2t5KSwgZ3JlZW4oQHNreSksIGJsdWUoQHNreSksIDAuNSk7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMCBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWRlLXNlcmllcyB7XG4gICAgaDMge1xuICAgICAgY29sb3I6IEBza3k7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBAc2t5O1xuICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICAgIGFydGljbGUge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuICAgIC5yZWFkLW1vcmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogQHNreTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3BhbjEwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgIG1hcmdpbjogMCA4LjUxMDYzODMwMiU7XG4gICAgcGFkZGluZzogMjVweCAzMHB4O1xuICB9XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDkzJTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGEge1xuICAgICAgY29sb3I6IEBza3k7XG4gICAgfVxuICB9XG4gIGgyIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAuYnlsaW5lLFxuICAuYnlsaW5lIGEsXG4gIHNlY3Rpb24ge1xuICAgIGNvbG9yOiBAZm9nO1xuICB9XG4gIC5ieWxpbmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgfVxuICAuYnlsaW5lIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLnNwYW40IC50b3AtdGFnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgfVxuICAucmVsYXRlZC1zdG9yeSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuICAubW9yZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYSB7XG4gICAgICBjb2xvcjogQHNreTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiDCu1wiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbiNob21lLXNlY29uZGFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnJvdy1mbHVpZCB7XG4gICAgJiA+IC5zcGFuMSxcbiAgICAmID4gLnNwYW4yLFxuICAgICYgPiAuc3BhbjMsXG4gICAgJiA+IC5zcGFuNCxcbiAgICAmID4gLnNwYW41LFxuICAgICYgPiAuc3BhbjYsXG4gICAgJiA+IC5zcGFuNyxcbiAgICAmID4gLnNwYW44LFxuICAgICYgPiAuc3BhbjksXG4gICAgJiA+IC5zcGFuMTAsXG4gICAgJiA+IC5zcGFuMTEsXG4gICAgJiA+IC5zcGFuMTIge1xuICAgICAgLndpZGdldCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCAud2lkZ2V0IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jaG9tZS1yaXZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlYWRlciB7XG4gICAgKnpvb206IDE7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG4gIC5oZXJvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgfVxuICAuc3BhbjEwIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yNXB4O1xuICAgICAgbGVmdDogLTQlO1xuICAgICAgcmlnaHQ6IC00JTtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODBweCkge1xuICAjZGFyay10b3Aub3ZlcmxheSB7XG4gICAgYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNkYXJrLXRvcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAtMTQwcHggIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAuc3BhbjEwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC5yb3ctZmx1aWQge1xuICAgICAgLnNwYW4xLFxuICAgICAgLnNwYW4yLFxuICAgICAgLnNwYW4zLFxuICAgICAgLnNwYW40LFxuICAgICAgLnNwYW41LFxuICAgICAgLnNwYW42LFxuICAgICAgLnNwYW43LFxuICAgICAgLnNwYW44LFxuICAgICAgLnNwYW45LFxuICAgICAgLnNwYW4xMCxcbiAgICAgIC5zcGFuMTEsXG4gICAgICAuc3BhbjEyIHtcbiAgICAgICAgLypmbG9hdDogbm9uZTsqL1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3BhbjQge1xuICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucmVsYXRlZC1zdG9yeSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJi5vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICNob21lLXNlY29uZGFyeSAucm93LWZsdWlkIHtcbiAgICAmID4gLnNwYW4xLFxuICAgICYgPiAuc3BhbjIsXG4gICAgJiA+IC5zcGFuMyxcbiAgICAmID4gLnNwYW40LFxuICAgICYgPiAuc3BhbjUsXG4gICAgJiA+IC5zcGFuNixcbiAgICAmID4gLnNwYW43LFxuICAgICYgPiAuc3BhbjgsXG4gICAgJiA+IC5zcGFuOSxcbiAgICAmID4gLnNwYW4xMCxcbiAgICAmID4gLnNwYW4xMSxcbiAgICAmID4gLnNwYW4xMiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lIC5mdWxsLWhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIH1cbiAgI2RhcmstdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtNDBweCAhaW1wb3J0YW50O1xuICAgIC5zcGFuMTAge1xuICAgICAgcGFkZGluZzogMTVweCAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICNob21lLXJpdmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG4gICNob21lLXJpdmVyIGgxIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgfVxuICAjdmlldy1mb3JtYXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iXX0= */