/* --------------------
 @@ 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)
---------- */
/* --------------------
 @@ 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
---------- */
/* ----------
 @ Ems
	- convert pixels to ems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ 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
---------- */
/* ----------------------------------------------------------------------------

 @@@ Global Extensions

---------------------------------------------------------------------------- */
/* --------------------------------------
 @@ Generic Styles
-------------------------------------- */
/* ----------
 @ Display
---------- */
/* ----------
 @ Positioning
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Overflow
---------- */
/* ----------
 @ Misc Visuals
---------- */
/* --------------------------------------
 @@ Components
-------------------------------------- */
/* ----------
 @ Pagination
---------- */
/* ----------
 @ Sliders
---------- */
/* ----------
 @ Text Fields
---------- */
/* ----------
 @ Dropdowns
---------- */
/* ----------
 @ Checkboxes
---------- */
/* ----------
 @ Radio Buttons
---------- */
/* ----------
 @ Dialogs
---------- */
/* ----------
 @ Tooltips
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Misc
---------- */
#news {
  margin: 6.75rem 0;
}

#news .no-results {
  width: 100%;
  margin: 4rem 0 2rem;
}

#news .no-results::before, #news .no-results::after {
  background: rgba(150, 150, 150, 0.25);
}

#news .no-results .no-results-text {
  opacity: 0.3;
  text-align: center;
  margin: 0 5rem;
  font-family: azo-sans-web, "Avenir", "Tw Cen MT", "Helvetica", Arial, sans-serif;
  font-size: 2.5rem;
}

#news .card .card-content p {
  margin: 0.5rem 0;
}

#news .pagination-area {
  margin-top: 2rem;
}

@media only screen and (max-width: 991px) {
  #news .card {
    padding: 1.75rem;
  }
  #news .card .card-content {
    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-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #news .card .fa-chevron-circle-right {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 768px) and (min-width: 576px) {
  #news .card-content, #news .card-image {
    margin-top: 0;
  }
  #news .news-posting {
    margin: 1rem 0;
  }
}

@media only screen and (max-width: 768px) {
  #news .card .card-bottom {
    position: relative;
  }
}

@media only screen and (max-width: 575px) {
  #news {
    margin: 4rem 0;
  }
  #news div.card {
    padding: 2rem;
  }
  #news div.card .card-image img {
    width: 100%;
  }
}

#error-404 {
  margin-bottom: 1.5rem;
}

#error-404 .error {
  text-align: center;
  padding: 4rem 2rem;
}

#error-404 .error .error-message {
  margin: 2rem 0;
}

