/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* Project specific mixins */
/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* ----------
 @ Size
 	- Shortcut for setting height and width
 	- $width => width of element
 	- $height => height of element
 	- Single value will set both values (e.g. size(100%);
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
.c-banner-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  min-height: 25rem;
  padding: 0 0 0 var(--side-gutter);
  background-color: #F5F5F5;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 0 0 3.72rem 0;
  gap: 0 4.17rem;
}

.c-banner-page__content {
  position: relative;
  max-width: calc(1656px / 12 * 6);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.c-banner-page__image-container {
  position: relative;
  max-width: 46rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
}

.c-banner-page__image {
  width: 100%;
  height: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 826/476;
  -webkit-clip-path: url(#c-banner-page__clip--desktop);
          clip-path: url(#c-banner-page__clip--desktop);
}

.c-banner-page__image-clip-container {
  border-radius: 0 0 3.72rem 0;
  overflow: hidden;
  margin: 0;
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}

.c-banner-page__stripes {
  position: absolute;
  left: -3rem;
  bottom: -1.47rem;
  width: 18.72rem;
  z-index: 1;
}

.c-banner-page__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  color: #fff;
}

.c-banner-page__label::after {
  content: '';
  width: 5em;
  height: 3px;
  margin-top: 0.5em;
  background-color: #09d6a1;
  -webkit-transition: width 150ms ease-in-out;
  transition: width 150ms ease-in-out;
}

.c-banner-page__title {
  margin: 0.7rem 0 0 0;
}

.c-banner-page__btn {
  margin-top: 2rem;
}

.c-banner-page .c-strut-dropdown__value {
  color: #1f1f1f;
}

.c-banner-page__clip {
  position: absolute;
  display: block;
  inset: 0;
  height: 100%;
  width: 100%;
  margin: 0;
  z-index: -1;
}

.c-banner-page__clip--mobile {
  display: none;
}

.c-banner-page__blurb {
  margin-top: 0.75rem;
}

@media only screen and (max-width: 991px) {
  .c-banner-page {
    min-height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    border-radius: unset;
  }
  .c-banner-page .c-breadcrumbs__crumb:last-child {
    display: none;
  }
  .c-banner-page__image-container {
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .c-banner-page__image-clip-container {
    border-radius: unset;
  }
  .c-banner-page__stripes {
    position: absolute;
    left: 5%;
    bottom: auto;
    top: 1.17rem;
    width: 34.6%;
    z-index: 1;
  }
  .c-banner-page__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: 100%;
    padding: 1.25rem 1.25rem var(--section-vertical-margin);
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
  }
  .c-banner-page__clip--desktop {
    display: none;
  }
  .c-banner-page__clip--mobile {
    display: block;
  }
  .c-banner-page__image {
    -webkit-clip-path: url(#c-banner-page__clip--mobile);
            clip-path: url(#c-banner-page__clip--mobile);
  }
}

.c-intro-block {
  position: relative;
  width: 100%;
  max-width: calc(1656px / 12 * 8);
  margin: 0 auto;
  padding: 5rem 0 3rem;
}

.c-intro-block--align-left {
  text-align: left;
}

.c-intro-block__icon {
  display: inline-block;
  width: 4rem;
}

.c-intro-block__btn {
  margin-top: 2rem;
}

@media only screen and (max-width: 768px) {
  .c-intro-block {
    padding: 3rem 0;
  }
}

.c-xr-additional {
  margin: 5rem 0 0;
  padding: 5rem 0;
  background-color: #f7f7f7;
}

.c-xr-additional .iframe {
  margin: 0;
}

.c-xr-additional h4 {
  margin-top: 0.75rem;
}

.c-xr-additional h4 + ul, .c-xr-additional h4 + ul li + li {
  margin-top: 0.5rem;
}

.c-xr-additional + * {
  margin-top: 0;
}

/* Old styles transfered over 
with very limited cleanup/refactoring */
.c-vr-landing {
  margin-top: 0;
}

.c-worksites__table {
  margin: 0;
  padding-top: 1.5rem;
}

.c-worksites__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-worksites__heading::after {
  content: '';
  width: 3em;
  height: 3px;
  margin-top: 0.25em;
  background-color: #ffc200;
}

.c-worksite {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.75rem;
}

.c-worksite__image {
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
}

.c-worksite__icon {
  width: 4.25rem;
  height: 4.25rem;
  margin: 1rem 1rem 0 0;
}

.c-worksite__icon::before {
  content: '';
  display: inline-block;
  width: 100%;
  height: 100%;
  border: 5px solid;
  border-radius: 50%;
  border-left-color: #9bd172;
  border-bottom-color: #9bd172;
  border-right-color: #7ac143;
  border-top-color: #7ac143;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: border-color 0.2s ease-out;
  transition: border-color 0.2s ease-out;
}

.c-worksite__content {
  margin-top: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.5rem 1rem;
  -webkit-transition: background 0.2s ease-out;
  transition: background 0.2s ease-out;
}

.c-worksite__location {
  margin-top: 0;
}

.c-worksite__link {
  margin-top: 0.5rem;
  font-weight: 400;
  font-size: 0.9rem;
  text-transform: none;
}

.c-worksite.focused, .c-worksite:hover {
  cursor: pointer;
}

.c-worksite.focused .c-worksite__content, .c-worksite:hover .c-worksite__content {
  background-color: #f0f5f9;
}

.c-worksite.focused .c-worksite__icon::before, .c-worksite:hover .c-worksite__icon::before {
  border-left-color: #f3a759;
  border-bottom-color: #f3a759;
  border-right-color: #ef8a22;
  border-top-color: #ef8a22;
}

.c-circle-icon {
  position: relative;
}

.c-circle-icon__image {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 3px;
  max-width: 3.25rem;
  max-height: 2.75rem;
}

.c-map {
  position: relative;
  text-align: right;
}

.c-alberta {
  position: relative;
  display: inline-block;
  z-index: 10;
}

.c-pin {
  margin-top: 0;
  position: absolute;
  width: 2.5rem;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.c-pin svg {
  width: 100%;
  height: 100%;
}

.c-pin svg .left-border {
  fill: #a2d37b;
}

.c-pin svg .right-border {
  fill: #79c142;
}

.c-pin:hover, .c-pin.focused {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  cursor: pointer;
}

.c-pin:hover svg .left-border, .c-pin.focused svg .left-border {
  fill: #f3a759;
}

.c-pin:hover svg .right-border, .c-pin.focused svg .right-border {
  fill: #ef8a22;
}

.c-pin__icon {
  position: absolute;
  top: 32%;
  left: 50%;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 0;
}

.c-pin__vr-conventional {
  top: 24.67836%;
  left: 12.5%;
}

.c-pin__vr-automated {
  top: 42.5731%;
  left: 5.9322%;
}

.c-pin__vr-lpg-pipe {
  top: 50.64327%;
  left: 41.73729%;
}

.c-pin__vr-mining {
  top: 25.1462%;
  left: 79.87288%;
}

.c-pin__vr-nat-gas-pipe {
  top: 47.25146%;
  left: 22.66949%;
}

.c-pin__vr-processing {
  top: 60%;
  left: 25.63559%;
}

.c-pin__vr-sagd {
  top: 42.5731%;
  left: 75.21186%;
}

.c-pin__vr-well-decom {
  top: 59.06433%;
  left: 39.19492%;
}

.c-alberta__map svg, .c-alberta__map svg * {
  max-width: 100%;
}

.c-alberta__map image {
  opacity: 0;
}

.c-worksite-careers-container {
  position: absolute;
  top: 0;
  right: 30%;
  bottom: 10%;
  width: 85%;
  overflow: hidden;
  z-index: 1;
}

.c-worksite-careers {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #edf3f8;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.c-worksite-careers-single {
  position: relative;
  display: none;
  text-align: left;
  padding: 2.5rem 18rem 3rem 2rem;
}

.c-worksite-careers-heading {
  line-height: 1.1;
}

.c-worksite-careers-single__icon {
  position: absolute;
  right: 12rem;
  bottom: 2rem;
  width: 5rem;
  height: auto;
  max-height: 6.5rem;
}

.c-worksite-career {
  display: block;
  margin-top: 0.5rem;
}

.c-worksite-career:first-of-type {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 968px) {
  .c-worksite-careers-container {
    bottom: -5rem;
    right: 0;
    width: 100%;
  }
  .c-worksite-careers-single {
    padding: 2.5rem 4rem 3rem 2rem;
  }
  .c-worksite-careers-single__icon {
    right: 2rem;
  }
  .c-worksite-careers-container {
    z-index: 15;
  }
}

@media only screen and (max-width: 768px) {
  .c-map {
    margin-top: 4rem;
    text-align: center;
  }
  .c-alberta__map svg, .c-alberta__map svg * {
    width: 100%;
    height: auto;
  }
  .c-pin {
    width: 2.5rem;
  }
  .c-pin__icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

@media all and (-ms-high-contrast: none) {
  .c-pin__icon {
    top: 41%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtdGFrZS10b3VyLmNzcyIsIl9jdXN0b20tdXRpbGl0aWVzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9iYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXItcGFnZS5zY3NzIiwiY29tcG9uZW50cy9faW50cm8tYmxvY2suc2NzcyIsImNvbXBvbmVudHMvX3hyLWFkZGl0aW9uYWwuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtdGFrZS10b3VyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O1lDRVk7QURJWjs7WUNEWTtBQ0xaOztZRFFZO0FFUlo7O3NCRldzQjtBRVB0Qjs7WUZVWTtBRUpaOztZRk9ZO0FFcUNaOztZRmxDWTtBRXdGWjs7WUZyRlk7QUNqQlo7O1lEb0JZO0FHMUJaLDRCQUFBO0FDQUE7O3NCSjhCc0I7QUkxQnRCOzs7Ozs7WUppQ1k7QUlWWjs7Ozs7WUpnQlk7QUlMWjs7Ozs7O1lKWVk7QUlBWjs7c0JKR3NCO0FJQ3RCOzs7WUpHWTtBSU9aOzs7O1lKRlk7QUlpQlo7Ozs7O1lKWFk7QUlzQlo7OztZSmxCWTtBSThCWjs7O1lKMUJZO0FLNUVaO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGlDQUFpQztFQUNqQyx5QkFBeUI7RUFDekIseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7RUFDOUIsNEJBQTRCO0VBQzVCLGNBQWM7QUw4RWxCOztBSzVFQTtFQUNJLGtCQUFrQjtFQUNsQixnQ0FBNkM7RUFDN0MsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTztFQUNQLFNBQVM7RUFDVCwyQkFBa0I7TUFBbEIsMEJBQWtCO01BQWxCLGtCQUFrQjtBTCtFdEI7O0FLN0VBO0VB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QVU7QVIyUmQ7O0FRelJBO0VBQ0ksa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLHlCTi9MMkI7RU1nTTNCLG1DQUEyQjtVQUEzQiwyQkFBMkI7QVI0Ui9COztBUTFSQTtFQUNJLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLCtCQUErQjtBUjZSbkM7O0FRMVJBO0VBQ0ksZ0JBQWdCO0FSNlJwQjs7QVEzUkE7RUFDSSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFlBQVk7RUFFWixXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQjtBUjZSdEI7O0FRM1JBO0VBQ0ksY0FBYztFQUNkLGtCQUFrQjtBUjhSdEI7O0FRaFNBO0VBS1Esa0JBQWtCO0FSK1IxQjs7QVEzUkE7RUFDSTtJQUNJLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztFUjhSakI7RVE1UkU7SUFDSSw4QkFBOEI7RVI4UnBDO0VRNVJFO0lBQ0ksV0FBVztFUjhSakI7RVE1UkU7SUFDSSxXQUFXO0VSOFJqQjtBQUNGOztBUTNSQTtFQUNJO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtFUjhSeEI7RVE1UkU7SUFFUSxXQUFXO0lBQ1gsWUFBWTtFUjZSdEI7RVExUkU7SUFDSSxhQUFhO0VSNFJuQjtFUTFSTTtJQUNJLGFBQWE7SUFDYixjQUFjO0VSNFJ4QjtBQUNGOztBUXhSQTtFQUNJO0lBQ0ksUUFBUTtFUjJSZDtBQUNGIiwiZmlsZSI6InBhZ2UtdGVtcGxhdGVzL3BhZ2UtdGFrZS10b3VyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvdXJib24vY29yZS9fYm91cmJvbi5zY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGluc1wiOyIsIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuLyogUHJvamVjdCBzcGVjaWZpYyBtaXhpbnMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgU2l6ZVxuIFx0LSBTaG9ydGN1dCBmb3Igc2V0dGluZyBoZWlnaHQgYW5kIHdpZHRoXG4gXHQtICR3aWR0aCA9PiB3aWR0aCBvZiBlbGVtZW50XG4gXHQtICRoZWlnaHQgPT4gaGVpZ2h0IG9mIGVsZW1lbnRcbiBcdC0gU2luZ2xlIHZhbHVlIHdpbGwgc2V0IGJvdGggdmFsdWVzIChlLmcuIHNpemUoMTAwJSk7XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJHRoZW1lLWNvbG9ycyBtYXBcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cbi5jLWJhbm5lci1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgcGFkZGluZzogMCAwIDAgdmFyKC0tc2lkZS1ndXR0ZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzLjcycmVtIDA7XG4gIGdhcDogMCA0LjE3cmVtO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiBjYWxjKDE2NTZweCAvIDEyICogNik7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYy1iYW5uZXItcGFnZV9faW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDQ2cmVtO1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWJhbm5lci1wYWdlX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGFzcGVjdC1yYXRpbzogODI2LzQ3NjtcbiAgY2xpcC1wYXRoOiB1cmwoI2MtYmFubmVyLXBhZ2VfX2NsaXAtLWRlc2t0b3ApO1xufVxuXG4uYy1iYW5uZXItcGFnZV9faW1hZ2UtY2xpcC1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMy43MnJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWJhbm5lci1wYWdlX19zdHJpcGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtM3JlbTtcbiAgYm90dG9tOiAtMS40N3JlbTtcbiAgd2lkdGg6IDE4LjcycmVtO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA5ZDZhMTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMTUwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLWJhbm5lci1wYWdlX190aXRsZSB7XG4gIG1hcmdpbjogMC43cmVtIDAgMCAwO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fYnRuIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmMtYmFubmVyLXBhZ2UgLmMtc3RydXQtZHJvcGRvd25fX3ZhbHVlIHtcbiAgY29sb3I6ICMxZjFmMWY7XG59XG5cbi5jLWJhbm5lci1wYWdlX19jbGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaW5zZXQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5jLWJhbm5lci1wYWdlX19jbGlwLS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fYmx1cmIge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5jLWJhbm5lci1wYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgfVxuICAuYy1iYW5uZXItcGFnZSAuYy1icmVhZGNydW1ic19fY3J1bWI6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9faW1hZ2UtY2xpcC1jb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICB9XG4gIC5jLWJhbm5lci1wYWdlX19zdHJpcGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNSU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMS4xN3JlbTtcbiAgICB3aWR0aDogMzQuNiU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9fY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSB2YXIoLS1zZWN0aW9uLXZlcnRpY2FsLW1hcmdpbik7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9fY2xpcC0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9fY2xpcC0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9faW1hZ2Uge1xuICAgIGNsaXAtcGF0aDogdXJsKCNjLWJhbm5lci1wYWdlX19jbGlwLS1tb2JpbGUpO1xuICB9XG59XG5cbi5jLWludHJvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDE2NTZweCAvIDEyICogOCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA1cmVtIDAgM3JlbTtcbn1cblxuLmMtaW50cm8tYmxvY2stLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1pbnRyby1ibG9ja19faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDRyZW07XG59XG5cbi5jLWludHJvLWJsb2NrX19idG4ge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWludHJvLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cbn1cblxuLmMteHItYWRkaXRpb25hbCB7XG4gIG1hcmdpbjogNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbn1cblxuLmMteHItYWRkaXRpb25hbCAuaWZyYW1lIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy14ci1hZGRpdGlvbmFsIGg0IHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLmMteHItYWRkaXRpb25hbCBoNCArIHVsLCAuYy14ci1hZGRpdGlvbmFsIGg0ICsgdWwgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmMteHItYWRkaXRpb25hbCArICoge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBPbGQgc3R5bGVzIHRyYW5zZmVyZWQgb3ZlciBcbndpdGggdmVyeSBsaW1pdGVkIGNsZWFudXAvcmVmYWN0b3JpbmcgKi9cbi5jLXZyLWxhbmRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy13b3Jrc2l0ZXNfX3RhYmxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuXG4uYy13b3Jrc2l0ZXNfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmMtd29ya3NpdGVzX19oZWFkaW5nOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMjAwO1xufVxuXG4uYy13b3Jrc2l0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG59XG5cbi5jLXdvcmtzaXRlX19pbWFnZSB7XG4gIGZsZXg6IDA7XG59XG5cbi5jLXdvcmtzaXRlX19pY29uIHtcbiAgd2lkdGg6IDQuMjVyZW07XG4gIGhlaWdodDogNC4yNXJlbTtcbiAgbWFyZ2luOiAxcmVtIDFyZW0gMCAwO1xufVxuXG4uYy13b3Jrc2l0ZV9faWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiA1cHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5YmQxNzI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5YmQxNzI7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzdhYzE0MztcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzdhYzE0MztcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtd29ya3NpdGVfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy13b3Jrc2l0ZV9fbG9jYXRpb24ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy13b3Jrc2l0ZV9fbGluayB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uYy13b3Jrc2l0ZS5mb2N1c2VkLCAuYy13b3Jrc2l0ZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmMtd29ya3NpdGUuZm9jdXNlZCAuYy13b3Jrc2l0ZV9fY29udGVudCwgLmMtd29ya3NpdGU6aG92ZXIgLmMtd29ya3NpdGVfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmNWY5O1xufVxuXG4uYy13b3Jrc2l0ZS5mb2N1c2VkIC5jLXdvcmtzaXRlX19pY29uOjpiZWZvcmUsIC5jLXdvcmtzaXRlOmhvdmVyIC5jLXdvcmtzaXRlX19pY29uOjpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2YzYTc1OTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YzYTc1OTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZWY4YTIyO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZWY4YTIyO1xufVxuXG4uYy1jaXJjbGUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtY2lyY2xlLWljb25fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcGFkZGluZzogM3B4O1xuICBtYXgtd2lkdGg6IDMuMjVyZW07XG4gIG1heC1oZWlnaHQ6IDIuNzVyZW07XG59XG5cbi5jLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLWFsYmVydGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgei1pbmRleDogMTA7XG59XG5cbi5jLXBpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbi5jLXBpbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1waW4gc3ZnIC5sZWZ0LWJvcmRlciB7XG4gIGZpbGw6ICNhMmQzN2I7XG59XG5cbi5jLXBpbiBzdmcgLnJpZ2h0LWJvcmRlciB7XG4gIGZpbGw6ICM3OWMxNDI7XG59XG5cbi5jLXBpbjpob3ZlciwgLmMtcGluLmZvY3VzZWQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLXBpbjpob3ZlciBzdmcgLmxlZnQtYm9yZGVyLCAuYy1waW4uZm9jdXNlZCBzdmcgLmxlZnQtYm9yZGVyIHtcbiAgZmlsbDogI2YzYTc1OTtcbn1cblxuLmMtcGluOmhvdmVyIHN2ZyAucmlnaHQtYm9yZGVyLCAuYy1waW4uZm9jdXNlZCBzdmcgLnJpZ2h0LWJvcmRlciB7XG4gIGZpbGw6ICNlZjhhMjI7XG59XG5cbi5jLXBpbl9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMiU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYy1waW5fX3ZyLWNvbnZlbnRpb25hbCB7XG4gIHRvcDogMjQuNjc4MzYlO1xuICBsZWZ0OiAxMi41JTtcbn1cblxuLmMtcGluX192ci1hdXRvbWF0ZWQge1xuICB0b3A6IDQyLjU3MzElO1xuICBsZWZ0OiA1LjkzMjIlO1xufVxuXG4uYy1waW5fX3ZyLWxwZy1waXBlIHtcbiAgdG9wOiA1MC42NDMyNyU7XG4gIGxlZnQ6IDQxLjczNzI5JTtcbn1cblxuLmMtcGluX192ci1taW5pbmcge1xuICB0b3A6IDI1LjE0NjIlO1xuICBsZWZ0OiA3OS44NzI4OCU7XG59XG5cbi5jLXBpbl9fdnItbmF0LWdhcy1waXBlIHtcbiAgdG9wOiA0Ny4yNTE0NiU7XG4gIGxlZnQ6IDIyLjY2OTQ5JTtcbn1cblxuLmMtcGluX192ci1wcm9jZXNzaW5nIHtcbiAgdG9wOiA2MCU7XG4gIGxlZnQ6IDI1LjYzNTU5JTtcbn1cblxuLmMtcGluX192ci1zYWdkIHtcbiAgdG9wOiA0Mi41NzMxJTtcbiAgbGVmdDogNzUuMjExODYlO1xufVxuXG4uYy1waW5fX3ZyLXdlbGwtZGVjb20ge1xuICB0b3A6IDU5LjA2NDMzJTtcbiAgbGVmdDogMzkuMTk0OTIlO1xufVxuXG4uYy1hbGJlcnRhX19tYXAgc3ZnLCAuYy1hbGJlcnRhX19tYXAgc3ZnICoge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jLWFsYmVydGFfX21hcCBpbWFnZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLXdvcmtzaXRlLWNhcmVlcnMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAzMCU7XG4gIGJvdHRvbTogMTAlO1xuICB3aWR0aDogODUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy13b3Jrc2l0ZS1jYXJlZXJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2Y4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jLXdvcmtzaXRlLWNhcmVlcnMtc2luZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAyLjVyZW0gMThyZW0gM3JlbSAycmVtO1xufVxuXG4uYy13b3Jrc2l0ZS1jYXJlZXJzLWhlYWRpbmcge1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4uYy13b3Jrc2l0ZS1jYXJlZXJzLXNpbmdsZV9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEycmVtO1xuICBib3R0b206IDJyZW07XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDYuNXJlbTtcbn1cblxuLmMtd29ya3NpdGUtY2FyZWVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmMtd29ya3NpdGUtY2FyZWVyOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTY4cHgpIHtcbiAgLmMtd29ya3NpdGUtY2FyZWVycy1jb250YWluZXIge1xuICAgIGJvdHRvbTogLTVyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtd29ya3NpdGUtY2FyZWVycy1zaW5nbGUge1xuICAgIHBhZGRpbmc6IDIuNXJlbSA0cmVtIDNyZW0gMnJlbTtcbiAgfVxuICAuYy13b3Jrc2l0ZS1jYXJlZXJzLXNpbmdsZV9faWNvbiB7XG4gICAgcmlnaHQ6IDJyZW07XG4gIH1cbiAgLmMtd29ya3NpdGUtY2FyZWVycy1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDE1O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtbWFwIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYy1hbGJlcnRhX19tYXAgc3ZnLCAuYy1hbGJlcnRhX19tYXAgc3ZnICoge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuYy1waW4ge1xuICAgIHdpZHRoOiAyLjVyZW07XG4gIH1cbiAgLmMtcGluX19pY29uIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy1waW5fX2ljb24ge1xuICAgIHRvcDogNDElO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJjaGlsZC10aGVtZS9hc3NldHMvc2Nzcy92YXJpYWJsZXNcIjtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy93cC1iYXNlXCI7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuXG4kZW5hYmxlLXJlc3BvbnNpdmUtdGV4dDpcdHRydWU7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4kbGlnaHQtYmx1ZTogICAgICAgICAgICAjZWRmM2Y4O1xuXG4kYnJhbmQtdmlnb3I6ICAgICAgICAgICAjMGMyMTg5O1xuJGJyYW5kLXByb2Nlc3M6ICAgICAgICAgIzA5ZDZhMTtcbiRicmFuZC1lbmVyZ2l6ZTogICAgICAgICNlODM0NTI7XG4kYnJhbmQtcHVyc3VpdDogICAgICAgICAjMDBjM2ZmO1xuJGJyYW5kLWlnbml0ZTogICAgICAgICAgI2ZmYzIwMDtcbiRicmFuZC1vcmFuZ2U6ICAgICAgICAgICRicmFuZC1pZ25pdGU7XG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICRicmFuZC12aWdvcjtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICRicmFuZC1wcm9jZXNzO1xuJGJyYW5kLXRlcnRpYXJ5OiAgICAgICAgJGJyYW5kLWVuZXJnaXplO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIHN1Y2Nlc3M6ICMzMGJlNzYsXG4gICAgaW5mbzogJGJyYW5kLXByaW1hcnksXG4gICAgd2FybmluZzogJGJyYW5kLXNlY29uZGFyeSxcbiAgICBkYW5nZXI6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBsaWdodC1ibHVlOiAkbGlnaHQtYmx1ZSwgICAgXG4gICAgb3JhbmdlOiAkYnJhbmQtb3JhbmdlLFxuICAgIGxpZ2h0LWdyZXk6ICNGNUY1RjUsXG4gICAgbWlkLWdyZXk6ICM3MDcwNzAsXG4gICAgdmlnb3I6ICRicmFuZC12aWdvcixcbiAgICBwcm9jZXNzOiAkYnJhbmQtcHJvY2VzcyxcbiAgICBlbmVyZ2l6ZTogJGJyYW5kLWVuZXJnaXplLFxuICAgIHB1cnN1aXQ6ICRicmFuZC1wdXJzdWl0LFxuICAgIGlnbml0ZTogJGJyYW5kLWlnbml0ZVxuKSk7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmY7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAjMWYxZjFmO1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcblxuJGxpbmUtY29sb3I6IFx0XHRcdCNlMWUyZTM7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cblxuJGJhc2VGb250U2l6ZTogMThweDtcblxuJHJvb3RGb250U2l6ZTogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSAvIDE2ICogMTAwJTsgLy8gRm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucyB0aGUgcm9vdCBmb250IHNpemUgc2hvdWxkIGJlIHNldCB0byAlLCBtb3N0IGJyb3dzZXJzIGhhdmUgYSBiYXNlIGZvbnQgc2l6ZSBvZiAxNnB4XG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogJHJvb3RGb250U2l6ZSxcbiAgICBoMTogNjBweCxcbiAgICBoMjogNDZweCxcbiAgICBoMzogMzZweCxcbiAgICBoNDogMjZweCxcbiAgICBoNTogMjFweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyMXB4LFxuICAgIGJsb2NrcXVvdGU6IDIxcHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcblxuJGxlYWQtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGxlYWQpKTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG5cbiRmb250LWZhbWlseS1iYXNlOiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJGZvbnQtZmFtaWx5LWJhc2U7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4kZmEtZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBibGFjazogOTAwLFxuICAgIGV4dHJhLWJvbGQ6IDgwMCxcbiAgICBleHRyYWJvbGQ6IDgwMCxcbiAgICBib2xkOiA3MDAsXG4gICAgc2VtaS1ib2xkOiA2MDAsXG4gICAgc2VtaWJvbGQ6IDYwMCxcbiAgICBtZWRpdW06IDUwMCxcbiAgICByZWd1bGFyOiA0MDAsXG4gICAgbGlnaHQ6IDQwMCxcbiAgICB0aGluOiA0MDBcbik7XG5cbiRmb250LXdlaWdodC1iYXNlOiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHJlZ3VsYXIpO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIGJvbGQpO1xuJGxlYWQtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgc2VtaS1ib2xkKTtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjU7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuNDtcblxuJGxpbmstZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG5cbiRncmlkLWd1dHRlci13aWR0aDogXHQgMnJlbTtcbiRncmlkLXBhZGRpbmc6XHRcdFx0ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiR2ZXJ0aWNhbC1tYXJnaW4tYmFzZTpcdCAxLjVyZW07XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsIC8vIE5vdCBzdXJlIHdoeSBidXQgdGhpcyBtdXN0IGJlIHplcm9cbiAgICBzbTogNTc2cHgsXG4gICAgbWQ6IDc2OXB4LFxuICAgIGxnOiA5OTJweCxcbiAgICB4bDogMTYyMHB4XG4pO1xuXG4kY29udGFpbmVyLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bCkrKHN0cmlwLXVuaXQoJGdyaWQtZ3V0dGVyLXdpZHRoKSAqIHN0cmlwLXVuaXQoJGJhc2VGb250U2l6ZSkpO1xuXG4kaWNvbi1wYXRoOiAnLi4vaW1nL2ljb25zLyc7IFxuXG4kZm9ybS1lbGVtZW50LXgtcGFkZGluZzogNXB4O1xuJGZvcm0tZWxlbWVudC15LXBhZGRpbmc6IDAuNXJlbTsiLCIvKiBQcm9qZWN0IHNwZWNpZmljIG1peGlucyAqLyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR4OiAxLCAkeTogMSwgJGM6IHRydWUpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCR5IC8gJHgpO1xuXHR9XG5cdEBpZiAoJGMgPT0gdHJ1ZSkge1xuXHRcdCYgPiA6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGJnLWltYWdlKCRpLCAkcmVzdC4uLikge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpbWFnZXMtZm9sZGVyfS8jeyRpfVwiKSAkcmVzdDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgU2l6ZVxuIFx0LSBTaG9ydGN1dCBmb3Igc2V0dGluZyBoZWlnaHQgYW5kIHdpZHRoXG4gXHQtICR3aWR0aCA9PiB3aWR0aCBvZiBlbGVtZW50XG4gXHQtICRoZWlnaHQgPT4gaGVpZ2h0IG9mIGVsZW1lbnRcbiBcdC0gU2luZ2xlIHZhbHVlIHdpbGwgc2V0IGJvdGggdmFsdWVzIChlLmcuIHNpemUoMTAwJSk7XG4tLS0tLS0tLS0tICovXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBjb2xvci1nZXQoJGtleXMpIHtcblx0JGNvbG9yOiBtYXAtZGVlcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleXMpO1xuXHRAcmV0dXJuICRjb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHR5cGUsICRrZXlzKSB7XG5cdCRicmVha3BvaW50OiBtYXAtZGVlcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRrZXlzKTtcblx0QGlmICgkdHlwZSA9PSAnbWF4Jyl7XG5cdFx0QHJldHVybiAkYnJlYWtwb2ludCAtIDE7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQ7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gcmVtcygkcCwgJGI6ICRiYXNlRm9udFNpemUpIHtcbiAgICBAcmV0dXJuIChzdHJpcC11bml0KCRwKSAvIHN0cmlwLXVuaXQoJGIpKSArIDByZW07XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG5cdEBlYWNoICRrZXkgaW4gJGtleXMge1xuXHRcdCRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG5cdH1cblx0QHJldHVybiAkbWFwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gd2VpZ2h0LWdldCgka2V5cykge1xuXHQkd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGZvbnQtd2VpZ2h0cywgJGtleXMpO1xuXHRAcmV0dXJuICR3ZWlnaHQ7XG59IiwiLmMtYmFubmVyLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpZGUtZ3V0dGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMy43MnJlbSAwO1xuICAgIGdhcDogMCA0LjE3cmVtO1xufVxuLmMtYmFubmVyLXBhZ2VfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoI3skY29udGFpbmVyLXdpZHRofSAvIDEyICogNik7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNDZyZW07XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDA7XG59XG4uYy1iYW5uZXItcGFnZV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiA4MjYvNDc2O1xuICAgIGNsaXAtcGF0aDogdXJsKCNjLWJhbm5lci1wYWdlX19jbGlwLS1kZXNrdG9wKTtcbn1cbi5jLWJhbm5lci1wYWdlX19pbWFnZS1jbGlwLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDMuNzJyZW0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtYmFubmVyLXBhZ2VfX3N0cmlwZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtM3JlbTtcbiAgICBib3R0b206IC0xLjQ3cmVtO1xuICAgIHdpZHRoOiAxOC43MnJlbTtcbiAgICB6LWluZGV4OiAxO1xufVxuLmMtYmFubmVyLXBhZ2VfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNWVtO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChzZWNvbmRhcnkpO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICB9XG59XG4uYy1iYW5uZXItcGFnZV9fdGl0bGUge1xuICAgIG1hcmdpbjogMC43cmVtIDAgMCAwO1xufVxuLmMtYmFubmVyLXBhZ2VfX2J0biB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi5jLWJhbm5lci1wYWdlIC5jLXN0cnV0LWRyb3Bkb3duX192YWx1ZSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xufVxuLmMtYmFubmVyLXBhZ2VfX2NsaXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBpbnNldDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IC0xO1xufVxuLmMtYmFubmVyLXBhZ2VfX2NsaXAtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5jLWJhbm5lci1wYWdlX19ibHVyYiB7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgLmMtYmFubmVyLXBhZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2UgLmMtYnJlYWRjcnVtYnNfX2NydW1iOmxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYy1iYW5uZXItcGFnZV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cbiAgICAuYy1iYW5uZXItcGFnZV9faW1hZ2UtY2xpcC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX3N0cmlwZXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogMS4xN3JlbTtcbiAgICAgICAgd2lkdGg6IDM0LjYlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuYy1iYW5uZXItcGFnZV9fY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSB2YXIoLS1zZWN0aW9uLXZlcnRpY2FsLW1hcmdpbik7XG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWJhbm5lci1wYWdlX19jbGlwLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX2NsaXAtLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuYy1iYW5uZXItcGFnZV9faW1hZ2Uge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjYy1iYW5uZXItcGFnZV9fY2xpcC0tbW9iaWxlKTtcbiAgICB9XG59IiwiLmMtaW50cm8tYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoI3skY29udGFpbmVyLXdpZHRofSAvIDEyICogOCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNXJlbSAwIDNyZW07XG59XG4uYy1pbnRyby1ibG9jay0tYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jLWludHJvLWJsb2NrX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDRyZW07XG59XG4uYy1pbnRyby1ibG9ja19fYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1pbnRyby1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICB9XG59IiwiLmMteHItYWRkaXRpb25hbCB7XG4gICAgbWFyZ2luOiA1cmVtIDAgMDtcbiAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcblxuICAgIC5pZnJhbWUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcblxuICAgICAgICAmICsgdWwsICYgKyB1bCBsaSArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9iYW5uZXItcGFnZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvaW50cm8tYmxvY2tcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3hyLWFkZGl0aW9uYWxcIjtcblxuLyogT2xkIHN0eWxlcyB0cmFuc2ZlcmVkIG92ZXIgXG53aXRoIHZlcnkgbGltaXRlZCBjbGVhbnVwL3JlZmFjdG9yaW5nICovXG5cbi5jLXZyLWxhbmRpbmcge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4uYy13b3Jrc2l0ZXNfX3RhYmxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cbi5jLXdvcmtzaXRlc19faGVhZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KG9yYW5nZSk7XG4gICAgfVxufVxuLmMtd29ya3NpdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgZmxleDogMDtcbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiA0LjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMXJlbSAxcmVtIDAgMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM5YmQxNzI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjOWJkMTcyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjN2FjMTQzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzdhYzE0MztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgIH1cbiAgICAmX19hY3Rpdml0eSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KG5vcm1hbCk7XG4gICAgfVxuICAgICZfX2xvY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQocmVndWxhcik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG4uYy13b3Jrc2l0ZS5mb2N1c2VkLCAuYy13b3Jrc2l0ZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmMtd29ya3NpdGVfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmNWY5O1xuICAgIH1cbiAgICAuYy13b3Jrc2l0ZV9faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmM2E3NTk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmM2E3NTk7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2VmOGEyMjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2VmOGEyMjtcbiAgICB9XG59XG4uYy1jaXJjbGUtaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIG1heC13aWR0aDogMy4yNXJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMi43NXJlbTtcbiAgICB9XG59XG4uYy1tYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jLWFsYmVydGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgei1pbmRleDogMTA7XG59XG4uYy1waW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLmxlZnQtYm9yZGVyIHtcbiAgICAgICAgICAgIGZpbGw6ICNhMmQzN2I7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0LWJvcmRlciB7XG4gICAgICAgICAgICBmaWxsOiAjNzljMTQyO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsICYuZm9jdXNlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgLmxlZnQtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjZjNhNzU5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0LWJvcmRlciB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2VmOGEyMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMyJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICZfX3ZyLWNvbnZlbnRpb25hbCB7XG4gICAgICAgIHRvcDogcGVyY2VudGFnZSgyMTEvODU1KTtcbiAgICAgICAgbGVmdDogcGVyY2VudGFnZSg1OS80NzIpO1xuICAgIH1cbiAgICAmX192ci1hdXRvbWF0ZWQge1xuICAgICAgICB0b3A6IHBlcmNlbnRhZ2UoMzY0Lzg1NSk7XG4gICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoMjgvNDcyKTtcbiAgICB9XG4gICAgJl9fdnItbHBnLXBpcGUge1xuICAgICAgICB0b3A6IHBlcmNlbnRhZ2UoNDMzLzg1NSk7XG4gICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoMTk3LzQ3Mik7XG4gICAgfVxuICAgICZfX3ZyLW1pbmluZyB7XG4gICAgICAgIHRvcDogcGVyY2VudGFnZSgyMTUvODU1KTtcbiAgICAgICAgbGVmdDogcGVyY2VudGFnZSgzNzcvNDcyKTtcbiAgICB9XG4gICAgJl9fdnItbmF0LWdhcy1waXBlIHtcbiAgICAgICAgdG9wOiBwZXJjZW50YWdlKDQwNC84NTUpO1xuICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKDEwNy80NzIpO1xuICAgIH1cbiAgICAmX192ci1wcm9jZXNzaW5nIHtcbiAgICAgICAgdG9wOiBwZXJjZW50YWdlKDUxMy84NTUpO1xuICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKDEyMS80NzIpO1xuICAgIH1cbiAgICAmX192ci1zYWdkIHtcbiAgICAgICAgdG9wOiBwZXJjZW50YWdlKDM2NC84NTUpO1xuICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKDM1NS80NzIpO1xuICAgIH1cbiAgICAmX192ci13ZWxsLWRlY29tIHtcbiAgICAgICAgdG9wOiBwZXJjZW50YWdlKDUwNS84NTUpO1xuICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKDE4NS80NzIpO1xuICAgIH1cbn1cbi5jLWFsYmVydGFfX21hcCB7XG4gICAgc3ZnLCBzdmcgKiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgaW1hZ2Uge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cbi5jLXdvcmtzaXRlLWNhcmVlcnMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAzMCU7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgLy8gQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMzAlIDEwJSBudWxsICk7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG59XG4uYy13b3Jrc2l0ZS1jYXJlZXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGxpZ2h0LWJsdWUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5jLXdvcmtzaXRlLWNhcmVlcnMtc2luZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxOHJlbSAzcmVtIDJyZW07XG4gICAgLy8gY29sb3I6ICNmZmY7XG59XG4uYy13b3Jrc2l0ZS1jYXJlZXJzLWhlYWRpbmcge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG4uYy13b3Jrc2l0ZS1jYXJlZXJzLXNpbmdsZV9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnJlbTtcbiAgICBib3R0b206IDJyZW07XG4gICAgLy8gQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMTJyZW0gMnJlbSBudWxsKTtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNi41cmVtO1xufVxuLmMtd29ya3NpdGUtY2FyZWVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkgKyAyMDApIHtcbiAgICAuYy13b3Jrc2l0ZS1jYXJlZXJzLWNvbnRhaW5lciB7XG4gICAgICAgIGJvdHRvbTogLTVyZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmMtd29ya3NpdGUtY2FyZWVycy1zaW5nbGUge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gNHJlbSAzcmVtIDJyZW07XG4gICAgfVxuICAgIC5jLXdvcmtzaXRlLWNhcmVlcnMtc2luZ2xlX19pY29uIHtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgfVxuICAgIC5jLXdvcmtzaXRlLWNhcmVlcnMtY29udGFpbmVyIHtcbiAgICAgICAgei1pbmRleDogMTU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1tYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5jLWFsYmVydGFfX21hcCB7XG4gICAgICAgIHN2Zywgc3ZnICoge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmMtcGluIHtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTtcblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLmMtcGluX19pY29uIHtcbiAgICAgICAgdG9wOiA0MSU7XG4gICAgfVxufVxuIl19 */
