/* --------------------
 @@ 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%;
  }
}

#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%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL2FyY2hpdmUtbmV3cy5jc3MiLCIuLi8uLi8uLi9iYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fZXh0ZW5zaW9ucy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2FyY2hpdmUtbmV3cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztzQkNFc0I7QURFdEI7Ozs7OztZQ0tZO0FEa0JaOzs7OztZQ1pZO0FEdUJaOztzQkNwQnNCO0FEd0J0Qjs7O1lDcEJZO0FEOEJaOzs7O1lDekJZO0FEd0NaOzs7OztZQ2xDWTtBRDZDWjs7Ozs7WUN2Q1k7QURrRFo7OztZQzlDWTtBRDBEWjs7O1lDdERZO0FDL0NaOzs7OzhFRG9EOEU7QUM5QzlFOzt3Q0RpRHdDO0FDN0N4Qzs7WURnRFk7QUNsQlo7O1lEcUJZO0FDRVo7O1lEQ1k7QUNvRFo7O1lEakRZO0FDa0VaOztZRC9EWTtBQ2lHWjs7WUQ5Rlk7QUMrR1o7O1lENUdZO0FDdUhaOzt3Q0RwSHdDO0FDd0h4Qzs7WURySFk7QUNxSVo7O1lEbElZO0FDK0xaOztZRDVMWTtBQ2tOWjs7WUQvTVk7QUNvUVo7O1lEalFZO0FDMFZaOztZRHZWWTtBQ21XWjs7WURoV1k7QUM2YVo7O1lEMWFZO0FFdkdaOztzQkYwR3NCO0FFdEd0Qjs7WUZ5R1k7QUVqR1o7O1lGb0dZO0FFbkVaOztZRnNFWTtBRXJEWjs7WUZ3RFk7QUVIWjs7WUZNWTtBR3pIWjtFQUNJLGlCQUFpQjtBSDJIckI7O0FHNUhBO0VBSVEsV0FBVztFQUNYLG1CQUFtQjtBSDRIM0I7O0FHaklBO0VBUVkscUNBQXFDO0FINkhqRDs7QUdySUE7RUFXWSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxnRkR1RWdGO0VDdEVoRixpQkFBaUI7QUg4SDdCOztBRzdJQTtFQXFCZ0IsZ0JBQWdCO0FINEhoQzs7QUdqSkE7RUEwQlEsZ0JBQWdCO0FIMkh4Qjs7QUdySEE7RUFDSTtJQUVRLGdCQUFnQjtFSHVIMUI7RUd6SEU7SUFLWSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtFSHVIckM7RUc5SEU7SUFXUSxpQkFBaUI7RUhzSDNCO0FBQ0Y7O0FHbEhBO0VBQ0k7SUFFUSxhQUFhO0VIb0h2QjtFR3RIRTtJQUtRLGNBQWM7RUhvSHhCO0FBQ0Y7O0FHaEhBO0VBQ0k7SUFHWSxrQkFBa0I7RUhpSGhDO0FBQ0Y7O0FHNUdBO0VBdEVBO0lBd0VRLGNBQWM7RUgrR3BCO0VHaEhFO0lBSVEsYUFBYTtFSCtHdkI7RUduSEU7SUFPWSxXQUFXO0VIK0d6QjtBQUNGOztBRzlMQTtFQUNJLGlCQUFpQjtBSGlNckI7O0FHbE1BO0VBSVEsV0FBVztFQUNYLG1CQUFtQjtBSGtNM0I7O0FHdk1BO0VBUVkscUNBQXFDO0FIbU1qRDs7QUczTUE7RUFXWSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxnRkR1RWdGO0VDdEVoRixpQkFBaUI7QUhvTTdCOztBR25OQTtFQXFCZ0IsZ0JBQWdCO0FIa01oQzs7QUd2TkE7RUEwQlEsZ0JBQWdCO0FIaU14Qjs7QUczTEE7RUFDSTtJQUVRLGdCQUFnQjtFSDZMMUI7RUcvTEU7SUFLWSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtFSDZMckM7RUdwTUU7SUFXUSxpQkFBaUI7RUg0TDNCO0FBQ0Y7O0FHeExBO0VBQ0k7SUFFUSxhQUFhO0VIMEx2QjtFRzVMRTtJQUtRLGNBQWM7RUgwTHhCO0FBQ0Y7O0FHdExBO0VBQ0k7SUFHWSxrQkFBa0I7RUh1TGhDO0FBQ0Y7O0FHbExBO0VBdEVBO0lBd0VRLGNBQWM7RUhxTHBCO0VHdExFO0lBSVEsYUFBYTtFSHFMdkI7RUd6TEU7SUFPWSxXQUFXO0VIcUx6QjtBQUNGIiwiZmlsZSI6InBhZ2UtdGVtcGxhdGVzL2FyY2hpdmUtbmV3cy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGFzcGVjdC1yYXRpbygkeDogMSwgJHk6IDEsICRjOiB0cnVlKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkeSAvICR4KTtcblx0fVxuXHRAaWYgKCRjID09IHRydWUpIHtcblx0XHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBiZy1pbWFnZSgkaSwgJHJlc3QuLi4pIHtcblx0YmFja2dyb3VuZDogdXJsKFwiI3skaW1hZ2VzLWZvbGRlcn0vI3skaX1cIikgJHJlc3Q7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBjb2xvci1nZXQoJGtleXMpIHtcblx0JGNvbG9yOiBtYXAtZGVlcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleXMpO1xuXHRAcmV0dXJuICRjb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHR5cGUsICRrZXlzKSB7XG5cdCRicmVha3BvaW50OiBtYXAtZGVlcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRrZXlzKTtcblx0QGlmICgkdHlwZSA9PSAnbWF4Jyl7XG5cdFx0QHJldHVybiAkYnJlYWtwb2ludCAtIDE7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQ7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgRW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGVtcygkcCwgJGI6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHJvb3QpKSB7XG5cdEByZXR1cm4gKHN0cmlwLXVuaXQoJHApIC8gc3RyaXAtdW5pdCgkYikpICsgMGVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiByZW1zKCRwLCAkYjogbWFwLWdldCgkZm9udC1zaXplcywgcm9vdCkpIHtcbiAgICBAcmV0dXJuIChzdHJpcC11bml0KCRwKSAvIHN0cmlwLXVuaXQoJGIpKSArIDByZW07XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG5cdEBlYWNoICRrZXkgaW4gJGtleXMge1xuXHRcdCRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG5cdH1cblx0QHJldHVybiAkbWFwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gd2VpZ2h0LWdldCgka2V5cykge1xuXHQkd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGZvbnQtd2VpZ2h0cywgJGtleXMpO1xuXHRAcmV0dXJuICR3ZWlnaHQ7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJHRoZW1lLWNvbG9ycyBtYXBcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiBAQEAgR2xvYmFsIEV4dGVuc2lvbnNcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBHZW5lcmljIFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIERpc3BsYXlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFBvc2l0aW9uaW5nXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgT3ZlcmZsb3dcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2MgVmlzdWFsc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUGFnaW5hdGlvblxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgU2xpZGVyc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgVGV4dCBGaWVsZHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIERyb3Bkb3duc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ2hlY2tib3hlc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUmFkaW8gQnV0dG9uc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgRGlhbG9nc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgVG9vbHRpcHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWlzY1xuLS0tLS0tLS0tLSAqL1xuI25ld3Mge1xuICBtYXJnaW46IDYuNzVyZW0gMDtcbn1cblxuI25ld3MgLm5vLXJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0cmVtIDAgMnJlbTtcbn1cblxuI25ld3MgLm5vLXJlc3VsdHM6OmJlZm9yZSwgI25ld3MgLm5vLXJlc3VsdHM6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAwLjI1KTtcbn1cblxuI25ld3MgLm5vLXJlc3VsdHMgLm5vLXJlc3VsdHMtdGV4dCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgNXJlbTtcbiAgZm9udC1mYW1pbHk6IGF6by1zYW5zLXdlYiwgXCJBdmVuaXJcIiwgXCJUdyBDZW4gTVRcIiwgXCJIZWx2ZXRpY2FcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4jbmV3cyAuY2FyZCAuY2FyZC1jb250ZW50IHAge1xuICBtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4jbmV3cyAucGFnaW5hdGlvbi1hcmVhIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjbmV3cyAuY2FyZCB7XG4gICAgcGFkZGluZzogMS43NXJlbTtcbiAgfVxuICAjbmV3cyAuY2FyZCAuY2FyZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgI25ld3MgLmNhcmQgLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgI25ld3MgLmNhcmQtY29udGVudCwgI25ld3MgLmNhcmQtaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgI25ld3MgLm5ld3MtcG9zdGluZyB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjbmV3cyAuY2FyZCAuY2FyZC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICNuZXdzIHtcbiAgICBtYXJnaW46IDRyZW0gMDtcbiAgfVxuICAjbmV3cyBkaXYuY2FyZCB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgfVxuICAjbmV3cyBkaXYuY2FyZCAuY2FyZC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiNuZXdzIHtcbiAgbWFyZ2luOiA2Ljc1cmVtIDA7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHJlbSAwIDJyZW07XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzOjpiZWZvcmUsICNuZXdzIC5uby1yZXN1bHRzOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC4yNSk7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIC5uby1yZXN1bHRzLXRleHQge1xuICBvcGFjaXR5OiAwLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDVyZW07XG4gIGZvbnQtZmFtaWx5OiBhem8tc2Fucy13ZWIsIFwiQXZlbmlyXCIsIFwiVHcgQ2VuIE1UXCIsIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCBwIHtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuI25ld3MgLnBhZ2luYXRpb24tYXJlYSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI25ld3MgLmNhcmQge1xuICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gIH1cbiAgI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICNuZXdzIC5jYXJkIC5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICNuZXdzIC5jYXJkLWNvbnRlbnQsICNuZXdzIC5jYXJkLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICNuZXdzIC5uZXdzLXBvc3Rpbmcge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI25ld3MgLmNhcmQgLmNhcmQtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjbmV3cyB7XG4gICAgbWFyZ2luOiA0cmVtIDA7XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQgLmNhcmQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gQEBAIEdsb2JhbCBFeHRlbnNpb25zXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBHZW5lcmljIFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgRGlzcGxheVxuLS0tLS0tLS0tLSAqL1xuXG4lYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiVpbmxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG4laW5saW5lLWJsb2NrIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuJXRhYmxlIHtcblx0ZGlzcGxheTogdGFibGU7XG59XG4ldGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG4ldGFibGUtY2VsbCB7XG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4lbm9uZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4lcHNldWRvIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFBvc2l0aW9uaW5nXG4tLS0tLS0tLS0tICovXG5cbiVhYnNvbHV0ZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiVyZWxhdGl2ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiVmaXhlZCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcbn1cbiVzdGF0aWMge1xuXHRwb3NpdGlvbjogc3RhdGljO1xufVxuJXN0cmV0Y2gge1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuXG4lZnVsbC13aWR0aCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuJWZ1bGwtaGVpZ2h0IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuJWFsaWduLWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuJWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiVhbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuJWp1c3RpZnkge1xuXHR0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuJXYtYWxpZ24tdG9wIHtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiV2LWFsaWduLW1pZGRsZSB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ldi1hbGlnbi1ib3R0b20ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuJXYtYWxpZ24tYmFzZWxpbmUge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4lbm8tbWFyZ2luIHtcblx0bWFyZ2luOiAwO1xufVxuJW1hcmdpbi1hdXRvIHtcblx0bWFyZ2luOiBhdXRvO1xufVxuJW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuJWZsb2F0LWxlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cbiVmbG9hdC1yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcbn1cbiVmbG9hdC1ub25lIHtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG5cbiViZy13aGl0ZSB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG4lYmctYmxhY2sge1xuXHRiYWNrZ3JvdW5kOiAjMDAwO1xufVxuJWNvbG9yLXdoaXRlIHtcblx0Y29sb3I6ICNmZmY7XG59XG4lY29sb3ItYmxhY2sge1xuXHRjb2xvcjogIzAwMDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuXG4ldXBwZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiVsb3dlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuJWNhcGl0YWxpemUge1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbiV1bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiVuby11bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4lbm8tbGlzdC1zdHlsZSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ld2hpdGUtc3BhY2Utbm9ybWFsIHtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiVub3dyYXAge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuJWVsbGlwc2lzIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE92ZXJmbG93XG4tLS0tLS0tLS0tICovXG5cbiVvdmVyZmxvdy1hdXRvIHtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG4lb3ZlcmZsb3ctaGlkZGVuIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiVvdmVyZmxvdy12aXNpYmxlIHtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4lb3ZlcmZsb3ctc2Nyb2xsIHtcblx0b3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgTWlzYyBWaXN1YWxzXG4tLS0tLS0tLS0tICovXG5cbiVwb2ludGVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuJXRyYW5zaXRpb24ge1xuXHR0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgUGFnaW5hdGlvblxuLS0tLS0tLS0tLSAqL1xuXG4lcGFnaW5hdGlvbiB7XG5cdC5wYWdlLWxpbmsge1xuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoYm9keS1jb2xvcil7XG5cdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0fVxuXHR9XG5cdC5kaXNhYmxlZCAucGFnZS1saW5rIHtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgU2xpZGVyc1xuLS0tLS0tLS0tLSAqL1xuXG4lc2xpZGVyIHtcbiAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cdEBleHRlbmQgLm5vLWF4aW9tYXRpYy1tYXJnaW4gIW9wdGlvbmFsO1xuXG4gICAgLnNsaWRlLXBhZ2luYXRpb24ge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVlbTtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC1zaXplLWJhc2Upe1xuXHRcdFx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0XHRcdH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMWVtKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgW2RhdGEtc2xpZGVyLWNvbXBvbmVudH49XCJjb250cm9sc1wiXSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcbiAgICAgICAgfVxuICAgIH1cblx0LnNsaWRlLW92ZXJmbG93IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW4gIW9wdGlvbmFsO1xuXHR9XG5cdC5zbGlkZSB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdH1cbiAgICAmLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblxuICAgICAgICAuc2xpZGUtaG9sZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGggIW9wdGlvbmFsO1xuXHRcdFx0aGVpZ2h0OiAyNWVtO1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuICAgICAgICB9XG5cdFx0LnNsaWRlIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG4gICAgfVxuICAgICYudHJhbnNpdGlvbi1zbGlkZSB7XG4gICAgICAgIC5zbGlkZS1ob2xkZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuICAgICAgICAgICAgQGV4dGVuZCAuZC1mbGV4ICFvcHRpb25hbDtcblx0XHRcdEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlciAhb3B0aW9uYWw7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICAuc2xpZGUge1xuXHRcdFx0ZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgVGV4dCBGaWVsZHNcbi0tLS0tLS0tLS0gKi9cblxuJWlucHV0IHtcblx0YmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMC4zNWVtO1xuXG4gICAgQGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0ICAgICY6Zm9jdXMge1xuXHQgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblx0ICAgIH1cblx0fVxuXHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIGRhbmdlcil7XG5cdCAgICAmLmVycm9yIHtcblx0ICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgZGFuZ2VyKTtcblx0ICAgIH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBEcm9wZG93bnNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1kcm9wZG93biB7XG4gICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgQGV4dGVuZCAlcG9pbnRlciAhb3B0aW9uYWw7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICYgKyAuZmFrZS1kcm9wZG93biB7XG5cdFx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAgICAgICAgICAgICAuYXJyb3ctaG9sZGVyIHtcblx0ICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4obWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KSwgMTAlKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mYWtlLWRyb3Bkb3duIHtcbiAgICAgICAgW2RhdGEtdmFsdWVdIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWlucHV0O1xuICAgICAgICB9XG4gICAgICAgIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgYmFja2dyb3VuZCBlYXNlLWluLW91dDtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG5cdFx0XHR9XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgICAgICAgICBAZXh0ZW5kICVhbGlnbi1jZW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyLjA1ZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBAZXh0ZW5kICVpbmxpbmUtYmxvY2sgIW9wdGlvbmFsO1xuXG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHQgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblx0ICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpLCAxMCUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuICAgICAgICAgICAgLmFycm93OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENoZWNrYm94ZXNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1jaGVja2JveCB7XG5cdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKXtcblx0XHRtYXJnaW46ICRncmlkLXBhZGRpbmcgMDtcblx0fVxuXHRAZXh0ZW5kIC5kLWZsZXggIW9wdGlvbmFsO1xuXHRAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXIgIW9wdGlvbmFsO1xuXG5cdGxhYmVsIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0cGFkZGluZy1sZWZ0OiAwLjVyZW07XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdH1cbiAgICBsaSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXHRpbnB1dCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0XHR6LWluZGV4OiA1O1xuXHRcdEBleHRlbmQgJXBvaW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblx0XHQmW2Rpc2FibGVkXSB+IC5pbnB1dC1iZyB7XG5cdFx0XHRvcGFjaXR5OiAwLjM1O1xuXHRcdH1cblx0fVxuICAgIC5pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMS4yNWVtKTtcblx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcblx0fVxuICAgIC5pbnB1dC1iZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIEBleHRlbmQgJWFic29sdXRlICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAlc3RyZXRjaCAhb3B0aW9uYWw7XG4gICAgfVxuICAgIC5zZWxlY3RlZC1pbmRpY2F0b3Ige1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICBAZXh0ZW5kICVhbGlnbi1jZW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICB3aWR0aDogMS4zNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuICAgICAgICAgICAgQGV4dGVuZCAlYWxpZ24tY2VudGVyICFvcHRpb25hbDtcbiAgICAgICAgICAgIEBleHRlbmQgJWlubGluZS1ibG9jayAhb3B0aW9uYWw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxlY3RlZCB7XG4gICAgICAgIC5zZWxlY3RlZC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGlmIHZhcmlhYmxlLWV4aXN0cyhmb250LXdlaWdodHMpIGFuZCBtYXAtaGFzLWtleSgkZm9udC13ZWlnaHRzLCByZWd1bGFyKXtcblx0ICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcblx0ICAgIH1cbiAgICB9XG5cdCYuZm9jdXMgbGFiZWwsIC5mb2N1cyArIGxhYmVsIHtcblx0XHRAZXh0ZW5kICV1bmRlcmxpbmUgIW9wdGlvbmFsO1xuXHR9XG5cdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAuZm9jdXMgKyBsaSBpbnB1dCB7XG5cdCAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuXHQgICAgfVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJhZGlvIEJ1dHRvbnNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1yYWRpbyB7XG5cdEBleHRlbmQgJWN1c3RvbS1jaGVja2JveDtcblxuXHQuaW5wdXQtYmcge1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcmVtO1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIERpYWxvZ3Ncbi0tLS0tLS0tLS0gKi9cblxuJWRpYWxvZy1ob2xkZXIge1xuXHRAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCAwIDAgMCk7XG5cdG92ZXJmbG93OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7XG5cblx0LnNjcm9sbCB7XG5cdFx0QGV4dGVuZCAlZnVsbC13aWR0aCAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAlZnVsbC1oZWlnaHQgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJXRhYmxlICFvcHRpb25hbDtcblx0fVxuXHQuY2VudGVyIHtcblx0XHRAZXh0ZW5kICV0YWJsZS1jZWxsICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICV2LWFsaWduLW1pZGRsZSAhb3B0aW9uYWw7XG4gICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0fVxuXHQuZGlhbG9nIHtcbiAgICAgICAgQGV4dGVuZCAlYmctd2hpdGUgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJWZ1bGwtd2lkdGggIW9wdGlvbmFsO1xuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1ndXR0ZXItd2lkdGgpe1xuXHRcdFx0bWFyZ2luOiAkZ3JpZC1ndXR0ZXItd2lkdGggYXV0bztcblx0XHR9XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG5cdFx0d2lkdGg6IDkwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMWVtIHJnYmEoMCwwLDAsMC4zNSk7XG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLXBhZGRpbmcpe1xuXHRcdFx0cGFkZGluZzogJGdyaWQtcGFkZGluZyAqIDEuNTtcblx0XHR9XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLWJyZWFrcG9pbnRzKXtcblx0XHRcdCYuZGlhbG9nLWxnIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZyk7XG5cdFx0XHR9XG5cdFx0XHQmLmRpYWxvZy1tZCB7XG5cdFx0XHRcdG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpO1xuXHRcdFx0fVxuXHRcdFx0Ji5kaWFsb2ctc20ge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHNtKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRpYWxvZy1oZWFkaW5nIHtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKSBhbmQgdmFyaWFibGUtZXhpc3RzKGdyaWQtZ3V0dGVyLXdpZHRoKXtcblx0XHRcdFx0cGFkZGluZzogKCRncmlkLXBhZGRpbmcgKiAxLjUpICRncmlkLWd1dHRlci13aWR0aDtcblx0XHRcdH1cblxuICAgICAgICAgICAgaDQge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0XHRcdG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cdFx0LmJ1dHRvbi1ncm91cCB7XG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtcGFkZGluZyl7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRncmlkLXBhZGRpbmc7XG5cdFx0XHR9XG5cblx0XHRcdC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZGlhbG9nLWVycm9yIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQmOm5vdCguY2xvc2luZykgfiAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBUb29sdGlwc1xuLS0tLS0tLS0tLSAqL1xuXG4ldG9vbHRpcHN0ZXItYmFzZSB7XG5cdC50b29sdGlwc3Rlci1ib3gge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsMC4yNSk7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC13aWR0aDogMjc1cHg7XG5cbiAgICAgICAgLnRvb2x0aXBzdGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29sb3Itd2hpdGUgIW9wdGlvbmFsO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXHR9XG4gICAgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuICAgIH1cblx0Ji5kZWZhdWx0IHtcbiAgICAgICAgLnRvb2x0aXBzdGVyLWJveCB7XG4gICAgICAgIFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhib2R5LWNvbG9yKXtcblx0ICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvZHktY29sb3I7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50b29sdGlwc3Rlci1hcnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgXHRAaWYgdmFyaWFibGUtZXhpc3RzKGJvZHktY29sb3Ipe1xuXHQgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9keS1jb2xvcjtcblx0ICAgICAgICB9XG4gICAgICAgIH1cblx0fVxuICAgIHVsLnRvb2x0aXAtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cblxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1zaGFkb3dzOlx0XHRcdGZhbHNlO1xuJGVuYWJsZS1yZXNwb25zaXZlLXRleHQ6XHR0cnVlO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgIzAwN0FGODtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICNlZWUwNDc7XG4kYnJhbmQtdGVydGlhcnk6ICAgICAgICAjZTkyYTBlO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIGJsdWU6ICRicmFuZC1wcmltYXJ5LFxuICAgIHllbGxvdzogJGJyYW5kLXNlY29uZGFyeSxcbiAgICByZWQ6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBicmFuZC1saWdodDogI2U5ZTllOSxcbiAgICBicmFuZC1kYXJrOiAjMWExYTFhLFxuICAgIGxpZ2h0OiAjZTllOWU5LFxuICAgIGRhcms6ICMxYTFhMWEsXG4gICAgc3VjY2VzczogIzY2YjEzMixcbiAgICBpbmZvOiAkYnJhbmQtcHJpbWFyeSxcbiAgICB3YXJuaW5nOiAkYnJhbmQtc2Vjb25kYXJ5LFxuICAgIGRhbmdlcjogJGJyYW5kLXRlcnRpYXJ5XG4pKTtcblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZjtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICMxYTFhMWE7XG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpO1xuXG4kbGluZS1jb2xvcjogXHRcdFx0I2RkZDtcblxuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG5cbiRncmlkLWd1dHRlci13aWR0aDogXHQgMXJlbTtcbiRncmlkLXBhZGRpbmc6XHRcdFx0ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiR2ZXJ0aWNhbC1tYXJnaW4tYmFzZTpcdCAxLjVlbTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogNTc2cHgsXG4gICAgbWQ6IDc2OXB4LFxuICAgIGxnOiA5OTJweCxcbiAgICB4bDogMTI4MHB4XG4pO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogMTZweCxcbiAgICBoMTogMzFweCxcbiAgICBoMjogNTRweCxcbiAgICBoMzogMzJweCxcbiAgICBoNDogMjNweCxcbiAgICBoNTogMjBweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyNXB4LFxuICAgIGJsb2NrcXVvdGU6IDE4cHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcblxuLy8kZW5hYmxlLWFudGlhbGlhc2luZzogZmFsc2U7XG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBsZWFkKSk7XG4kYmxvY2txdW90ZS1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogYXpvLXNhbnMtd2ViLCBcIkF2ZW5pclwiLCBcIlR3IENlbiBNVFwiLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBib2xkOiA3MDAsXG4gICAgbWVkaXVtOiA1MDAsXG4gICAgcmVndWxhcjogNDAwXG4pO1xuXG4kZm9udC13ZWlnaHQtYmFzZTogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBib2xkKTtcbiRsZWFkLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIG1lZGl1bSk7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY1O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4kcmVzcG9uc2l2ZS10ZXh0OiAoXG4gICAgbW9iaWxlLW1pbi1zaXplOiAxMnB4LFxuICAgIG1vYmlsZS1tYXgtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcm9vdCksXG4gICAgZGVza3RvcC1taW4tc2l6ZTogMTJweCxcbiAgICBkZXNrdG9wLW1heC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSxcbiAgICBtaW4tc2NyZWVuLXdpZHRoOiAzMjBweCxcbiAgICBtb2JpbGUtc2NyZWVuLXdpZHRoOiA3NjhweCxcbiAgICBtYXgtc2NyZWVuLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bClcbik7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cblxuJGhyLWJvcmRlci1jb2xvcjogJGxpbmUtY29sb3I7XG4kaHItYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiRib3JkZXItcmFkaXVzOiAwO1xuJGJvcmRlci1yYWRpdXMtbGc6ICRib3JkZXItcmFkaXVzICogMS41O1xuJGJvcmRlci1yYWRpdXMtc206ICRib3JkZXItcmFkaXVzIC8gMS41O1xuXG4kY29udGFpbmVyLXdpZHRoOiAxMzQ0cHg7XG4iLCIjbmV3cyB7XG4gICAgbWFyZ2luOiA2Ljc1cmVtIDA7XG5cbiAgICAubm8tcmVzdWx0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAycmVtO1xuXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAwLjI1KTtcbiAgICAgICAgfVxuICAgICAgICAubm8tcmVzdWx0cy10ZXh0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQge1xuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2luYXRpb24tYXJlYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgU3R5bGVzXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgcGFkZGluZzogMS43NXJlbTtcblxuICAgICAgICAgICAgLmNhcmQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkIC5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSBhbmQgKG1pbi13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21pbicsIHNtKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgLmNhcmQtY29udGVudCwgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAubmV3cy1wb3N0aW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIC5jYXJkLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBzbSkpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwO1xuXG4gICAgICAgIGRpdi5jYXJkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG5cbiAgICAgICAgICAgIC5jYXJkLWltYWdlIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
