@font-face {
  font-family: Arimo;
  font-style: italic;
  font-weight: 400;
  src: local("Arimo Italic"),local(Arimo-Italic),url(//fonts.gstatic.com/s/arimo/v11/P5sCzZCDf9_T_10c9CNkjA.eot?#) format("eot"),url(//fonts.gstatic.com/s/arimo/v11/P5sCzZCDf9_T_10c9CNkiA.woff2) format("woff2"),url(//fonts.gstatic.com/s/arimo/v11/P5sCzZCDf9_T_10c9CNkjg.woff) format("woff"); }

@font-face {
  font-family: Arimo;
  font-style: italic;
  font-weight: 700;
  src: local("Arimo Bold Italic"),local(Arimo-BoldItalic),url(//fonts.gstatic.com/s/arimo/v11/P5sHzZCDf9_T_10c_JhBnZCP0A.eot?#) format("eot"),url(//fonts.gstatic.com/s/arimo/v11/P5sHzZCDf9_T_10c_JhBnZCP1A.woff2) format("woff2"),url(//fonts.gstatic.com/s/arimo/v11/P5sHzZCDf9_T_10c_JhBnZCP0g.woff) format("woff"); }

@font-face {
  font-family: Arimo;
  font-style: normal;
  font-weight: 400;
  src: local("Arimo Regular"),local(Arimo-Regular),url(//fonts.gstatic.com/s/arimo/v11/P5sMzZCDf9_T_10ZxCU.eot?#) format("eot"),url(//fonts.gstatic.com/s/arimo/v11/P5sMzZCDf9_T_10ZxCE.woff2) format("woff2"),url(//fonts.gstatic.com/s/arimo/v11/P5sMzZCDf9_T_10ZxCc.woff) format("woff"); }

@font-face {
  font-family: Arimo;
  font-style: normal;
  font-weight: 700;
  src: local("Arimo Bold"),local(Arimo-Bold),url(//fonts.gstatic.com/s/arimo/v11/P5sBzZCDf9_T_1Wi4TRDrZY.eot?#) format("eot"),url(//fonts.gstatic.com/s/arimo/v11/P5sBzZCDf9_T_1Wi4TRDrZI.woff2) format("woff2"),url(//fonts.gstatic.com/s/arimo/v11/P5sBzZCDf9_T_1Wi4TRDrZQ.woff) format("woff"); }

.compare-button.selected i:before {
  content: "\E876"; }

.compare-header .compare-products {
  color: #767676; }
  .compare-header .compare-products i {
    font-size: 1.25rem;
    line-height: 1; }
  .compare-header .compare-products > span {
    display: none; }
  .compare-header .compare-products:hover, .compare-header .compare-products:focus, .compare-header .compare-products:active {
    color: #ea917d; }

#compare-footer [data-off-canvas] {
  background: #b3b3b3; }

#compare-footer .compare-footer-grover {
  width: 3.125rem;
  height: 3.125rem;
  position: fixed;
  left: 0;
  top: calc(100% - 3.125rem);
  background: #b3b3b3;
  z-index: 5;
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  color: #2f2c2f; }
  #compare-footer .compare-footer-grover i {
    font-size: 1.25rem;
    line-height: 3.125rem; }
  #compare-footer .compare-footer-grover span {
    vertical-align: 0.625rem; }
  #compare-footer .compare-footer-grover:hover, #compare-footer .compare-footer-grover:focus, #compare-footer .compare-footer-grover:active {
    color: #fff; }
  #compare-footer .compare-footer-grover.open-slidebar i:before {
    content: "\E5CD"; }

#compare-footer #compare-list-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-y: auto; }
  #compare-footer #compare-list-footer li:not(.no-products) {
    width: 5.3125rem;
    min-width: 5.3125rem;
    margin-right: 0.625rem; }
    #compare-footer #compare-list-footer li:not(.no-products):last-child {
      margin-right: 0; }

#compare-footer .buttons a {
  text-transform: uppercase;
  font: 700 0.875rem/1.125rem "Arimo", sans-serif;
  letter-spacing: 0.1em;
  margin-right: 1.25rem; }
  #compare-footer .buttons a:hover, #compare-footer .buttons a:focus, #compare-footer .buttons a:active {
    color: #645d64; }

#modal-compare .modal-dialog.modal-lg .close {
  right: auto;
  left: 0.0625rem;
  color: #fff;
  top: 0.3125rem; }
  #modal-compare .modal-dialog.modal-lg .close:before {
    color: #fff;
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out; }
  #modal-compare .modal-dialog.modal-lg .close:hover, #modal-compare .modal-dialog.modal-lg .close:hover:before {
    color: #ababab; }

#modal-compare:not(.with-products) #compare-products, #modal-compare:not(.with-products) #compare-features {
  display: none;
  margin: 0 50%; }

#modal-compare.with-products .modal-dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

#modal-compare.with-products .modal-content {
  background: none;
  border: none;
  width: auto;
  max-width: 100%; }
  #modal-compare.with-products .modal-content .modal-content-compare {
    border-right: 0.0625rem solid #e7e7e7;
    padding-left: 1.25rem;
    overflow-x: auto;
    background: #141414; }
    #modal-compare.with-products .modal-content .modal-content-compare #compare-products {
      background: white;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-products > div {
        min-width: 12.5rem;
        max-width: 12.5rem;
        text-align: center;
        background: white;
        border-left: 0.0625rem solid #e7e7e7;
        border-top: 0.0625rem solid #e7e7e7; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-products > div:first-child {
          background: none;
          border: none;
          -webkit-transition: all .2s;
          transition: all .2s;
          -webkit-transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25);
                  transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25); }
          #modal-compare.with-products .modal-content .modal-content-compare #compare-products > div:first-child > div {
            min-width: 12.5rem;
            -webkit-transition: all .2s;
            transition: all .2s;
            -webkit-transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25);
                    transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25); }
        @media (max-width: 767.98px) {
          #modal-compare.with-products .modal-content .modal-content-compare #compare-products > div {
            min-width: 9.375rem;
            max-width: 9.375rem; }
            #modal-compare.with-products .modal-content .modal-content-compare #compare-products > div:first-child > div {
              min-width: 12.5rem; } }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-products.close-titles > div:first-child {
        min-width: 0;
        max-width: 100%; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-products.close-titles > div:first-child > div {
          margin-left: -12.5rem; }
    #modal-compare.with-products .modal-content .modal-content-compare #compare-features {
      position: relative;
      text-transform: uppercase;
      font-size: 0.75rem;
      color: #141414; }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-features .features-toggle {
        position: absolute;
        right: 100%;
        top: 0;
        bottom: 0;
        width: 1.25rem;
        background: #141414;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: white;
        cursor: pointer;
        -webkit-transition: all .2s;
        transition: all .2s;
        -webkit-transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25);
                transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25); }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .features-toggle:hover {
          color: #888888; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .features-toggle span {
          letter-spacing: 0.8em;
          -webkit-writing-mode: vertical-rl;
              -ms-writing-mode: tb-rl;
                  writing-mode: vertical-rl;
          text-orientation: upright; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .features-toggle i {
          font-size: 1rem;
          -webkit-transition: -webkit-transform 0.3s ease;
          transition: -webkit-transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-title {
        -webkit-transition: all .2s;
        transition: all .2s;
        -webkit-transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25);
                transition-timing-function: cubic-bezier(0.2, 0, 0.065, 0.25); }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-features.close-titles .features-toggle {
        color: #888888; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features.close-titles .features-toggle i {
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg); }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features.close-titles .features-toggle:hover {
          color: white; }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-features.close-titles .compare-features-row .compare-features-title {
        margin-left: -12.5rem;
        color: #f1f1f1; }
        @media (max-width: 767.98px) {
          #modal-compare.with-products .modal-content .modal-content-compare #compare-features.close-titles .compare-features-row .compare-features-title {
            margin-left: -9.375rem; } }
      #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row:nth-child(even) .compare-features-item {
          background: #f1f1f1; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row:nth-child(odd) .compare-features-item {
          background: white; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row:last-child > div:not(:first-child) {
          border-bottom: 0.0625rem solid #e7e7e7; }
        #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row > div {
          min-width: 12.5rem;
          max-width: 12.5rem;
          padding: 1.0625rem 0.625rem 0.875rem;
          text-align: center;
          border-left: 0.0625rem solid #e7e7e7;
          font-size: 1rem;
          text-transform: none; }
          #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row > div:first-child {
            text-align: left;
            background: #f1f1f1;
            border: none;
            font-weight: bold;
            padding-left: 1.875rem; }
          @media (max-width: 767.98px) {
            #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row > div {
              min-width: 9.375rem;
              max-width: 9.375rem;
              padding: 0.5625rem 0.3125rem 0.5rem; }
              #modal-compare.with-products .modal-content .modal-content-compare #compare-features .compare-features-row > div:first-child {
                padding-left: 0.9375rem; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL2p4Y29tcGFyZXByb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanhjb21wYXJlcHJvZHVjdC92aWV3cy9jc3MvRDovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9QUk9EMTUzMjUvdGhlbWVzL3RoZW1lMTUxMS9fZGV2L21vZHVsZXMvanhjb21wYXJlcHJvZHVjdC92aWV3cy9jc3MvRDovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9QUk9EMTUzMjUvdGhlbWVzL3RoZW1lMTUxMS9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOztBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FDQ0E7RUFFSSxpQkFBZ0IsRUFDakI7O0FBR0g7RUFFSSxlQ0tlLEVETWhCO0VBYkg7SUFJTSxtQkFBZTtJQUNmLGVBQWMsRUFDZjtFQU5MO0lBUU0sY0FBYSxFQUNkO0VBVEw7SUFXTSxlRWJpQixFQzhCcEI7O0FIWkg7RUFFSSxvQkNSYSxFRFNkOztBQUhIO0VBS0ksZ0JBQVc7RUFDWCxpQkFBWTtFQUNaLGdCQUFlO0VBQ2YsUUFBTztFQUNQLDJCQUFzQjtFQUN0QixvQkNoQmE7RURpQmIsV0FBVTtFQUNWLG1CQUFr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OUQ7TUFsSFg7UUFxSGMsZUM1TEksRURtTUw7UUE1SGI7VUF1SGdCLGtDQUF5QjtrQkFBekIsMEJBQXlCLEVBQzFCO1FBeEhmO1VBMEhnQixhQUFZLEVBQ2I7TUEzSGY7UUE4SGMsc0JBQW1CO1FBQ25CLGVDMU1JLEVEOE1MO1FJMUlUO1VKT0o7WUFpSWdCLHVCQUFtQixFQUV0QjtNQW5JYjtRQXNJWSxxQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYSxFQW9DZDtRQTFLWDtVQXdJYyxvQkNuTkksRURvTkw7UUF6SWI7VUEySWMsa0JBQWlCLEVBQ2xCO1FBNUliO1VBK0lnQix1Q0N6TkUsRUQwTkg7UUFoSmY7VUFtSmMsbUJBQWdCO1VBQ2hCLG1CQUFnQjtVQUNoQixxQ0FBdUI7VUFDdkIsbUJBQWtCO1VBQ2xCLHFDQ2pPSTtVRGtPSixnQkFBZTtVQUNmLHFCQUFvQixFQWdCckI7VUF6S2I7WUEySmdCLGlCQUFnQjtZQUNoQixvQkN2T0U7WUR3T0YsYUFBWTtZQUNaLGtCQUFpQjtZQUNqQix1QkFBa0IsRUFDbkI7VUl2S1g7WUpPSjtjQWtLZ0Isb0JBQWdCO2NBQ2hCLG9CQUFnQjtjQUNoQixvQ0FBb0IsRUFLdkI7Y0F6S2I7Z0JBc0trQix3QkFBa0IsRUFDbkIiLCJmaWxlIjoiLi5cXG1vZHVsZXNcXGp4Y29tcGFyZXByb2R1Y3RcXHZpZXdzXFxjc3NcXGp4Y29tcGFyZXByb2R1Y3QuY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJAaW1wb3J0IFwiY3NzL3BhcnRpYWxzL192YXJpYWJsZXNcIjtcclxuLmNvbXBhcmUtYnV0dG9uLnNlbGVjdGVkIHtcclxuICBpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTg3NlwiO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbXBhcmUtaGVhZGVyIHtcclxuICAuY29tcGFyZS1wcm9kdWN0cyB7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgIGkge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNjb21wYXJlLWZvb3RlciB7XHJcbiAgW2RhdGEtb2ZmLWNhbnZhc10ge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktMzA7XHJcbiAgfVxyXG4gIC5jb21wYXJlLWZvb3Rlci1ncm92ZXIge1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgLSA1MHB4KTtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5LTMwO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgdmVydGljYWwtYWxpZ246IDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5vcGVuLXNsaWRlYmFyIHtcclxuICAgICAgaTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNWNkXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgI2NvbXBhcmUtbGlzdC1mb290ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBsaTpub3QoLm5vLXByb2R1Y3RzKSB7XHJcbiAgICAgIHdpZHRoOiA4NXB4O1xyXG4gICAgICBtaW4td2lkdGg6IDg1cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJ1dHRvbnMge1xyXG4gICAgYSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQ6IDcwMCAxNHB4LzE4cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1kYXJrLCAyMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jbW9kYWwtY29tcGFyZSB7XHJcbiAgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICAmLm1vZGFsLWxnIHtcclxuICAgICAgLmNsb3NlIHtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciwgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6ICRncmF5LTUwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpub3QoLndpdGgtcHJvZHVjdHMpIHtcclxuICAgICNjb21wYXJlLXByb2R1Y3RzLCAjY29tcGFyZS1mZWF0dXJlcyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMCA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYud2l0aC1wcm9kdWN0cyB7XHJcbiAgICAubW9kYWwtZGlhbG9nIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgLm1vZGFsLWNvbnRlbnQtY29tcGFyZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXktMzAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTkwMDtcclxuICAgICAgICAjY29tcGFyZS1wcm9kdWN0cyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXktMzAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktMzAwO1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLjA2NSwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMiwgMCwgMC4wNjUsIDAuMjUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmNsb3NlLXRpdGxlcyA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjY29tcGFyZS1mZWF0dXJlcyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgICAgIC5mZWF0dXJlcy10b2dnbGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTkwMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMiwgMCwgMC4wNjUsIDAuMjUpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjhlbTtcclxuICAgICAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xyXG4gICAgICAgICAgICAgIHRleHQtb3JpZW50YXRpb246IHVwcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5jb21wYXJlLWZlYXR1cmVzLXRpdGxlIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIsIDAsIDAuMDY1LCAwLjI1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuY2xvc2UtdGl0bGVzIHtcclxuICAgICAgICAgICAgLmZlYXR1cmVzLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcclxuICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFyZS1mZWF0dXJlcy1yb3cgLmNvbXBhcmUtZmVhdHVyZXMtdGl0bGUge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAwcHg7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTIwMDtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuY29tcGFyZS1mZWF0dXJlcy1yb3cge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSAuY29tcGFyZS1mZWF0dXJlcy1pdGVtIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0yMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSAuY29tcGFyZS1mZWF0dXJlcy1pdGVtIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgID4gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0zMDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTdweCAxMHB4IDE0cHg7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXktMzAwO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0yMDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCA1cHggOHB4O1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL2p4Y29tcGFyZXByb2R1Y3Quc2NzcyIsIi8vXHJcbi8vIENvbG9yIHN5c3RlbVxyXG4vL1xyXG4kd2hpdGU6ICAjZmZmO1xyXG4kZ3JheS0xMDA6ICNmYWZhZmEgO1xyXG4kZ3JheS0yMDA6ICNmMWYxZjE7XHJcbiRncmF5LTMwMDogI2U3ZTdlNztcclxuJGdyYXktNDAwOiAjZGRkZGRkO1xyXG4kZ3JheS01MDA6ICNhYmFiYWI7XHJcbiRncmF5LTYwMDogIzg4ODg4ODtcclxuJGdyYXktNzAwOiAjNTU1NTU1O1xyXG4kZ3JheS04MDA6ICMzYTNhM2E7XHJcbiRncmF5LTkwMDogIzE0MTQxNDtcclxuJGJsYWNrOiAgIzAwMDtcclxuJGRhcmstZ3JheTogIzc2NzY3NjtcclxuJGxpZ2h0aW5nLWdyYXk6ICNhYWIyYjU7XHJcbiRncmF5LTcwOiAjNWU2NDZjO1xyXG4kZ3JheS0zMDogI2IzYjNiMztcclxuJGdyYXktMzM6ICNlYmViZWI7XHJcblxyXG4kZ3JheXM6IChcclxuICAxMDA6ICRncmF5LTEwMCxcclxuICAyMDA6ICRncmF5LTIwMCxcclxuICAzMDA6ICRncmF5LTMwMCxcclxuICA0MDA6ICRncmF5LTQwMCxcclxuICA1MDA6ICRncmF5LTUwMCxcclxuICA2MDA6ICRncmF5LTYwMCxcclxuICA3MDA6ICRncmF5LTcwMCxcclxuICA4MDA6ICRncmF5LTgwMCxcclxuICA5MDA6ICRncmF5LTkwMFxyXG4pO1xyXG5cclxuJGJsdWU6ICAgICM1ZDljZWM7XHJcbiRpbmRpZ286ICAjNjYxMGYyO1xyXG4kcHVycGxlOiAgIzZmNDJjMTtcclxuJHBpbms6ICAgICNkZTZkNmQ7XHJcbiRyZWQ6ICAgICAjZDA1NjU2O1xyXG4kb3JhbmdlOiAgI2ZlYjM4MDtcclxuJHllbGxvdzogICNmZmYxYmM7XHJcbiRncmVlbjogICAjN2NkMjJmO1xyXG4kdGVhbDogICAgIzIwYzk5NztcclxuJGN5YW46ICAgICNjNWYyZmQ7XHJcblxyXG4kY29sb3JzOiAoXHJcbiAgYmx1ZTogJGJsdWUsXHJcbiAgaW5kaWdvOiAkaW5kaWdvLFxyXG4gIHB1cnBsZTogJHB1cnBsZSxcclxuICBwaW5rOiAkcGluayxcclxuICByZWQ6ICRyZWQsXHJcbiAgb3JhbmdlOiAkb3JhbmdlLFxyXG4gIHllbGxvdzogJHllbGxvdyxcclxuICBncmVlbjogJGdyZWVuLFxyXG4gIHRlYWw6ICR0ZWFsLFxyXG4gIGN5YW46ICRjeWFuLFxyXG4gIHdoaXRlOiAkd2hpdGUsXHJcbiAgZ3JheTogJGdyYXktNjAwLFxyXG4gIGdyYXktZGFyazogJGdyYXktODAwLFxyXG4gIGdyYXktZGFya2VyOiAkZ3JheS05MDAsXHJcbiAgZ3JheS1saWdodDogJGdyYXktMjAwLFxyXG4gIGdyYXktbGlnaHRlcjogJGdyYXktMTAwXHJcbik7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgcHJpbWFyeTogJHBpbmssXHJcbiAgc2Vjb25kYXJ5OiAkZ3JheS04MDAsXHJcbiAgc3VjY2VzczogJGdyZWVuLFxyXG4gIGluZm86ICRjeWFuLFxyXG4gIHdhcm5pbmc6ICRvcmFuZ2UsXHJcbiAgZGFuZ2VyOiAkcGluayxcclxuICBsaWdodDogJGdyYXktMjAwLFxyXG4gIGRhcms6ICRncmF5LTkwMCxcclxuICB3aGl0ZTogJHdoaXRlXHJcbik7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXNfY29sb3Iuc2NzcyIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29sb3JcIjtcclxuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLy9tYWluIGNvbG9yc1xyXG4kYnJhbmQtcHJpbWFyeTogI2VhOTE3ZDtcclxuJGJyYW5kLXNlY29uZGFyeTogJGdyYXktNjAwO1xyXG4kYnJhbmQtc3VjY2VzczogJGdyZWVuO1xyXG4kYnJhbmQtaW5mbzogJGN5YW47XHJcbiRicmFuZC13YXJuaW5nOiAkb3JhbmdlO1xyXG4kYnJhbmQtZGFuZ2VyOiAkcmVkO1xyXG4kY29sb3ItYmFzZTogJGRhcmstZ3JheTtcclxuJGNvbG9yLWRhcms6ICMyZjJjMmY7XHJcbiRjb2xvci1saWdodDogJHdoaXRlO1xyXG4kYm9keS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGZvb3Rlci1iZzogJHdoaXRlO1xyXG4kZm9vdGVyLWJnLWRhcms6ICMxNzFlMjg7XHJcbiRib2R5LWJnOiAkZm9vdGVyLWJnO1xyXG4kYm9keS1iZy1kYXJrOiAkZm9vdGVyLWJnLWRhcms7XHJcbiRoZWFkZXItYmc6ICR3aGl0ZTtcclxuJGhlYWRlci1iZy1wcmltYXJ5OiAjZjVmMWYwO1xyXG4kbWFpbi1iZzogJHdoaXRlO1xyXG4kcHJvZHVjdC1iZzogI2ZhZjhmMjtcclxuXHJcbiRwcm9kdWN0LWNvbG9yOiAkY29sb3ItZGFyaztcclxuJHByaWNlLWNvbG9yOiAkYmxhY2s7XHJcbiRyZWd1bGFyLXByaWNlLWNvbG9yOiAjYTFhMWExO1xyXG4kcHJpY2UtbmV3LWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuJHNhbGUtY29sb3I6ICMwMGIwNmM7XHJcbiRuZXctY29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG4kZGlzY291bnQtY29sb3I6ICRzYWxlLWNvbG9yO1xyXG4kcGFjay1jb2xvcjogI2ZmNjk0OTtcclxuJG9ubGluZS1vbmx5LWNvbG9yOiAjMDA5MGZmO1xyXG5cclxuJGJyYW5kLXN1Y2Nlc3M6ICM3MGRmYmY7XHJcbiRicmFuZC13YXJuaW5nOiAjZmZhMjZmO1xyXG4kYnJhbmQtZGFuZ2VyOiAjZjc2MDYzO1xyXG4kYnJhbmQtaW5mbzogIzg5ZGRlNztcclxuJGluLXN0b2NrOiAjYWFjMDVjO1xyXG4kb3V0LW9mLXN0b2NrOiAjZDU0ZDM1O1xyXG5cclxuLy9mb250c1xyXG4kZm9udC1mYW1pbHktYmFzZTogJ0FyaW1vJywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWN1c3RvbTogJ0V4byAyJywgc2Fucy1zZXJpZjtcclxuJGZvbnQtaWNvbjogXCJGb250QXdlc29tZVwiO1xyXG4kZm9udC1mYW1pbHktY2hhcHBzOiAnZmwtY2hhcHBzJztcclxuJGZvbnQtZmFtaWx5LW1hdGVyaWFsLWljb25zOiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG5cclxuLy9MaW5rc1xyXG4kbGluay1jb2xvcjogJGdyYXktODAwO1xyXG4kbGluay1ob3Zlci1jb2xvcjogJGdyYXktNjAwO1xyXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuLy9mb250IHNpemVcclxuJGZvbnQtc2l6ZS1sZzogMS4yNXJlbTtcclxuJGZvbnQtc2l6ZS1zbTogMXJlbTtcclxuJGZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcclxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuMjg2O1xyXG4kaDEtZm9udC1zaXplOiAyLjVyZW07XHJcbiRoMi1mb250LXNpemU6IDEuNzUwcmVtO1xyXG4kaDMtZm9udC1zaXplOiAxLjVyZW07XHJcbiRoNC1mb250LXNpemU6IDEuNXJlbTtcclxuJGg1LWZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiRoNi1mb250LXNpemU6IDEuMTI1cmVtO1xyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogMjdweDtcclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuNTtcclxuJGhlYWRpbmdzLWNvbG9yOiAkZ3JheS04MDA7XHJcblxyXG5cclxuLy9mb250XHJcbiRib2R5LWZvbnQ6IG5vcm1hbCAxNnB4LzI2cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiRmb250LWhlYWRpbmc6IDMwMCAyNnB4LzMycHggJGZvbnQtZmFtaWx5LWN1c3RvbTtcclxuJGZvbnQtbWF4aGVhZGluZzogMzAwIDUwcHgvNjBweCAkZm9udC1mYW1pbHktY3VzdG9tO1xyXG4kZm9udC1zdWJoZWFkaW5nOiA0MDAgMjBweC8zMnB4ICRmb250LWZhbWlseS1jdXN0b207XHJcbiRwcmljZS1mb250OiA3MDAgMThweC8yOHB4ICRmb250LWZhbWlseS1jdXN0b207XHJcbiRyZWd1bGFyLXByaWNlLWZvbnQ6IDQwMCAxMnB4LzI4cHggJGZvbnQtZmFtaWx5LWN1c3RvbTtcclxuJGRpc2NvdW50LXByaWNlLWZvbnQ6IDQwMCAxMnB4LzI4cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiRwcm9kdWN0LWZvbnQ6IDQwMCAyMHB4LzMwcHggJGZvbnQtZmFtaWx5LWN1c3RvbTtcclxuJHByb2R1Y3QtZm9udC1sZzogMzAwIDI2cHgvMzJweCAkZm9udC1mYW1pbHktY3VzdG9tO1xyXG4kcGFjay1wcm9kdWN0LWZvbnQ6IDQwMCAxNnB4LzIwcHggJGZvbnQtZmFtaWx5LWN1c3RvbTtcclxuXHJcbi8vYnV0dG9uc1xyXG4kYnRuLWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDA7XHJcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogMDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAwO1xyXG4kYnRuLWJveC1zaGFkb3c6IG5vbmU7XHJcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcclxuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbi8vU3BhY2luZ1xyXG4kYm9yZGVyLXJhZGl1czogMDtcclxuJGJvcmRlci1yYWRpdXMtc206IDA7XHJcbiRib3JkZXItcmFkaXVzLWxnOiAwO1xyXG4kc3BhY2VyOiAycmVtO1xyXG4kZXh0cmEtc21hbGwtc3BhY2U6ICRzcGFjZXIgKiAuMjU7XHJcbiRzbWFsbC1zcGFjZTogJHNwYWNlciAqIC41O1xyXG4kbWVkaXVtLXNwYWNlOiAkc3BhY2VyO1xyXG4kbGFyZ2Utc3BhY2U6ICRzcGFjZXIgKiAxLjU7XHJcbiRleHRyYS1sYXJnZS1zcGFjZTogJHNwYWNlciAqIDM7XHJcblxyXG4vL2Zvcm1zXHJcbiRpbnB1dC1iZzogJHdoaXRlO1xyXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogMXB4O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiRncmF5LTMzO1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAkZ3JheS01MDA7XHJcbiRpbnB1dC1mb2N1cy1jb2xvcjogJGNvbG9yLWRhcms7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICRncmF5LTMwO1xyXG4kaW5wdXQtYm94LXNoYWRvdzogbm9uZTtcclxuJGlucHV0LWdyb3VwLWJ0bi1ib3JkZXItY29sb3I6IGluaXRpYWw7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuJGlucHV0LXRleHQtY29sb3I6ICRncmF5LTMwO1xyXG5cclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogMS4yNTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6IDFyZW07IC8vMTZweFxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMS4yNXJlbTsgLy8gMjBweFxyXG5cclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogMS4xNTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206IDAuNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206IDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAxLjU7XHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAxLjE1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogMi40cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICogMiAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICgkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0OiBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy9jdXN0b20gZm9ybXNcclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogMS45MztcclxuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxLjQzO1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6IDEuNDI5cmVtO1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiB0cmFuc3BhcmVudDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGdyYXktNDAwO1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAkZ3JheS0yMDA7XHJcbiRjdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbi1kaXNhYmxlZC1jb2xvcjogJGdyYXktMjAwO1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICRncmF5LTgwMDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGdyYXktODAwO1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogJGdyYXktODAwO1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4O2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMlpYSnphVzl1UFNJeExqRWlJSFpwWlhkQ2IzZzlJakFnTUNBeE1qa2dNVEk1SWlCbGJtRmliR1V0WW1GamEyZHliM1Z1WkQwaWJtVjNJREFnTUNBeE1qa2dNVEk1SWlCM2FXUjBhRDBpTVRad2VDSWdhR1ZwWjJoMFBTSXhObkI0SWo0S0lDQThaejRLSUNBZ0lEeHdZWFJvSUdROUltMHhNakV1TXl3ek5DNDJZeTB4TGpZdE1TNDJMVFF1TWkweExqWXROUzQ0TERCc0xUVXhMRFV4TGpFdE5URXVNUzAxTVM0eFl5MHhMall0TVM0MkxUUXVNaTB4TGpZdE5TNDRMREF0TVM0MkxERXVOaTB4TGpZc05DNHlJREFzTlM0NGJEVXpMamtzTlRNdU9XTXdMamdzTUM0NElERXVPQ3d4TGpJZ01pNDVMREV1TWlBeExEQWdNaTR4TFRBdU5DQXlMamt0TVM0eWJEVXpMamt0TlRNdU9XTXhMamN0TVM0MklERXVOeTAwTGpJZ01DNHhMVFV1T0hvaUlHWnBiR3c5SWlNd01EQXdNREFpTHo0S0lDQThMMmMrQ2p3dmMzWm5QZ289XCIpO1xyXG4kY3VzdG9tLXNlbGVjdC1iZzogJGdyYXktMjAwO1xyXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogJGdyYXktNjAwO1xyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICRncmF5LTMwMDtcclxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbi8vYm9yZGVyXHJcbiRiYXNlLWJvcmRlci1jb2xvcjogJGdyYXktMzM7XHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRiYXNlLWJvcmRlci1jb2xvcjtcclxuJG1haW5fYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xyXG4kZGFyay1ib3JkZXItY29sb3I6ICRjb2xvci1kYXJrO1xyXG4kbGlnaHQtYm9yZGVyLWNvbG9yOiAkY29sb3ItbGlnaHQ7XHJcbiRwcmltYXJ5LWJvcmRlci1jb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiRzZWNvbmRhcnktYm9yZGVyLWNvbG9yOiAjZWFlNmRhO1xyXG5cclxuLy9tb2RhbHNcclxuJG1vZGFsLWxnOiAxNDUwcHg7XHJcbiRtb2RhbC1tZDogMTAwMHB4O1xyXG4kbW9kYWwtc206IDUwMHB4O1xyXG4kbW9kYWwteHM6IDMyMHB4O1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6IDMwcHg7XHJcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAzMHB4O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiBub25lO1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiBub25lO1xyXG5cclxuLy9kcm9wZG93bnNcclxuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bi1wYWRkaW5nLXk6IDVweDtcclxuJGRyb3Bkb3duLXNwYWNlcjogMDtcclxuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogMDtcclxuJGRyb3Bkb3duLWJnOiB3aGl0ZTtcclxuJGRyb3Bkb3duLWJveC1zaGFkb3c6IDAgNXB4IDQzcHggcmdiYSgwLCAwLCAwLCAwLjExKTtcclxuJGVuYWJsZS1zaGFkb3dzOiB0cnVlO1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6IDEwcHg7XHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogMTVweDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICRncmF5LTYwMDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50O1xyXG5cclxuLy9wb3BvdmVyXHJcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4vL2dyaWQgZXhhbXBsZVxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xyXG5cclxuJGdyaWQtYnJlYWtwb2ludHM6IChcclxuICAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxyXG4gIHhzOiAwLFxyXG4gIC8vIFNtYWxsIHNjcmVlbiAvIHBob25lXHJcbiAgc206IDU3NnB4LFxyXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcclxuICBtZDogNzY4cHgsXHJcbiAgLy8gTGFyZ2Ugc2NyZWVuIC8gZGVza3RvcFxyXG4gIGxnOiA5OTJweCxcclxuICAvLyBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuICB4bDogMTIwMHB4LFxyXG4gIC8vIEN1c3RvbSBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuICB4eGw6IDE2NTBweFxyXG4pO1xyXG5cclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXHJcbiAgICBzbTogNTc2cHgsXHJcbiAgICBtZDogNzY4cHgsXHJcbiAgICBsZzogOTkycHgsXHJcbiAgICB4bDogMTIwMHB4LFxyXG4gICAgeHhsOiAxNzQwcHhcclxuKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9tb2R1bGVzL2p4Y29tcGFyZXByb2R1Y3Qvdmlld3MvY3NzL0Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvUFJPRDE1MzI1L3RoZW1lcy90aGVtZTE1MTEvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbW9kdWxlcy9qeGNvbXBhcmVwcm9kdWN0L3ZpZXdzL2Nzcy9EOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L1BST0QxNTMyNS90aGVtZXMvdGhlbWUxNTExL19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/