#error-404 .error a {
  text-decoration: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtNDA0LmNzcyIsIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19leHRlbnNpb25zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfYXJjaGl2ZS1uZXdzLnNjc3MiLCJfNDA0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O3NCQ0VzQjtBREV0Qjs7Ozs7O1lDS1k7QURrQlo7Ozs7O1lDWlk7QUR1Qlo7O3NCQ3BCc0I7QUR3QnRCOzs7WUNwQlk7QUQ4Qlo7Ozs7WUN6Qlk7QUR3Q1o7Ozs7O1lDbENZO0FENkNaOzs7OztZQ3ZDWTtBRGtEWjs7O1lDOUNZO0FEMERaOzs7WUN0RFk7QUMvQ1o7Ozs7OEVEb0Q4RTtBQzlDOUU7O3dDRGlEd0M7QUM3Q3hDOztZRGdEWTtBQ2xCWjs7WURxQlk7QUNFWjs7WURDWTtBQ29EWjs7WURqRFk7QUNrRVo7O1lEL0RZO0FDaUdaOztZRDlGWTtBQytHWjs7WUQ1R1k7QUN1SFo7O3dDRHBId0M7QUN3SHhDOztZRHJIWTtBQ3FJWjs7WURsSVk7QUMrTFo7O1lENUxZO0FDa05aOztZRC9NWTtBQ29RWjs7WURqUVk7QUMwVlo7O1lEdlZZO0FDbVdaOztZRGhXWTtBQzZhWjs7WUQxYVk7QUV2R1o7O3NCRjBHc0I7QUV0R3RCOztZRnlHWTtBRWpHWjs7WUZvR1k7QUVuRVo7O1lGc0VZO0FFckRaOztZRndEWTtBRUhaOztZRk1ZO0FHekhaO0VBQ0ksaUJBQWlCO0FIMkhyQjs7QUc1SEE7RUFJUSxXQUFXO0VBQ1gsbUJBQW1CO0FINEgzQjs7QUdqSUE7RUFRWSxxQ0FBcUM7QUg2SGpEOztBR3JJQTtFQVdZLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGdGRHVFZ0Y7RUN0RWhGLGlCQUFpQjtBSDhIN0I7O0FHN0lBO0VBcUJnQixnQkFBZ0I7QUg0SGhDOztBR2pKQTtFQTBCUSxnQkFBZ0I7QUgySHhCOztBR3JIQTtFQUNJO0lBRVEsZ0JBQWdCO0VIdUgxQjtFR3pIRTtJQUtZLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0VIdUhyQztFRzlIRTtJQVdRLGlCQUFpQjtFSHNIM0I7QUFDRjs7QUdsSEE7RUFDSTtJQUVRLGFBQWE7RUhvSHZCO0VHdEhFO0lBS1EsY0FBYztFSG9IeEI7QUFDRjs7QUdoSEE7RUFDSTtJQUdZLGtCQUFrQjtFSGlIaEM7QUFDRjs7QUc1R0E7RUF0RUE7SUF3RVEsY0FBYztFSCtHcEI7RUdoSEU7SUFJUSxhQUFhO0VIK0d2QjtFR25IRTtJQU9ZLFdBQVc7RUgrR3pCO0FBQ0Y7O0FJOUxBO0VBQ0kscUJBQXFCO0FKaU16Qjs7QUlsTUE7RUFJUSxrQkFBa0I7RUFDbEIsa0JBQWtCO0FKa00xQjs7QUl2TUE7RUFRWSxjQUFjO0FKbU0xQjs7QUkzTUE7RUFXWSxxQkFBcUI7QUpvTWpDIiwiZmlsZSI6InBhZ2UtdGVtcGxhdGVzL3BhZ2UtNDA0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR4OiAxLCAkeTogMSwgJGM6IHRydWUpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCR5IC8gJHgpO1xuXHR9XG5cdEBpZiAoJGMgPT0gdHJ1ZSkge1xuXHRcdCYgPiA6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGJnLWltYWdlKCRpLCAkcmVzdC4uLikge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpbWFnZXMtZm9sZGVyfS8jeyRpfVwiKSAkcmVzdDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJHRoZW1lLWNvbG9ycyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGNvbG9yLWdldCgka2V5cykge1xuXHQkY29sb3I6IG1hcC1kZWVwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5cyk7XG5cdEByZXR1cm4gJGNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldCgkdHlwZSwgJGtleXMpIHtcblx0JGJyZWFrcG9pbnQ6IG1hcC1kZWVwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGtleXMpO1xuXHRAaWYgKCR0eXBlID09ICdtYXgnKXtcblx0XHRAcmV0dXJuICRicmVha3BvaW50IC0gMTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiAkYnJlYWtwb2ludDtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBFbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byBlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gZW1zKCRwLCAkYjogbWFwLWdldCgkZm9udC1zaXplcywgcm9vdCkpIHtcblx0QHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwZW07XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHJlbXMoJHAsICRiOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSkge1xuICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJHApIC8gc3RyaXAtdW5pdCgkYikpICsgMHJlbTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcblx0QGVhY2ggJGtleSBpbiAka2V5cyB7XG5cdFx0JG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcblx0fVxuXHRAcmV0dXJuICRtYXA7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiB3ZWlnaHQtZ2V0KCRrZXlzKSB7XG5cdCR3ZWlnaHQ6IG1hcC1kZWVwLWdldCgkZm9udC13ZWlnaHRzLCAka2V5cyk7XG5cdEByZXR1cm4gJHdlaWdodDtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgRW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIEBAQCBHbG9iYWwgRXh0ZW5zaW9uc1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEdlbmVyaWMgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgRGlzcGxheVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUG9zaXRpb25pbmdcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPdmVyZmxvd1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWlzYyBWaXN1YWxzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIENvbXBvbmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBTbGlkZXJzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUZXh0IEZpZWxkc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgRHJvcGRvd25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDaGVja2JveGVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSYWRpbyBCdXR0b25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBEaWFsb2dzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUb29sdGlwc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjXG4tLS0tLS0tLS0tICovXG4jbmV3cyB7XG4gIG1hcmdpbjogNi43NXJlbSAwO1xufVxuXG4jbmV3cyAubm8tcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDRyZW0gMCAycmVtO1xufVxuXG4jbmV3cyAubm8tcmVzdWx0czo6YmVmb3JlLCAjbmV3cyAubm8tcmVzdWx0czo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMjUpO1xufVxuXG4jbmV3cyAubm8tcmVzdWx0cyAubm8tcmVzdWx0cy10ZXh0IHtcbiAgb3BhY2l0eTogMC4zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCA1cmVtO1xuICBmb250LWZhbWlseTogYXpvLXNhbnMtd2ViLCBcIkF2ZW5pclwiLCBcIlR3IENlbiBNVFwiLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyLjVyZW07XG59XG5cbiNuZXdzIC5jYXJkIC5jYXJkLWNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMC41cmVtIDA7XG59XG5cbiNuZXdzIC5wYWdpbmF0aW9uLWFyZWEge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNuZXdzIC5jYXJkIHtcbiAgICBwYWRkaW5nOiAxLjc1cmVtO1xuICB9XG4gICNuZXdzIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAjbmV3cyAuY2FyZCAuZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAjbmV3cyAuY2FyZC1jb250ZW50LCAjbmV3cyAuY2FyZC1pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAjbmV3cyAubmV3cy1wb3N0aW5nIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNuZXdzIC5jYXJkIC5jYXJkLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgI25ld3Mge1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICB9XG4gICNuZXdzIGRpdi5jYXJkIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG4gICNuZXdzIGRpdi5jYXJkIC5jYXJkLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuI2Vycm9yLTQwNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuI2Vycm9yLTQwNCAuZXJyb3Ige1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRyZW0gMnJlbTtcbn1cblxuI2Vycm9yLTQwNCAuZXJyb3IgLmVycm9yLW1lc3NhZ2Uge1xuICBtYXJnaW46IDJyZW0gMDtcbn1cblxuI2Vycm9yLTQwNCAuZXJyb3IgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIEBAQCBHbG9iYWwgRXh0ZW5zaW9uc1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgR2VuZXJpYyBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIERpc3BsYXlcbi0tLS0tLS0tLS0gKi9cblxuJWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4laW5saW5lIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuJWlubGluZS1ibG9jayB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiV0YWJsZSB7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuJXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xufVxuJXRhYmxlLWNlbGwge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuJW5vbmUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuJXBzZXVkbyB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBQb3NpdGlvbmluZ1xuLS0tLS0tLS0tLSAqL1xuXG4lYWJzb2x1dGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4lcmVsYXRpdmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4lZml4ZWQge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG59XG4lc3RhdGljIHtcblx0cG9zaXRpb246IHN0YXRpYztcbn1cbiVzdHJldGNoIHtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cblxuJWZ1bGwtd2lkdGgge1xuXHR3aWR0aDogMTAwJTtcbn1cbiVmdWxsLWhlaWdodCB7XG5cdGhlaWdodDogMTAwJTtcbn1cbiVhbGlnbi1sZWZ0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cbiVhbGlnbi1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4lYWxpZ24tcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cbiVqdXN0aWZ5IHtcblx0dGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbiV2LWFsaWduLXRvcCB7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ldi1hbGlnbi1taWRkbGUge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuJXYtYWxpZ24tYm90dG9tIHtcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbiV2LWFsaWduLWJhc2VsaW5lIHtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuJW5vLW1hcmdpbiB7XG5cdG1hcmdpbjogMDtcbn1cbiVtYXJnaW4tYXV0byB7XG5cdG1hcmdpbjogYXV0bztcbn1cbiVuby1wYWRkaW5nIHtcblx0cGFkZGluZzogMDtcbn1cbiVmbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4lZmxvYXQtcmlnaHQge1xuXHRmbG9hdDogcmlnaHQ7XG59XG4lZmxvYXQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4lYmctd2hpdGUge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuJWJnLWJsYWNrIHtcblx0YmFja2dyb3VuZDogIzAwMDtcbn1cbiVjb2xvci13aGl0ZSB7XG5cdGNvbG9yOiAjZmZmO1xufVxuJWNvbG9yLWJsYWNrIHtcblx0Y29sb3I6ICMwMDA7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cblxuJXVwcGVyY2FzZSB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4lbG93ZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cbiVjYXBpdGFsaXplIHtcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4ldW5kZXJsaW5lIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4lbm8tdW5kZXJsaW5lIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuJW5vLWxpc3Qtc3R5bGUge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuJXdoaXRlLXNwYWNlLW5vcm1hbCB7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4lbm93cmFwIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiVlbGxpcHNpcyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBPdmVyZmxvd1xuLS0tLS0tLS0tLSAqL1xuXG4lb3ZlcmZsb3ctYXV0byB7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuJW92ZXJmbG93LWhpZGRlbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4lb3ZlcmZsb3ctdmlzaWJsZSB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuJW92ZXJmbG93LXNjcm9sbCB7XG5cdG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2MgVmlzdWFsc1xuLS0tLS0tLS0tLSAqL1xuXG4lcG9pbnRlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiV0cmFuc2l0aW9uIHtcblx0dHJhbnNpdGlvbjogMC4xNXMgYWxsIGVhc2UtaW4tb3V0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIENvbXBvbmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIFBhZ2luYXRpb25cbi0tLS0tLS0tLS0gKi9cblxuJXBhZ2luYXRpb24ge1xuXHQucGFnZS1saW5rIHtcblx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGJvZHktY29sb3Ipe1xuXHRcdFx0Y29sb3I6ICRib2R5LWNvbG9yO1xuXHRcdH1cblx0fVxuXHQuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFNsaWRlcnNcbi0tLS0tLS0tLS0gKi9cblxuJXNsaWRlciB7XG4gICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXHRAZXh0ZW5kIC5uby1heGlvbWF0aWMtbWFyZ2luICFvcHRpb25hbDtcblxuICAgIC5zbGlkZS1wYWdpbmF0aW9uIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41ZW07XG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGZvbnQtc2l6ZS1iYXNlKXtcblx0XHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdFx0XHR9XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDFlbSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFtkYXRhLXNsaWRlci1jb21wb25lbnR+PVwiY29udHJvbHNcIl0ge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcG9pbnRlciAhb3B0aW9uYWw7XG4gICAgICAgIH1cbiAgICB9XG5cdC5zbGlkZS1vdmVyZmxvdyB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctaGlkZGVuICFvcHRpb25hbDtcblx0fVxuXHQuc2xpZGUge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG4gICAgJi50cmFuc2l0aW9uLWZhZGUge1xuICAgICAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cbiAgICAgICAgLnNsaWRlLWhvbGRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoICFvcHRpb25hbDtcblx0XHRcdGhlaWdodDogMjVlbTtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcbiAgICAgICAgfVxuXHRcdC5zbGlkZSB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0fVxuICAgIH1cbiAgICAmLnRyYW5zaXRpb24tc2xpZGUge1xuICAgICAgICAuc2xpZGUtaG9sZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcbiAgICAgICAgICAgIEBleHRlbmQgLmQtZmxleCAhb3B0aW9uYWw7XG5cdFx0XHRAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXIgIW9wdGlvbmFsO1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWRlIHtcblx0XHRcdGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFRleHQgRmllbGRzXG4tLS0tLS0tLS0tICovXG5cbiVpbnB1dCB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDAuMzVlbTtcblxuICAgIEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAmOmZvY3VzIHtcblx0ICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG5cdCAgICB9XG5cdH1cblx0QGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBkYW5nZXIpe1xuXHQgICAgJi5lcnJvciB7XG5cdCAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIGRhbmdlcik7XG5cdCAgICB9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgRHJvcGRvd25zXG4tLS0tLS0tLS0tICovXG5cbiVjdXN0b20tZHJvcGRvd24ge1xuICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblxuICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIEBleHRlbmQgJXBvaW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAmICsgLmZha2UtZHJvcGRvd24ge1xuXHRcdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHQgICAgICAgICAgICAgICAgLmFycm93LWhvbGRlciB7XG5cdCAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSksIDEwJSk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmFrZS1kcm9wZG93biB7XG4gICAgICAgIFtkYXRhLXZhbHVlXSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVpbnB1dDtcbiAgICAgICAgfVxuICAgICAgICAuYXJyb3ctaG9sZGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7XG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuXHRcdFx0fVxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBudWxsIG51bGwpO1xuICAgICAgICAgICAgQGV4dGVuZCAlYWxpZ24tY2VudGVyICFvcHRpb25hbDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMi4wNWVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgQGV4dGVuZCAlaW5saW5lLWJsb2NrICFvcHRpb25hbDtcblxuXHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0ICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cdCAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4obWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KSwgMTAlKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnJvdzpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBDaGVja2JveGVzXG4tLS0tLS0tLS0tICovXG5cbiVjdXN0b20tY2hlY2tib3gge1xuXHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtcGFkZGluZyl7XG5cdFx0bWFyZ2luOiAkZ3JpZC1wYWRkaW5nIDA7XG5cdH1cblx0QGV4dGVuZCAuZC1mbGV4ICFvcHRpb25hbDtcblx0QGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyICFvcHRpb25hbDtcblxuXHRsYWJlbCB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG4gICAgbGkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblx0aW5wdXQge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cdFx0ei1pbmRleDogNTtcblx0XHRAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cdFx0JltkaXNhYmxlZF0gfiAuaW5wdXQtYmcge1xuXHRcdFx0b3BhY2l0eTogMC4zNTtcblx0XHR9XG5cdH1cbiAgICAuaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEuMjVlbSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcblx0XHRAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAlcG9pbnRlciAhb3B0aW9uYWw7XG5cdH1cbiAgICAuaW5wdXQtYmcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICBAZXh0ZW5kICVhYnNvbHV0ZSAhb3B0aW9uYWw7XG4gICAgICAgIEBleHRlbmQgJXN0cmV0Y2ggIW9wdGlvbmFsO1xuICAgIH1cbiAgICAuc2VsZWN0ZWQtaW5kaWNhdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgQGV4dGVuZCAlYWxpZ24tY2VudGVyICFvcHRpb25hbDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgd2lkdGg6IDEuMzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNXJlbTtcbiAgICAgICAgICAgIEBleHRlbmQgJWFsaWduLWNlbnRlciAhb3B0aW9uYWw7XG4gICAgICAgICAgICBAZXh0ZW5kICVpbmxpbmUtYmxvY2sgIW9wdGlvbmFsO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0ZWQge1xuICAgICAgICAuc2VsZWN0ZWQtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC13ZWlnaHRzKSBhbmQgbWFwLWhhcy1rZXkoJGZvbnQtd2VpZ2h0cywgcmVndWxhcil7XG5cdCAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgcmVndWxhcik7XG5cdCAgICB9XG4gICAgfVxuXHQmLmZvY3VzIGxhYmVsLCAuZm9jdXMgKyBsYWJlbCB7XG5cdFx0QGV4dGVuZCAldW5kZXJsaW5lICFvcHRpb25hbDtcblx0fVxuXHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHQgICAgLmZvY3VzICsgbGkgaW5wdXQge1xuXHQgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblx0ICAgIH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBSYWRpbyBCdXR0b25zXG4tLS0tLS0tLS0tICovXG5cbiVjdXN0b20tcmFkaW8ge1xuXHRAZXh0ZW5kICVjdXN0b20tY2hlY2tib3g7XG5cblx0LmlucHV0LWJnIHtcblx0XHRib3JkZXItcmFkaXVzOiAyMHJlbTtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBEaWFsb2dzXG4tLS0tLS0tLS0tICovXG5cbiVkaWFsb2ctaG9sZGVyIHtcblx0QGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCAwIDApO1xuXHRvdmVyZmxvdzogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0O1xuXG5cdC5zY3JvbGwge1xuXHRcdEBleHRlbmQgJWZ1bGwtd2lkdGggIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJWZ1bGwtaGVpZ2h0ICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICV0YWJsZSAhb3B0aW9uYWw7XG5cdH1cblx0LmNlbnRlciB7XG5cdFx0QGV4dGVuZCAldGFibGUtY2VsbCAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAldi1hbGlnbi1taWRkbGUgIW9wdGlvbmFsO1xuICAgICAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cdH1cblx0LmRpYWxvZyB7XG4gICAgICAgIEBleHRlbmQgJWJnLXdoaXRlICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICVmdWxsLXdpZHRoICFvcHRpb25hbDtcblx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtZ3V0dGVyLXdpZHRoKXtcblx0XHRcdG1hcmdpbjogJGdyaWQtZ3V0dGVyLXdpZHRoIGF1dG87XG5cdFx0fVxuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuXHRcdHdpZHRoOiA5MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDFlbSByZ2JhKDAsMCwwLDAuMzUpO1xuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKXtcblx0XHRcdHBhZGRpbmc6ICRncmlkLXBhZGRpbmcgKiAxLjU7XG5cdFx0fVxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC41KTtcblxuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1icmVha3BvaW50cyl7XG5cdFx0XHQmLmRpYWxvZy1sZyB7XG5cdFx0XHRcdG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpO1xuXHRcdFx0fVxuXHRcdFx0Ji5kaWFsb2ctbWQge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKTtcblx0XHRcdH1cblx0XHRcdCYuZGlhbG9nLXNtIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBzbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kaWFsb2ctaGVhZGluZyB7XG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtcGFkZGluZykgYW5kIHZhcmlhYmxlLWV4aXN0cyhncmlkLWd1dHRlci13aWR0aCl7XG5cdFx0XHRcdHBhZGRpbmc6ICgkZ3JpZC1wYWRkaW5nICogMS41KSAkZ3JpZC1ndXR0ZXItd2lkdGg7XG5cdFx0XHR9XG5cbiAgICAgICAgICAgIGg0IHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdFx0XHRtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHRcdC5idXR0b24tZ3JvdXAge1xuXHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLXBhZGRpbmcpe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAkZ3JpZC1wYWRkaW5nO1xuXHRcdFx0fVxuXG5cdFx0XHQuYnRuIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRpYWxvZy1lcnJvciB7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0Jjpub3QoLmNsb3NpbmcpIH4gJiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgVG9vbHRpcHNcbi0tLS0tLS0tLS0gKi9cblxuJXRvb2x0aXBzdGVyLWJhc2Uge1xuXHQudG9vbHRpcHN0ZXItYm94IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsMCwwLDAuMjUpO1xuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRwYWRkaW5nOiA4cHggMTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtd2lkdGg6IDI3NXB4O1xuXG4gICAgICAgIC50b29sdGlwc3Rlci1jb250ZW50IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbG9yLXdoaXRlICFvcHRpb25hbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblx0fVxuICAgIC50b29sdGlwc3Rlci1hcnJvdy1ib3JkZXIge1xuICAgIFx0ZGlzcGxheTogbm9uZTtcbiAgICB9XG5cdCYuZGVmYXVsdCB7XG4gICAgICAgIC50b29sdGlwc3Rlci1ib3gge1xuICAgICAgICBcdEBpZiB2YXJpYWJsZS1leGlzdHMoYm9keS1jb2xvcil7XG5cdCAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWNvbG9yO1xuXHQgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudG9vbHRpcHN0ZXItYXJyb3ctYmFja2dyb3VuZCB7XG4gICAgICAgIFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhib2R5LWNvbG9yKXtcblx0ICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvZHktY29sb3I7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG5cdH1cbiAgICB1bC50b29sdGlwLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG5cbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICBmYWxzZTtcbiRlbmFibGUtc2hhZG93czpcdFx0XHRmYWxzZTtcbiRlbmFibGUtcmVzcG9uc2l2ZS10ZXh0Olx0dHJ1ZTtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICMwMDdBRjg7XG4kYnJhbmQtc2Vjb25kYXJ5OiAgICAgICAjZWVlMDQ3O1xuJGJyYW5kLXRlcnRpYXJ5OiAgICAgICAgI2U5MmEwZTtcblxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKCR0aGVtZS1jb2xvcnMsIChcbiAgICBwcmltYXJ5OiAkYnJhbmQtcHJpbWFyeSxcbiAgICBzZWNvbmRhcnk6ICRicmFuZC1zZWNvbmRhcnksXG4gICAgdGVydGlhcnk6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBibHVlOiAkYnJhbmQtcHJpbWFyeSxcbiAgICB5ZWxsb3c6ICRicmFuZC1zZWNvbmRhcnksXG4gICAgcmVkOiAkYnJhbmQtdGVydGlhcnksXG4gICAgYnJhbmQtbGlnaHQ6ICNlOWU5ZTksXG4gICAgYnJhbmQtZGFyazogIzFhMWExYSxcbiAgICBsaWdodDogI2U5ZTllOSxcbiAgICBkYXJrOiAjMWExYTFhLFxuICAgIHN1Y2Nlc3M6ICM2NmIxMzIsXG4gICAgaW5mbzogJGJyYW5kLXByaW1hcnksXG4gICAgd2FybmluZzogJGJyYW5kLXNlY29uZGFyeSxcbiAgICBkYW5nZXI6ICRicmFuZC10ZXJ0aWFyeVxuKSk7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmY7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAjMWExYTFhO1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcblxuJGxpbmUtY29sb3I6IFx0XHRcdCNkZGQ7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IFx0IDFyZW07XG4kZ3JpZC1wYWRkaW5nOlx0XHRcdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4kdmVydGljYWwtbWFyZ2luLWJhc2U6XHQgMS41ZW07XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgc206IDU3NnB4LFxuICAgIG1kOiA3NjlweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDEyODBweFxuKTtcblxuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuXG4kZm9udC1zaXplczogKFxuICAgIHJvb3Q6IDE2cHgsXG4gICAgaDE6IDMxcHgsXG4gICAgaDI6IDU0cHgsXG4gICAgaDM6IDMycHgsXG4gICAgaDQ6IDIzcHgsXG4gICAgaDU6IDIwcHgsXG4gICAgaDY6IDE4cHgsXG4gICAgbGVhZDogMjVweCxcbiAgICBibG9ja3F1b3RlOiAxOHB4XG4pO1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW07XG5cbi8vJGVuYWJsZS1hbnRpYWxpYXNpbmc6IGZhbHNlO1xuXG4kbGVhZC1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgbGVhZCkpO1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGJsb2NrcXVvdGUpKTtcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IGF6by1zYW5zLXdlYiwgXCJBdmVuaXJcIiwgXCJUdyBDZW4gTVRcIiwgXCJIZWx2ZXRpY2FcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4kZm9udC13ZWlnaHRzOiAoXG4gICAgYm9sZDogNzAwLFxuICAgIG1lZGl1bTogNTAwLFxuICAgIHJlZ3VsYXI6IDQwMFxuKTtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgcmVndWxhcik7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgYm9sZCk7XG4kbGVhZC1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBtZWRpdW0pO1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42NTtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS4yNTtcblxuJGxpbmstZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuJHJlc3BvbnNpdmUtdGV4dDogKFxuICAgIG1vYmlsZS1taW4tc2l6ZTogMTJweCxcbiAgICBtb2JpbGUtbWF4LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHJvb3QpLFxuICAgIGRlc2t0b3AtbWluLXNpemU6IDEycHgsXG4gICAgZGVza3RvcC1tYXgtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcm9vdCksXG4gICAgbWluLXNjcmVlbi13aWR0aDogMzIwcHgsXG4gICAgbW9iaWxlLXNjcmVlbi13aWR0aDogNzY4cHgsXG4gICAgbWF4LXNjcmVlbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgeGwpXG4pO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjXG4tLS0tLS0tLS0tICovXG5cbiRoci1ib3JkZXItY29sb3I6ICRsaW5lLWNvbG9yO1xuJGhyLWJvcmRlci13aWR0aDogMXB4O1xuXG4kYm9yZGVyLXJhZGl1czogMDtcbiRib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cyAqIDEuNTtcbiRib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cyAvIDEuNTtcblxuJGNvbnRhaW5lci13aWR0aDogMTM0NHB4O1xuIiwiI25ld3Mge1xuICAgIG1hcmdpbjogNi43NXJlbSAwO1xuXG4gICAgLm5vLXJlc3VsdHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDAgMnJlbTtcblxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC4yNSk7XG4gICAgICAgIH1cbiAgICAgICAgLm5vLXJlc3VsdHMtdGV4dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJkIHtcbiAgICAgICAgLmNhcmQtY29udGVudCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdpbmF0aW9uLWFyZWEge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbn1cblxuLy8gTW9iaWxlIFN0eWxlc1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNzVyZW07XG5cbiAgICAgICAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2FyZCAuZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkgYW5kIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtaW4nLCBzbSkpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIC5jYXJkLWNvbnRlbnQsIC5jYXJkLWltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3MtcG9zdGluZyB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgI25ld3Mge1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICAuY2FyZC1ib3R0b20ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4Jywgc20pKSB7XG4gICAgI25ld3Mge1xuICAgICAgICBtYXJnaW46IDRyZW0gMDtcblxuICAgICAgICBkaXYuY2FyZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgICAgICAuY2FyZC1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2Vycm9yLTQwNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgLmVycm9yIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDJyZW07XG5cbiAgICAgICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59Il19 */
