@media screen and (min-width:768px){.ergo-adhop__about-service{margin:0 -12px}}.ergo-adhop__about-service .ergo-adhop__about-service__content__wrapper{display:flex;flex-wrap:wrap;padding:24px 0;width:100%}@media screen and (min-width:768px){.ergo-adhop__about-service .ergo-adhop__about-service__content__wrapper{padding:0}}.ergo-adhop__about-service .ergo-adhop__about-service-title{font-size:20px;line-height:30px;margin:0 0 20px}@media screen and (min-width:768px){.ergo-adhop__about-service .ergo-adhop__about-service-title{font-size:24px;line-height:40px}.ergo-adhop__about-service .ergo-adhop__about-service__content__left,.ergo-adhop__about-service .ergo-adhop__about-service__content__right{padding:0 12px;width:50%}}.ergo-adhop__addressItem{font-size:14px;font-style:normal}.ergo-adhop__addressItem .ergo-adhop__button__component{margin-top:39px}.ergo-adhop__addressItem .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link{font-weight:400}.ergo-adhop__addressItem .footer__links-heading--secondary{margin-bottom:8px}.ergo-adhop__addressItem .ergo-adhop__addressItem__agencyName{display:block;font-weight:700}.ergo-adhop__addressItem .ergo-adhop__addressItem__contact{list-style:none;margin:0;padding:0}.ergo-adhop__addressItem .ergo-adhop__addressItem__contact li{margin-bottom:8px}.ergo-adhop__addressItem .ergo-adhop__addressItem__contact .ergo-adhop__button__component{display:inline}.ergo-adhop__addressItem p{font-size:inherit}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__label__wrapper{text-align:center}.ergo-adhop__agencyLocations .ergo-adhop__chip{margin-bottom:30px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__chip{margin-bottom:20px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__title{font-size:20px;font-weight:700;line-height:30px;margin:0 0 18px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__title{font-size:30px;line-height:40px;margin-bottom:50px;text-align:center}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__wrapper{margin-bottom:25px;margin-top:25px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__wrapper{margin-bottom:60px;margin-top:60px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__wrapper~.ergo-adhop__agencyLocations__item__wrapper{margin-top:20px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__wrapper~.ergo-adhop__agencyLocations__item__wrapper{margin-top:90px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item{margin-bottom:25px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item{margin-bottom:60px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content{font-size:14px;line-height:1.5;width:100%}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content{display:flex;flex-wrap:wrap;font-size:16px;margin:0 auto;max-width:870px;width:100%}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__left,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__right{border:0;width:100%}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__left,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__right{padding-right:15px;width:50%}}@media screen and (max-width:767px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__left{margin-bottom:25px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__left>:last-child{margin-bottom:0}@media screen and (max-width:767px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__left .ergo-adhop__openingHours__title{font-size:16px;line-height:24px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone{display:flex;padding-left:44px;position:relative}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address .react-svg-icon,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax .react-svg-icon,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone .react-svg-icon{left:0;position:absolute;top:0}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address div:not(.cmp-text) p,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax div:not(.cmp-text) p,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone div:not(.cmp-text) p{margin:0}@media screen and (max-width:767px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address div:not(.cmp-text) p,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax div:not(.cmp-text) p,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone div:not(.cmp-text) p{font-size:14px;line-height:21px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address .ergo-adhop__text,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax .ergo-adhop__text,.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone .ergo-adhop__text{margin-top:16px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone .ergo-adhop__button--text-link{font-size:16px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address{margin-bottom:24px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address{margin-bottom:18px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address .react-svg-icon{top:3px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__address .ergo-adhop__button.ergo-adhop__button--text-link{font-size:16px}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone{align-items:center;margin-bottom:30px}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__phone .react-svg-icon{top:-3px}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__fax{margin-bottom:60px}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__openingHours .ergo-adhop__openingHours__opening-list li,.ergo-adhop__agencyLocations .ergo-adhop__openingHours p{font-size:16px;line-height:24px}}.ergo-adhop__agencyLocations .adhop__team--1-employees .adhop__team-employee-tile__picture.adhop__team,.ergo-adhop__agencyLocations .adhop__team--2-employees .adhop__team-employee-tile__picture.adhop__team,.ergo-adhop__agencyLocations .adhop__team-employee-tile .adhop__team-employee-tile__picture.adhop__team,.ergo-adhop__agencyLocations .adhop__team-employee-tile--solo .adhop__team-employee-tile__picture.adhop__team{margin-bottom:0}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__right{align-self:flex-start;aspect-ratio:3/2}@media screen and (min-width:768px){.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__right{padding-left:15px;padding-right:0}}.ergo-adhop__agencyLocations .ergo-adhop__agencyLocations__item__content__right img{aspect-ratio:3/2}.ergo-adhop__agencyData{background-color:var(--theme-white,#fff);padding-bottom:24px;padding-top:7px}@media screen and (min-width:768px){.ergo-adhop__agencyData{background-color:#f5f5f5;padding-top:31px}}.ergo-adhop__agencyData .ergo-adhop__agencyData__content__wrapper{display:flex;flex-wrap:wrap;gap:39px;margin:0 auto;max-width:1440px;padding-left:24px;padding-right:24px;width:100%}@media screen and (min-width:768px){.ergo-adhop__agencyData .ergo-adhop__agencyData__content__wrapper{gap:10px}}.ergo-adhop__agencyData .ergo-adhop__addressItem__agencyName,.ergo-adhop__agencyData .ergo-adhop__openingHours__title{font-size:16px;line-height:32px;margin-bottom:29px}@media screen and (min-width:768px){.ergo-adhop__agencyData .ergo-adhop__addressItem__agencyName,.ergo-adhop__agencyData .ergo-adhop__openingHours__title{font-size:20px;line-height:30px;margin-bottom:24px}}.ergo-adhop__agencyData .ergo-adhop__addressItem__agencyTitle{font-weight:600}.ergo-adhop__agencyData .ergo-adhop__badges.ergo-adhop__badges .ergo-adhop__badges__item{aspect-ratio:auto;max-width:70px;width:100%}@media screen and (min-width:912px){.ergo-adhop__agencyData .ergo-adhop__badges.ergo-adhop__badges .ergo-adhop__badges__item{max-width:140px}}.ergo-adhop__agencyData .ergo-adhop__badges.ergo-adhop__badges .ergo-adhop__badges__item .ergo-adhop__button__component{width:100%}.ergo-adhop__agencyData .ergo-adhop__badges.ergo-adhop__badges .ergo-adhop__badges__item img{aspect-ratio:14/19;min-height:70px;object-fit:contain;object-position:top}@media screen and (min-width:912px){.ergo-adhop__agencyData .ergo-adhop__badges.ergo-adhop__badges .ergo-adhop__badges__item img{min-height:140px}}.page__snippets .ergo-adhop__agencyFlyout{display:none}@media screen and (min-width:1152px){.body-scroll-locked .ergo-adhop__agencyFlyout{padding-right:15px}}@media screen and (min-width:768px){.page__snippets .ergo-adhop__agencyFlyout{align-items:flex-start;background-color:#fff;border-bottom:1px solid var(--theme-light-gray,#d9d9d9);display:block;left:0;max-height:0;opacity:0;overflow:auto;position:fixed;right:0;top:73px}.page__snippets .ergo-adhop__agencyFlyout--visible{max-height:calc(100vh - 73px);opacity:1;z-index:1}}@media screen and (min-width:912px){.page__snippets .ergo-adhop__agencyFlyout{top:81px}.page__snippets .ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout--visible{max-height:calc(100vh - 81px)}}@media screen and (min-width:1152px){.page__snippets .ergo-adhop__agencyFlyout{top:95px}.page__snippets .ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout--visible{max-height:calc(100vh - 95px);opacity:1}}.ergo-adhop__agencyFlyout h4{margin:0}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container{display:flex;justify-content:space-around;margin:0 auto;max-width:1440px;position:relative;width:100%}@media screen and (min-width:768px){.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container .ergo-adhop__agencyFlyout__links__list,.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container .ergo-adhop__agencyFlyout__location-details{margin:20px 0;padding:5px 20px}}@media screen and (min-width:1152px){.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container .ergo-adhop__agencyFlyout__links__list,.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container .ergo-adhop__agencyFlyout__location-details{margin:30px 0;padding:10px 50px}}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__picture{align-self:flex-start;aspect-ratio:3/2;flex:3;margin:25px 20px}@media screen and (min-width:1152px){.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__picture{margin:40px 50px}}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__picture img{aspect-ratio:3/2;margin:0;width:100%}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__location-details{flex:5}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__location-details address{font-size:14px;font-style:normal;margin-bottom:10px}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__location-details address .ergo-adhop__addressItem__agencyName{font-size:18px}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__location-details address ul{list-style:none;margin:0;padding:0}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list{flex:3}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list .ergo-adhop__agencyFlyout__links__list__title{display:block;font-size:18px;font-weight:500}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list ul{list-style:none;margin:0;padding:0}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list li{display:none}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list li:nth-child(-n+3){display:block;padding:7px 0}@media screen and (min-width:768px){.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list{border-left:1px solid var(--theme-light-gray,#d9d9d9)}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list ul{padding:10px 0}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list.ergo-adhop__agencyFlyout__links__list li{padding-bottom:12px;padding-top:12px}}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours{margin:20px 0}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours h4{font-size:16px}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__header{align-items:center;cursor:pointer;display:inline-flex;padding-right:20px;position:relative}@media screen and (max-width:767px){.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__header{font-size:14px}}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__header .react-svg-icon,.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__header strong{display:inline-block;vertical-align:middle}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__header .react-svg-icon{pointer-events:none;position:absolute;right:0;transition:rotate .3s ease-in-out}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours .ergo-adhop__agencyFlyout__opening-hours__details{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours.ergo-adhop__agencyFlyout__opening-hours--visible .react-svg-icon{rotate:180deg}.ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__opening-hours.ergo-adhop__agencyFlyout__opening-hours--visible .ergo-adhop__agencyFlyout__opening-hours__details{max-height:300px}.ergo-adhop__navigation .ergo-adhop__agencyFlyout{display:block;margin:0 24px;padding:20px 0 50px 35px}@media screen and (min-width:768px){.ergo-adhop__navigation .ergo-adhop__agencyFlyout{display:none}}.ergo-adhop__navigation .ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__container{flex-direction:column;gap:30px}.ergo-adhop__navigation .ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__picture{display:none}.ergo-adhop__navigation .ergo-adhop__agencyFlyout .ergo-adhop__agencyFlyout__links__list a{padding:0}.ergo-adhop__agencyPresentation{margin:0 auto;max-width:870px;width:100%}@media screen and (max-width:767px){.ergo-adhop__agencyPresentation:not(.show-more) .ergo-adhop__agencyPresentation__description{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;
    /*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ergo-adhop__agencyPresentation:not(.show-more) .ergo-adhop__agencyPresentation__benefits,.ergo-adhop__agencyPresentation:not(.show-more) .ergo-adhop__button--primary{display:none}.ergo-adhop__agencyPresentation:not(.show-more) .ergo-adhop__agencyPresentation__read-more{display:inline-block}}.ergo-adhop__agencyPresentation.ergo-adhop__agencyPresentation--with-ratings{display:flex;flex-direction:column;max-width:100%}@media screen and (min-width:912px){.ergo-adhop__agencyPresentation.ergo-adhop__agencyPresentation--with-ratings{flex-direction:row}}.ergo-adhop__agencyPresentation.ergo-adhop__agencyPresentation--with-ratings .ergo-adhop__agencyPresentation__aside{flex-shrink:0;margin-top:60px}@media screen and (min-width:912px){.ergo-adhop__agencyPresentation.ergo-adhop__agencyPresentation--with-ratings .ergo-adhop__agencyPresentation__aside{margin-left:60px;margin-top:20px;width:35%}}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__content{width:100%}@media screen and (min-width:768px){.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__content h2{font-size:36px}}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__content .ergo-adhop__button__component{margin-top:30px}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__aside{margin-top:60px}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__aside .ergo-adhop__socialMediaLinks{margin-bottom:30px;margin-top:60px}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__benefits{margin-bottom:60px;margin-top:60px}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__read-less,.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__read-more{background-color:initial;border:0;color:var(--theme-primary,#8e0038);display:none;font-size:14px;font-weight:700;line-height:21px;margin-top:10px;padding:0}.ergo-adhop__agencyPresentation .ergo-adhop__agencyPresentation__read-less{display:block;margin-top:24px}.ergo-adhop__agencyRatingHorizontal{display:flex;flex-wrap:wrap}@media screen and (min-width:768px){.ergo-adhop__agencyRatingHorizontal{align-items:center;flex-direction:column;height:100%;text-align:center}}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__image{display:inline-flex;height:60px;width:60px}@media screen and (min-width:768px){.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__image{height:80px;width:80px}}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__content{max-width:calc(100% - 60px);padding-left:20px;position:relative}@media screen and (min-width:768px){.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__content{display:flex;flex-flow:column wrap;height:calc(100% - 80px);justify-content:space-between;max-width:100%;padding-left:0;padding-top:15px}}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__content p{font-size:12px;line-height:14px;margin:0}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__content .ergo-adhop__agencyRatingHorizontal__ratings__cta{margin-top:20px}@media screen and (min-width:768px){.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__no__rating__text{padding-top:30px}}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings{display:inline-flex}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings.facebook .ergo-adhop__ratingValue__text{margin-bottom:10px}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings .ergo-adhop__ratingValue--with-tooltip{padding-right:45px;position:relative}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings .ergo-adhop__ratingValue--with-tooltip .ergo-adhop__tooltip{position:absolute;right:0}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings .ergo-adhop__ratingValue--with-tooltip .ergo-adhop__tooltip .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__tooltip__overlay__trigger{width:40px}.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings .ergo-adhop__ratingStars__stars__text,.ergo-adhop__agencyRatingHorizontal .ergo-adhop__agencyRatingHorizontal__ratings .ergo-adhop__ratingValue__text{font-size:12px;line-height:12px;margin-top:3px}.adhop-ergo__ratingVertical{border:1px solid var(--theme-light-gray,#d9d9d9);border-radius:9px}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__heading{color:var(--theme-light-gray,#d9d9d9);font-size:15px;font-weight:600}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__subheading{font-size:20px;font-weight:700;margin:0}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__heading,.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__subheading{margin-bottom:0;margin-top:30px;padding-left:30px;padding-right:30px}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__heading:not(:first-child),.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__subheading:not(:first-child){margin-top:10px}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__list{list-style:none;margin:0;padding:0}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__item{padding:30px}.adhop-ergo__ratingVertical .adhop-ergo__ratingVertical__item:not(:first-child){border-top:1px solid var(--theme-light-gray,#d9d9d9)}.ergo-adhop__badges .ergo-adhop__badges__item{aspect-ratio:1;display:inline-block;margin-right:30px;position:relative;vertical-align:top}.ergo-adhop__badges .ergo-adhop__badges__item:last-child{margin-right:0}.ergo-adhop__badges .ergo-adhop__badges__item img{aspect-ratio:1;max-width:70px;width:100%}@media screen and (min-width:912px){.ergo-adhop__badges .ergo-adhop__badges__item img{max-width:140px}}.ergo-adhop__badges .ergo-adhop__badges__item .ergo-adhop__button{display:block}@media screen and (min-width:768px){.campaigns__content .campaign__teaser__wrapper:nth-child(2n) .ergo-adhop__campaignTeaser{flex-direction:row-reverse}.campaigns__content .campaign__teaser__wrapper:nth-child(2n) .ergo-adhop__campaignTeaser img{border-radius:0 4px 4px 0}}.campaigns__content .campaign__teaser__wrapper:last-child .ergo-adhop__campaignTeaser{margin-bottom:0}.ergo-adhop__campaignTeaser{border-radius:4px;box-shadow:0 3px 5px -1px rgba(var(--theme-black-rgb),.16),0 6px 10px 0 rgba(var(--theme-black-rgb),.12),0 1px 18px 0 rgba(var(--theme-black-rgb),.1);display:flex;flex-wrap:wrap;margin:0 auto 24px;max-width:870px;width:100%}@media screen and (min-width:768px){.ergo-adhop__campaignTeaser{min-height:320px}}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__image{min-height:217px;width:100%}@media screen and (min-width:768px){.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__image{max-width:420px}}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__image img{border-radius:4px 4px 0 0;height:100%;object-fit:cover;width:100%}@media screen and (min-width:768px){.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__image img{border-radius:4px 0 0 4px}}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__content{padding:30px 20px;width:100%}@media screen and (min-width:768px){.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__content{display:flex;flex-flow:column wrap;justify-content:center;max-width:calc(100% - 420px);padding:40px 48px}}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__title{color:inherit;display:block;font-size:18px;font-weight:700;line-height:27px;margin:0 0 4px}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__subtitle{color:inherit;font-size:16px;line-height:24px}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__description{margin-top:16px}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__description p{font-size:16px;line-height:24px}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__description p:last-child{margin:0}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__description ol,.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__description ul{list-style:none;margin:0;padding:0}.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__cta__wrapper{align-items:center;display:flex;flex-flow:column wrap;gap:12px;margin-top:30px}@media screen and (min-width:768px){.ergo-adhop__campaignTeaser .ergo-adhop__campaignTeaser__cta__wrapper{flex-flow:row wrap;gap:16px}}.slick-slider{box-sizing:border-box;-webkit-touch-callout:none;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.slick-list,.slick-slider{display:block;position:relative}.slick-list{margin:0;overflow:hidden;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{transform:translateZ(0)}.slick-track{display:block;left:0;margin-left:auto;margin-right:auto;position:relative;top:0}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{border:1px solid transparent;display:block;height:auto}.slick-arrow.slick-hidden{display:none}.slick-slider{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.slick-slider.slick-initialized .slick-list,.slick-slider.slick-initialized .slick-track{display:flex}.slick-slider.slick-with-arrows{margin-left:36px;margin-right:36px}@media screen and (min-width:768px){.slick-slider.slick-with-arrows{margin-left:48px;margin-right:48px}}.slick-slider .slick-arrow--custom{align-items:center;background:none;border-radius:50%;color:var(--theme-primary,#8e0038);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:36px}.slick-slider .slick-arrow--custom.slick-prev{left:0;transform:translate(-100%,-50%)}.slick-slider .slick-arrow--custom.slick-next{left:100%}.slick-slider .slick-dots{margin:0;padding:0;text-align:center;width:100%}.slick-slider .slick-dots li{display:inline-flex;margin-left:8px;margin-right:8px}.slick-slider .slick-dots li.slick-active button{background-color:var(--theme-primary,#8e0038)}.slick-slider .slick-dots li button{background-color:#e7e6e6;border:0;border-radius:50%;cursor:pointer;font-size:0;height:8px;padding:0;transition:background-color .3s ease-in-out;width:8px}.ergo-adhop__chip{background-color:var(--theme-additional-2,#009284);border-radius:16px;color:var(--theme-white,#fff);display:inline-flex;font-size:14px;line-height:14px;margin-bottom:16px;padding:5px 14px}.ergo-adhop__chip.chip-green{background-color:#428071}.ergo-adhop__chip.chip-blue{background-color:var(--theme-additional-3,#0f94a7)}.ergo-adhop__chip.chip-violet{background-color:var(--theme-additional-1,#b31767)}.ergo-adhop__chip.chip-orange{background-color:var(--theme-additional-5,#e87a16)}.ergo-adhop__chip.chip-yellow{background-color:var(--theme-additional-4,#f6cb00)}.ergo-adhop__contactBar__overlay{max-width:426px;padding:0 6px;position:absolute;top:100%;width:100%;z-index:10}@media screen and (min-width:768px){.ergo-adhop__contactBar__overlay{margin-top:-15px;max-width:none;width:auto}}.ergo-adhop__contactBar__overlay .ergo-adhop__contactBar__overlay__content{background:var(--theme-white,#fff);border-radius:9px;box-shadow:0 24px 38px 3px rgba(var(--theme-black-rgb),.12),0 9px 46px 8px rgba(var(--theme-black-rgb),.1),0 11px 15px -7px rgba(var(--theme-black-rgb),.16)}.ergo-adhop__contactBar__overlay .ergo-adhop__contactBar__left-icon-cta .ergo-adhop__button__text{color:var(--theme-primary,#8e0038)}.ergo-adhop__contactBar h4{font-size:18px;line-height:23px;margin-bottom:16px;margin-top:0}@media screen and (min-width:768px){.ergo-adhop__contactBar h4{font-size:20px;line-height:26px;margin-bottom:24px}}.ergo-adhop__contactBar .ergo-adhop__contactBar__container{margin:0 auto;max-width:1280px;padding:15px 0;position:relative}@media screen and (min-width:768px){.ergo-adhop__contactBar .ergo-adhop__contactBar__container{display:flex;justify-content:space-between;padding:0}}.ergo-adhop__contactBar .ergo-adhop__contactBar__item{position:relative}@media screen and (min-width:768px){.ergo-adhop__contactBar .ergo-adhop__contactBar__item{position:static}}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link{color:var(--theme-primary,#8e0038);margin-bottom:21px;text-decoration:none}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__button--text-link{color:var(--theme-darkest-gray,#333);padding:15px 24px;text-align:left}@media screen and (min-width:768px){.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__button--text-link{padding-bottom:0;padding-top:0}}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__button--text-link:hover{color:var(--theme-primary,#8e0038)}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__button--text-link:after{display:none}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link .ergo-adhop__contactBar__icon-chevron,.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link .ergo-adhop__contactBar__icon-link__text,.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link .react-svg-icon{pointer-events:none}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link .ergo-adhop__contactBar__icon-link__text{font-size:14px;letter-spacing:.25px;line-height:21px;margin:0}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--primary{color:var(--theme-darkest-gray,#333);margin:0;padding:15px 24px}@media screen and (min-width:768px){.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--primary{height:92px;line-height:92px;padding:0 24px}}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--expanded,.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--expanded.ergo-adhop__button.ergo-adhop__button{color:var(--theme-primary,#8e0038)}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--expanded .ergo-adhop__contactBar__icon-chevron{transform:rotate(180deg)}.ergo-adhop__contactBar .ergo-adhop__contactBar__icon-link.ergo-adhop__contactBar__icon-link--expanded svg{fill:var(--theme-primary,#8e0038)}.ergo-adhop__contactBar .ergo-adhop__contactColumn__phones-area .ergo-adhop__button--text-link:hover .react-svg-icon{color:var(--theme-primary,#8e0038)}.ergo-adhop__contactBar .ergo-adhop__contactColumn__phones-area .ergo-adhop__button--text-link .react-svg-icon{color:var(--theme-darkest-gray,#333)}.ergo-adhop__contactBar .ergo-adhop__contactBar__overlay__snippet-content{max-width:calc(100vw - 12px);padding:24px 0}@media screen and (min-width:768px){.ergo-adhop__contactBar .ergo-adhop__contactBar__overlay__snippet-content{width:min(var(--columns) * 400px,1268px)}}.ergo-adhop__contactBar .ergo-adhop__contactBar__overlay__snippet-content .teasersGrid{margin:0;max-width:none;width:100%}.ergo-adhop__contactBar .ergo-adhop__contactBar__overlay__snippet-content .teasersGrid .teasersGrid__list{border:0}.customColumnSnippet{display:none}.ergo-adhop__contactColumn{padding:30px 0}@media screen and (min-width:768px){.ergo-adhop__contactColumn{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;grid-template-rows:repeat(2,auto);padding-right:30px}}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item{max-width:426px;padding:0 30px;width:100%}@media screen and (min-width:768px){.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item{padding-right:0;-moz-text-decoration-line:426px}}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item:last-child button{margin-bottom:0}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area{padding:0 30px}@media screen and (min-width:768px){.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area{padding-right:0}}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area~.ergo-adhop__contactColumn__item--content-area{margin-top:36px}@media screen and (min-width:768px){.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area~.ergo-adhop__contactColumn__item--content-area{margin-top:0}}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area .cmp-text p{margin-bottom:24px}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--content-area .ergo-adhop__button:not(.ergo-adhop__button--text-link){color:var(--theme-darkest-gray,#333)}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--button-area .ergo-adhop__button__component{margin-bottom:21px}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--button-area .ergo-adhop__button__component .ergo-adhop__button{width:100%}@media screen and (min-width:768px){.ergo-adhop__contactColumn .ergo-adhop__contactColumn__item--button-area .ergo-adhop__button__component .ergo-adhop__button{width:auto}}.ergo-adhop__contactColumn .ergo-adhop__contactColumn__phones-area>div:last-child{margin-bottom:14px}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__text{margin-bottom:30px;text-align:center}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__text{margin-bottom:55px}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__text p{font-size:16px;line-height:24px;margin:0}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content__wrapper{display:flex;flex-flow:column wrap;gap:32px}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content__wrapper{align-items:center;flex-direction:row;gap:48px;justify-content:center}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__image{height:176px;margin:0 auto;width:176px}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__image{height:268px;margin:0;width:268px}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__image img{border-radius:50%;height:100%;object-fit:cover;width:100%}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content{max-width:calc(100% - 320px)}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content .ergo-adhop__contactTeaser__agent{display:block;font-size:24px;font-weight:700;line-height:32px;margin-bottom:24px;text-align:center}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content .ergo-adhop__contactTeaser__agent{text-align:left}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content .ergo-adhop__button{padding-bottom:7px;padding-top:7px}@media screen and (max-width:767px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__content__inner{margin:0 auto;max-width:320px}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__fax,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone{align-items:center;display:flex;flex-wrap:wrap;padding-left:44px;position:relative}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address:not(:last-child):not(.with-route-planen),.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__fax:not(:last-child):not(.with-route-planen),.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile:not(:last-child):not(.with-route-planen),.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone:not(:last-child):not(.with-route-planen){margin-bottom:12px}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address p,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__fax p,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile p,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone p{margin:0}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address .react-svg-icon,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__fax .react-svg-icon,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile .react-svg-icon,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone .react-svg-icon{left:0;position:absolute;top:-1px}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address .ergo-adhop__button.ergo-adhop__button--text-link{font-weight:400;margin-bottom:12px}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__address .ergo-adhop__button.ergo-adhop__button--text-link{font-size:16px;line-height:24px}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile .ergo-adhop__button.ergo-adhop__button--text-link,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone .ergo-adhop__button.ergo-adhop__button--text-link{font-weight:400;padding:0}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__mobile .ergo-adhop__button.ergo-adhop__button--text-link,.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__phone .ergo-adhop__button.ergo-adhop__button--text-link{font-size:16px;line-height:24px}}.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__ctas__wrapper{align-items:center;display:flex;flex-flow:column wrap;gap:16px;justify-content:center;padding-top:40px}@media screen and (min-width:768px){.ergo-adhop__contactTeaser .ergo-adhop__contactTeaser__ctas__wrapper{flex-direction:row;padding-top:60px}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox{min-width:100%;width:100%}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox.containerBox--half{float:left;min-width:50%;width:50%}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox.containerBox--wrapper>div{display:flex;flex-wrap:wrap}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox.containerBox--wrapper>div>.containerBox>div{height:100%;padding-bottom:40px;position:relative}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox.containerBox--wrapper>div>.containerBox>div .containerBox--half .ergo-adhop__button__component{max-width:calc(50% - 24px)}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox.containerBox--wrapper>div>.containerBox>div .ergo-adhop__button__component{bottom:0;position:absolute}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox>div{margin-left:-12px;margin-right:-12px}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox>div>*{border-bottom-width:12px;border-left:12px solid transparent;border-right:12px solid transparent;border-top-width:12px;box-sizing:border-box}}.aem-Grid.aem-Grid--default--12 .containerBox.containerBox .ergo-adhop__button__component .ergo-adhop__button:not(.ergo-adhop__agencyRatingHorizontal__ratings__cta):not(.slick-arrow){width:100%}@media screen and (min-width:480px){.aem-Grid.aem-Grid--default--12 .containerBox.containerBox .ergo-adhop__button__component .ergo-adhop__button:not(.ergo-adhop__agencyRatingHorizontal__ratings__cta):not(.slick-arrow){width:auto}}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div{margin-left:calc(50% - 50vw);max-width:100vw;padding-left:24px;padding-right:24px;width:100vw}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox{margin:0 auto;max-width:1440px;min-width:0;width:100%}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div{display:flex;flex-wrap:wrap;width:100%}@media screen and (min-width:768px){.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div{flex-direction:row;justify-content:center;width:calc(100% + 24px)}}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div>.agencyRating{border:0;padding-bottom:25px;padding-top:25px;width:100%}@media screen and (min-width:768px){.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div>.agencyRating{max-width:33.3333333333%;padding:0 25px}}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div>.agencyRating+.agencyRating{border-top:1px solid var(--theme-light-gray,#d9d9d9)}@media screen and (min-width:768px){.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div>.agencyRating+.agencyRating{border-left:1px solid var(--theme-light-gray,#d9d9d9);border-top:0}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper>div>.containerBox>div>.agencyRating .ergo-adhop__agency-rating{height:100%}}.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper .ergo-adhop__headline{margin:0 auto;max-width:1440px;width:100%}@media screen and (max-width:767px){.aem-Grid.aem-Grid--default--12 .containerBox.agency-rating-wrapper .ergo-adhop__headline{text-align:left}}.ergo-adhop__corporateLogo{display:inline-flex;position:relative}.ergo-adhop__corporateLogo .ergo-adhop__button__component{display:inherit}.ergo-adhop__corporateLogo img{height:15px;width:60px}@media screen and (min-width:768px){.ergo-adhop__corporateLogo img{height:20px;width:80px}}.ergo-adhop__corporateLogos{align-items:center;display:flex;flex-wrap:wrap;gap:23px;margin:0 auto 24px;max-width:1440px;padding:24px;width:100%}@media screen and (min-width:768px){.ergo-adhop__corporateLogos{gap:30px}}.ergo-adhop__corporateLogos .ergo-adhop__corporateLogos__legal-notice{color:var(--theme-black,#000);font-size:10px;line-height:1.5;margin-left:auto}.ergo-adhop__description .ergo-adhop__headline{margin-bottom:30px}@media screen and (min-width:768px){.ergo-adhop__description .ergo-adhop__headline{margin-bottom:45px}}.ergo-adhop__description .ergo-adhop__headline h2{margin-bottom:0}.ergo-adhop__description p{margin:0;white-space:pre-wrap}.ergo-adhop__description .ergo-adhop__description__email__wrapper{margin-top:50px}@media screen and (min-width:768px){.ergo-adhop__description .ergo-adhop__description__email__wrapper{margin-top:30px}}.ergo-adhop__description .ergo-adhop__description__email__label{display:block;font-weight:700}.ergo-adhop__description .ergo-adhop__button.ergo-adhop__button--text-link{font-weight:400}@media screen and (min-width:768px){.ergo-adhop__description .ergo-adhop__button.ergo-adhop__button--text-link{font-size:16px;line-height:24px}}.ergo-adhop__ekiLegal{font-size:16px;line-height:24px;padding-bottom:8px;padding-top:32px}@media screen and (min-width:768px){.ergo-adhop__ekiLegal{padding-left:24px;padding-right:24px}}.aem-AuthorLayer-Edit .ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm__step{margin-top:30px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__counter{margin-bottom:24px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__counter span{color:var(--theme-dark-gray,#aeaeae)}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__icon{display:flex}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__icon .react-svg-icon{margin-right:12px;padding-top:1px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__icon p{flex:1}.ergo-adhop__ekiLegal p.ergo-adhop__ekiLegal__txt{display:block;font-size:16px;line-height:24px;margin-bottom:24px;margin-top:0}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm__step strong,.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__download__step strong{display:block;margin-bottom:8px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm{margin-bottom:24px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label{cursor:pointer;padding-left:30px;position:relative}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span{display:inline-flex;max-width:calc(100% - 30px)}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span::-moz-selection{background-color:initial}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span::selection{background-color:initial}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span:after,.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span:before{content:"";display:block;left:0;position:absolute;top:0}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span:before{background-color:initial;border:1px solid #318187;border-radius:4px;height:16px;transition:background-color .3s ease-in-out;width:16px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span:after{background:transparent;border:1px solid var(--theme-white,#fff);border-right:0;border-top:0;height:5px;left:4px;opacity:0;top:4px;transform:rotate(-45deg);transition:visibility .3s ease-in-out,opacity .3s ease-in-out;visibility:hidden;width:9px}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm label>span span{display:inline-block}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm input[type=checkbox]{display:none}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm input[type=checkbox]:checked+span:before{background-color:#318187}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__confirm input[type=checkbox]:checked+span:after{opacity:1;visibility:visible}.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__cta__wrapper{padding-top:16px;text-align:center}@media screen and (min-width:768px){.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__cta__wrapper{padding-top:32px;text-align:right}}@media screen and (max-width:768px){.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__cta__wrapper .ergo-adhop__button{width:100%}}@media screen and (min-width:768px){.ergo-adhop__ekiLegal .ergo-adhop__ekiLegal__cta__wrapper .ergo-adhop__button{margin-right:-10px}}.ergo-adhop__ekomiSeals__headline{font-size:18px;grid-area:headline;line-height:23px;text-align:center}@media (min-width:768px){.ergo-adhop__ekomiSeals__headline{font-size:20px;line-height:26px}}.ergo-adhop__ekomiSeals__wrapper{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.ergo-adhop__ekomiSeals__rating{flex:0 0 412px;max-width:100%;text-align:left}.ergo-adhop__ekomiSeals__rating-seal{display:flex;gap:16px;margin-bottom:0;margin-right:21px}@media (max-width:479px){.ergo-adhop__ekomiSeals__rating-seal{align-items:center;flex-direction:column;text-align:center}}.ergo-adhop__ekomiSeals__rating-seal__container-text{font-size:12px;line-height:18px}@media (max-width:479px){.ergo-adhop__ekomiSeals__rating .ergo-adhop__ratingStars{justify-content:center}}.ergo-adhop__ekomiSeals__rating .ergo-adhop__ratingStars__stars__text-rating{font-size:26px}.ergo-adhop__ekomiSeals__seals{display:flex;gap:24px;justify-content:center}.ergo-adhop__ekomiSeals__seals img{width:170px}.ergo-adhop__ekomiSeals__cta{font-size:14px}.ergo-adhop__ekomiSeals__cta a{color:var(--theme-primary,#8e0038);text-decoration:none}@media (max-width:479px){.ergo-adhop__ekomiSeals{padding-left:24px;padding-right:24px}}.featuredProducts__content__wrapper{margin-left:calc(50% - 50vw);max-width:100vw;width:100vw}.featuredProducts__content{align-items:center;display:flex;flex-flow:column wrap;gap:24px;justify-content:center;padding-left:16px;padding-right:16px}@media screen and (min-width:768px){.featuredProducts__content{align-items:normal;flex-direction:row;margin:0 auto;max-width:1182px;padding:0}}.featuredProducts__content>div,.featuredProducts__content>div>div{max-width:378px;width:100%}@media screen and (min-width:768px){.featuredProducts__content .ergo-adhop__featured-product-teaser,.featuredProducts__content .ergo-adhop__featuredProductTeaser,.featuredProducts__content .ergo-adhop__featuredProductTeaser div[data-theme],.featuredProducts__content .ergo-adhop__featuredProductTeaser div[data-theme]>div{height:100%}}.ergo-adhop__featuredProductTeaser{background-color:var(--theme-white,#fff);border-radius:4px;box-shadow:0 2px 3px 0 rgba(var(--theme-black-rgb),.15);transition:box-shadow .3s;width:100%}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser{max-width:378px;min-height:448px}}.ergo-adhop__featuredProductTeaser:hover{box-shadow:0 10px 22px 2px rgba(var(--theme-black-rgb),.25)}.ergo-adhop__featuredProductTeaser .ergo-adhop__button__component{height:100%;position:relative;width:100%}.ergo-adhop__featuredProductTeaser .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link{align-items:flex-start;color:var(--theme-darkest-gray,#333);display:flex;flex-flow:column wrap;font-weight:400;height:100%;width:100%}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__image{aspect-ratio:3/2;margin:0;max-height:252px;overflow:visible;position:relative;width:100%}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__image img{aspect-ratio:3/2;border-radius:4px 4px 0 0;height:100%;object-fit:cover;width:100%}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__best_deal{border-radius:4px 0;color:var(--theme-white,#fff);display:inline-flex;font-size:12px;font-weight:700;left:0;line-height:12px;padding:5px 12px;position:absolute;top:0;z-index:1}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__best_deal{font-size:14px;line-height:14px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__content{padding:24px;width:100%}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__content{display:flex;flex:1;flex-flow:column wrap;height:calc(100% - 252px);justify-content:space-between;min-height:201px;padding:32px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__content .ergo-adhop__button__component{margin-top:34px}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__headline{display:block;font-size:18px;font-weight:700;-webkit-hyphens:auto;hyphens:auto;line-height:23px;margin:0 0 16px;overflow-wrap:break-word;text-align:left;word-break:break-word}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__headline{font-size:20px;line-height:27px;margin-bottom:24px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__description{display:none;margin:0}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__description{display:block;font-size:16px;line-height:24px;text-align:left}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper{align-items:baseline;display:flex;flex-wrap:wrap}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper{padding-top:18px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price,.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price__text{display:inline-flex}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price:not(:last-child),.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price__text:not(:last-child){margin-right:8px}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price:not(:last-child),.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price__text:not(:last-child){margin-right:6px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price__text{font-size:14px;line-height:20px}@media screen and (min-width:768px){.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price__text{font-size:16px;line-height:24px}}.ergo-adhop__featuredProductTeaser .ergo-adhop__featuredProductTeaser__price__wrapper .ergo-adhop__featuredProductTeaser__price{font-size:28px;font-weight:700;line-height:36px}.ergo-adhop__firstContactInfo .ergo-adhop__firstContactInfo__headline{color:var(--theme-darkest-gray,#333);display:block;font-size:18px;font-weight:700;line-height:27px;margin:10px 0 30px;text-align:center}@media screen and (min-width:768px){.ergo-adhop__firstContactInfo .ergo-adhop__firstContactInfo__headline{font-size:24px;line-height:40px;margin-bottom:35px;text-align:left}}.ergo-adhop__firstContactInfo .adhop__team-employee-tile{align-items:center;display:flex;flex-flow:column wrap;margin:0 0 25px;padding:0;width:auto}@media screen and (min-width:768px){.ergo-adhop__firstContactInfo .adhop__team-employee-tile{flex-direction:row}}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description{align-self:flex-start;display:block;margin-top:34px;text-align:left}@media screen and (min-width:768px){.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description{align-self:center;margin-left:44px;margin-top:0}}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description .ergo-adhop__button--text-link{font-size:14px;line-height:26px}@media screen and (min-width:768px){.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description .ergo-adhop__button--text-link{font-size:16px;line-height:29px}}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description div>span,.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description p{color:var(--theme-darkest-gray,#333);font-size:14px;line-height:26px}@media screen and (min-width:768px){.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description div>span,.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description p{font-size:16px;line-height:29px}}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description div>span.adhop__team-employee-tile__name,.ergo-adhop__firstContactInfo .adhop__team-employee-tile__description.adhop__team-employee-tile__description p.adhop__team-employee-tile__name{font-size:18px;line-height:24px}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__picture.adhop__team-employee-tile__picture{margin-bottom:0}.ergo-adhop__firstContactInfo .adhop__team-employee-tile__contact.adhop__team-employee-tile__contact{margin-top:0}@media screen and (min-width:768px){.ergo-adhop__focus{margin:0 -12px}}.ergo-adhop__focus .ergo-adhop__focus__wrapper{display:flex;flex-wrap:wrap;padding:24px 0;width:100%}@media screen and (min-width:768px){.ergo-adhop__focus .ergo-adhop__focus__wrapper{padding:0}.ergo-adhop__focus .ergo-adhop__focus__content__left,.ergo-adhop__focus .ergo-adhop__focus__content__right{padding:0 12px}}.ergo-adhop__focus .ergo-adhop__focus__content__right{display:none}@media screen and (min-width:768px){.ergo-adhop__focus .ergo-adhop__focus__content__right{display:block;width:58%}}.ergo-adhop__focus .ergo-adhop__focus__content__left{width:100%}@media screen and (min-width:768px){.ergo-adhop__focus .ergo-adhop__focus__content__left{align-self:center;padding:24px 12px;width:42%}}.ergo-adhop__focus .ergo-adhop__focus__headline{font-size:20px;line-height:30px;margin:0 0 20px}@media screen and (min-width:768px){.ergo-adhop__focus .ergo-adhop__focus__headline{font-size:24px;line-height:40px;margin-bottom:40px}}.ergo-adhop__focus .ergo-adhop__focus__image{height:100%}.ergo-adhop__focus .ergo-adhop__focus__image img{height:100%;object-fit:cover;width:100%}.ergo-adhop__footerColumn{width:100%}@media screen and (min-width:768px){.ergo-adhop__footerColumn{width:25%}}.ergo-adhop__footerColumn:empty{display:none}@media screen and (min-width:768px){.ergo-adhop__footerColumn:nth-child(3){width:calc(50% - 20px)}}.ergo-adhop__footerColumn:nth-child(3) .ergo-adhop__footerColumn__links{display:flex;flex-wrap:wrap;justify-content:space-between}@media screen and (min-width:480px){.ergo-adhop__footerColumn:nth-child(3) .ergo-adhop__footerColumn__links{gap:0 10px}}.ergo-adhop__footerColumn:nth-child(3) .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item{width:100%}@media screen and (min-width:480px){.ergo-adhop__footerColumn:nth-child(3) .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item{width:calc(50% - 5px)}}.ergo-adhop__footerColumn .ergo-adhop__footerColumn__header{display:block;font-size:16px;font-weight:700;line-height:32px;padding-bottom:20px;padding-top:20px}@media screen and (min-width:768px){.ergo-adhop__footerColumn .ergo-adhop__footerColumn__header{font-size:20px;line-height:38px;padding-bottom:15px;padding-top:30px}}.ergo-adhop__footerColumn .ergo-adhop__footerColumn__links{list-style:none;margin:0;padding:0}.ergo-adhop__footerColumn .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item{padding-bottom:4px;padding-top:4px}.ergo-adhop__footerColumn .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item .ergo-adhop__footerColumn__links__link{color:var(--theme-darkest-gray,#333);font-weight:400;text-align:left;transition:color .3s ease-in-out}.ergo-adhop__footerColumn .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item .ergo-adhop__footerColumn__links__link:focus,.ergo-adhop__footerColumn .ergo-adhop__footerColumn__links .ergo-adhop__footerColumn__links__item .ergo-adhop__footerColumn__links__link:hover{color:var(--theme-primary,#8e0038)}.ergo-adhop__footerColumns{display:flex;flex-wrap:wrap;gap:10px;margin:48px auto 24px;max-width:1440px;padding-left:24px;padding-right:24px;width:100%}.ergo-adhop__headline{text-align:center;width:100%}.campaigns .ergo-adhop__headline{margin-bottom:15px}@media screen and (min-width:768px){.campaigns .ergo-adhop__headline{margin-bottom:5px}.campaigns .ergo-adhop__headline .ergo-adhop__headline__title{display:inline-flex;max-width:440px}}.contactTeaser .ergo-adhop__headline .ergo-adhop__headline__title{margin-bottom:0}.ergo-adhop__headline .header{color:#5e5b5d;display:block;font-size:12px;font-weight:700;line-height:20px;text-transform:uppercase}@media screen and (min-width:768px){.ergo-adhop__headline .header{font-size:16px;letter-spacing:.75px;line-height:24px}}.ergo-adhop__headline .ergo-adhop__headline__title{color:var(--theme-darkest-gray,#333);display:block;font-size:16px;font-weight:700;line-height:24px;margin-top:8px}@media screen and (min-width:768px){.ergo-adhop__headline .ergo-adhop__headline__title{font-size:24px;line-height:40px}}.ergo-adhop__headline .ergo-adhop__headline__title:only-child{margin-top:0}.ergo-adhop__hotline{display:flex;flex-wrap:wrap;margin:0 auto;max-width:870px;padding-top:30px;width:100%}@media screen and (min-width:768px){.ergo-adhop__hotline{flex-direction:row;padding-top:0}}.ergo-adhop__hotline .ergo-adhop__hotline__content__left,.ergo-adhop__hotline .ergo-adhop__hotline__content__right{width:100%}@media screen and (min-width:768px){.ergo-adhop__hotline .ergo-adhop__hotline__content__left,.ergo-adhop__hotline .ergo-adhop__hotline__content__right{max-width:50%;padding-right:15px}}.ergo-adhop__hotline .ergo-adhop__hotline__content__right{padding-bottom:25px;padding-top:25px}@media screen and (min-width:768px){.ergo-adhop__hotline .ergo-adhop__hotline__content__right{display:flex;flex-flow:column wrap;justify-content:center;padding-left:15px;padding-right:0}}.ergo-adhop__hotline .ergo-adhop__hotline__content__right>:last-child{margin-bottom:0}.ergo-adhop__hotline .ergo-adhop__hotline__image{aspect-ratio:1;height:100%}.ergo-adhop__hotline .ergo-adhop__hotline__image img{aspect-ratio:1;height:100%;object-fit:cover;width:100%}.ergo-adhop__hotline .ergo-adhop__hotline__title{display:block;font-size:20px;font-weight:700;line-height:30px;margin-bottom:15px}@media screen and (min-width:768px){.ergo-adhop__hotline .ergo-adhop__hotline__title{font-size:24px;line-height:40px;margin-bottom:20px}}.ergo-adhop__hotline .ergo-adhop__hotline__description{margin-bottom:24px}.ergo-adhop__hotline .ergo-adhop__hotline__description p{line-height:24px;margin:0}@media screen and (max-width:767px){.ergo-adhop__hotline .ergo-adhop__hotline__description p{font-size:14px;line-height:21px}}.ergo-adhop__hotline .ergo-adhop__hotline__number{display:flex;margin-bottom:20px}.ergo-adhop__hotline .ergo-adhop__hotline__number.primaryNumber svg{height:32px;width:32px}@media screen and (min-width:768px){.ergo-adhop__hotline .ergo-adhop__hotline__number.primaryNumber svg{height:40px;width:40px}}.ergo-adhop__hotline .ergo-adhop__hotline__number.primaryNumber .ergo-adhop__sml__icon__text{font-size:18px;font-weight:700;line-height:27px}@media screen and (min-width:768px){.ergo-adhop__hotline .ergo-adhop__hotline__number.primaryNumber .ergo-adhop__sml__icon__text{font-size:20px;line-height:38px;padding-top:7px}}.ergo-adhop__hotline .ergo-adhop__hotline__number .ergo-adhop__hotline__number__text{margin-left:10px}@media screen and (max-width:767px){.ergo-adhop__hotline .ergo-adhop__hotline__number .ergo-adhop__hotline__number__text{padding-top:2px}}.ergo-adhop__hotline .ergo-adhop__hotline__number svg{height:21px;width:21px}@media screen and (max-width:767px){.ergo-adhop__hotline .ergo-adhop__hotline__location,.ergo-adhop__hotline .ergo-adhop__hotline__number{font-size:14px}}.ergo-adhop__hotline .ergo-adhop__hotline__location{margin-bottom:5px}.ergo-adhop__hotline .ergo-adhop__button{font-weight:400}.react-svg-icon{line-height:0}.react-svg-icon svg{fill:currentColor}.ergo-adhop__iframe{display:flex;min-height:400px;position:relative}.ergo-adhop__iframe:not(.with-pym-iframe) iframe{height:100%}.ergo-adhop__iframe .adhop-ergo__content-loader{height:100%;left:0;position:absolute;top:0;width:100%}.ergo-adhop__iframe .ergo-adhop__iframe__container{position:relative;width:100%}.ergo-adhop__iframe .ergo-adhop__iframe__container iframe{position:relative;transition:height .3s ease-in-out;width:100%}.adhop-ergo__image{display:block;height:auto;max-width:100%}.adhop-ergo__fallback__image{display:block;height:100%;object-fit:cover;width:100%}@keyframes react-loading-skeleton{to{transform:translateX(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);border-radius:.25rem;display:inline-flex;line-height:1;overflow:hidden;position:relative;width:100%;z-index:1}.react-loading-skeleton:after{animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-iteration-count:infinite;animation-name:react-loading-skeleton;animation-timing-function:ease-in-out;background-image:linear-gradient(90deg,var(--base-color),var(--highlight-color),var(--base-color));background-repeat:no-repeat;content:" ";display:var(--pseudo-element-display);transform:translateX(-100%)}.adhop-ergo__loader,.react-loading-skeleton:after{height:100%;left:0;position:absolute;right:0;top:0}.adhop-ergo__loader span{display:block;height:100%;width:100%}.ergo-adhop__imageSlider__slide{padding-left:5px;padding-right:5px;width:100%}.ergo-adhop__imageSlider__slide figure{aspect-ratio:16/9;margin:0 auto 24px;max-width:720px;width:100%}@media screen and (min-width:768px){.ergo-adhop__imageSlider__slide figure{margin-bottom:16px}}.ergo-adhop__imageSlider__slide figure img{aspect-ratio:16/9;border-radius:8px;height:100%;width:100%}.ergo-adhop__imageSlider__slide .ergo-adhop__imageSlider__slide__caption{color:#5e5b5d;display:block;font-size:14px;line-height:22px;white-space:pre-wrap}.ergo-adhop__imageSlider .ergo-adhop__imageSlider__counter{color:var(--theme-darkest-gray,#333);display:flex;font-size:14px;justify-content:center;line-height:22px;margin-bottom:24px}@media screen and (min-width:768px){.ergo-adhop__imageSlider .ergo-adhop__imageSlider__counter{margin-bottom:16px}}.ergo-adhop__imageSlider .slick-slider{padding-left:12px;padding-right:12px}@media screen and (min-width:768px){.ergo-adhop__imageSlider .slick-slider{padding-left:19px;padding-right:19px}}.ergo-adhop__imageSlider .slick-next,.ergo-adhop__imageSlider .slick-prev{top:calc(25vw - 24px)}@media screen and (min-width:912px){.ergo-adhop__imageSlider .slick-next,.ergo-adhop__imageSlider .slick-prev{top:202px}}figure{margin:0;overflow:hidden;position:relative}figure picture{display:block;height:100%;width:100%}figure img{display:block;height:auto;max-width:100%}.ergo-adhop__legal-data.bold{font-weight:600}.ergo-adhop__legal-data.vertical .ergo-adhop__legal-data__item{display:block}.ergo-adhop__locationSwitch--narrow .ergo-adhop__locationSwitch__list-container,.ergo-adhop__locationSwitch--narrow .slick-slider,.ergo-adhop__locationSwitch--wide .ergo-adhop__locationSwitch__list-container,.ergo-adhop__locationSwitch--wide .slick-slider,.location-switch .ergo-adhop__locationSwitch__list-container,.location-switch .slick-slider{margin-left:-11px;margin-right:-11px}.ergo-adhop__locationSwitch--narrow .ergo-adhop__modal__closer,.ergo-adhop__locationSwitch--wide .ergo-adhop__modal__closer,.location-switch .ergo-adhop__modal__closer{margin-right:-14px}.ergo-adhop__locationSwitch--narrow .slick-slider .slick-dots,.ergo-adhop__locationSwitch--wide .slick-slider .slick-dots,.location-switch .slick-slider .slick-dots{margin-bottom:10px;margin-top:30px}.ergo-adhop__locationSwitch--narrow .slick-slide,.ergo-adhop__locationSwitch--wide .slick-slide,.location-switch .slick-slide{width:100%}.ergo-adhop__locationSwitch--narrow .slick-slide>div,.ergo-adhop__locationSwitch--wide .slick-slide>div,.location-switch .slick-slide>div{display:flex;height:100%}.ergo-adhop__locationSwitch--narrow .slick-arrow--custom.slick-prev,.ergo-adhop__locationSwitch--wide .slick-arrow--custom.slick-prev,.location-switch .slick-arrow--custom.slick-prev{left:-6px}@media screen and (min-width:912px){.ergo-adhop__locationSwitch--narrow .slick-arrow--custom.slick-prev,.ergo-adhop__locationSwitch--wide .slick-arrow--custom.slick-prev,.location-switch .slick-arrow--custom.slick-prev{left:-12px}}.ergo-adhop__locationSwitch--narrow .slick-arrow--custom.slick-next,.ergo-adhop__locationSwitch--wide .slick-arrow--custom.slick-next,.location-switch .slick-arrow--custom.slick-next{left:calc(100% + 6px)}@media screen and (min-width:912px){.ergo-adhop__locationSwitch--narrow .slick-arrow--custom.slick-next,.ergo-adhop__locationSwitch--wide .slick-arrow--custom.slick-next,.location-switch .slick-arrow--custom.slick-next{left:calc(100% + 12px)}}.ergo-adhop__locationSwitch__image-container{aspect-ratio:1;border-radius:8px;display:inline-flex;flex-wrap:wrap;height:120px;max-width:100%;position:relative;width:120px}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__image-container{height:175px;width:100%}}.ergo-adhop__locationSwitch__image-container img{height:100%;margin:0;object-fit:cover;width:100%}.ergo-adhop__locationSwitch__list-container{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:6px 0 0;row-gap:36px}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__list-container{flex-wrap:nowrap;padding:0 0 24px}}.ergo-adhop__locationSwitch__list-item{background-color:var(--theme-white,#fff);padding:0 12px;width:100%}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__list-item{display:flex;flex-flow:column wrap;flex-grow:1;overflow:hidden}}.slick-slider .ergo-adhop__locationSwitch__list-item{display:flex!important}.ergo-adhop__locationSwitch__list-item .ergo-adhop__button--wrapper{align-items:flex-start;display:flex;flex-wrap:wrap;position:relative;text-align:left}@media screen and (max-width:480px){.ergo-adhop__locationSwitch__list-item .ergo-adhop__button--wrapper.ergo-adhop__button--disabled:before{border:1px solid var(--theme-primary,#8e0038);border-radius:8px;content:"";display:block;height:calc(100% + 6px);left:-4px;position:absolute;top:-4px;width:calc(100% + 6px)}}.ergo-adhop__locationSwitch__description{align-items:center;display:flex;flex-flow:column wrap;justify-content:space-between;max-width:calc(100% - 120px);padding-left:16px;width:100vw}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__description{height:calc(100% - 175px);max-width:100%;padding-left:0;text-align:center}}.ergo-adhop__locationSwitch__description address{color:var(--theme-darkest-gray,#333);font-style:normal;padding-top:4px;width:100%}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__description address{margin:25px 0;padding-top:0}}.ergo-adhop__locationSwitch__description p{font-size:14px;line-height:22px;margin-bottom:0}@media screen and (max-width:480px){.ergo-adhop__locationSwitch__description p{margin-top:5px}}@media screen and (min-width:480px){.ergo-adhop__locationSwitch__description p{font-size:16px}}.ergo-adhop__locationSwitch__description h4{font-size:18px;margin:0}.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{max-width:100%;width:100%}.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog .ergo-adhop__modal__body{padding-left:64px;padding-right:64px}@media screen and (min-width:768px){.ergo-adhop__locationSwitch--narrow .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog,.ergo-adhop__locationSwitch--wide .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{width:568px}.ergo-adhop__locationSwitch--narrow .ergo-adhop__locationSwitch__list-container,.ergo-adhop__locationSwitch--wide .ergo-adhop__locationSwitch__list-container{width:544px}.ergo-adhop__locationSwitch--narrow.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog,.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{max-width:728px;width:728px}.ergo-adhop__locationSwitch--narrow.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__description,.ergo-adhop__locationSwitch--narrow.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__image-container,.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__description,.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__image-container{max-width:270px}.ergo-adhop__locationSwitch__image-container{height:140px}.ergo-adhop__locationSwitch__description{height:calc(100% - 140px)}}@media screen and (min-width:912px){.ergo-adhop__locationSwitch--narrow .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{width:588px}.ergo-adhop__locationSwitch--narrow .ergo-adhop__locationSwitch__list-container{width:564px}.ergo-adhop__locationSwitch--wide .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{width:870px}.ergo-adhop__locationSwitch--wide .ergo-adhop__locationSwitch__list-container{width:846px}.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{max-width:832px;width:832px}.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__description,.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__image-container{max-width:314px}.ergo-adhop__locationSwitch__image-container{height:164px}.ergo-adhop__locationSwitch__description{height:calc(100% - 164px)}}@media screen and (min-width:1152px){.ergo-adhop__locationSwitch--narrow .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{width:652px}.ergo-adhop__locationSwitch--narrow .ergo-adhop__locationSwitch__list-container{width:628px}.ergo-adhop__locationSwitch--wide .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{width:966px}.ergo-adhop__locationSwitch--wide .ergo-adhop__locationSwitch__list-container{width:942px}.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__modal__dialog.ergo-adhop__modal__dialog{max-width:1076px;width:1076px}.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__description,.ergo-adhop__locationSwitch--wide.ergo-adhop__locationSwitch--with-carousel .ergo-adhop__locationSwitch__image-container{max-width:283px}}.ergo-adhop__megaFooter{display:none;margin:10px auto 0;max-width:1440px;padding-left:24px;padding-right:24px;width:100%}.aem-AuthorLayer-Preview .ergo-adhop__megaFooter{display:none}.ergo-adhop__modal .ergo-adhop__megaFooter{display:block;padding:0}.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links{-moz-column-count:1;column-count:1;-moz-column-gap:20px;column-gap:20px;list-style:none;margin:0;padding:0}@media screen and (min-width:480px){.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links{-moz-column-count:2;column-count:2}}@media screen and (min-width:768px){.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links{-moz-column-count:4;column-count:4}}.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links .ergo-adhop__megaFooter__links__item{margin-bottom:0;padding:10px 0}.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links .ergo-adhop__button__component{line-height:1}.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link{color:var(--theme-darkest-gray,#333);font-size:14px;font-weight:400;line-height:20px;text-align:left;text-decoration:none;transition:color .3s ease-in-out}.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link:focus,.ergo-adhop__megaFooter .ergo-adhop__megaFooter__links .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link:hover{color:var(--theme-primary,#8e0038)}.ergo-adhop__modal{background-color:rgba(var(--theme-black-rgb),.4);display:none;height:100%;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:10000}.ergo-adhop__modal.ergo-adhop__modal-show{display:flex}@media screen and (max-width:480px){.ergo-adhop__modal.otb-modal{padding:0}.ergo-adhop__modal.otb-modal .ergo-adhop__modal__content{padding-left:0;padding-right:0}}.ergo-adhop__modal .ergo-adhop__modal__dialog__wrapper{display:flex;flex:1;height:100%;max-width:100%}.ergo-adhop__modal .ergo-adhop__modal__dialog{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:auto;max-height:100%;max-width:968px;width:100%}.ergo-adhop__modal .ergo-adhop__modal__content{background-color:var(--theme-white,#fff);border:1px solid #c9c5c7;border-radius:0 0 8px 8px;border-top:0;overflow:auto;padding:0 16px 24px;width:100%}@media screen and (min-width:912px){.ergo-adhop__modal .ergo-adhop__modal__content{padding-left:24px;padding-right:24px}}.ergo-adhop__modal .ergo-adhop__modal__header{align-items:center;background-color:var(--theme-white,#fff);border:1px solid #c9c5c7;border-bottom:0;border-radius:8px 8px 0 0;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:24px 16px 15px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1}@media screen and (min-width:912px){.ergo-adhop__modal .ergo-adhop__modal__header{padding:24px 24px 20px}}.ergo-adhop__modal .ergo-adhop__modal__header .ergo-adhop__modal__title{color:var(--theme-darkest-gray,#333);flex:1;font-size:18px;font-weight:700;line-height:27px;padding-right:20px}@media screen and (min-width:912px){.ergo-adhop__modal .ergo-adhop__modal__header .ergo-adhop__modal__title{font-size:20px;line-height:30px}}.ergo-adhop__modal .ergo-adhop__modal__header .ergo-adhop__button.ergo-adhop__modal__closer{color:var(--theme-darkest-gray,#333)}.ergo-adhop__navigation__panel{-webkit-overflow-scrolling:touch;bottom:0;cursor:default;left:-100%;opacity:0;overflow:visible;overflow-y:auto;padding-top:32px;position:absolute;top:64px;transition:left .3s ease 0s;visibility:hidden;width:100%;z-index:2}@media screen and (min-width:912px){.ergo-adhop__navigation__panel{padding-top:48px;top:72px}}.ergo-adhop__navigation__panel.is-open{left:0;opacity:1;visibility:visible}.ergo-adhop__navigation__sidebar{background-color:rgba(var(--theme-black-rgb),0);bottom:100%;left:0;overflow:hidden;overscroll-behavior:contain;position:fixed;right:0;top:0;transition:bottom 0s ease .45s,background-color .3s ease .15s;z-index:9999}.ergo-adhop__navigation__sidebar.ergo-adhop__navigation__sidebar--open{background-color:rgba(var(--theme-black-rgb),.8);bottom:0;transition-delay:0s}.ergo-adhop__navigation__sidebar.ergo-adhop__navigation__sidebar--open .ergo-adhop__navigation__sidebar__content{transform:translateZ(0)}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__content{background:var(--theme-white,#fff);inset:0;max-width:432px;min-width:200px;overflow:auto;position:fixed;transform:translate3d(-100%,0,0);width:100%}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header{align-items:center;background:var(--theme-primary,#8e0038);color:var(--theme-white,#fff);display:flex;height:64px;justify-content:space-between;width:100%}@media screen and (min-width:912px){.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header{height:72px}}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__navigation__sidebar__header__title{font-size:14px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:912px){.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__navigation__sidebar__header__title{font-size:16px}}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__button__component{height:100%}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link{color:inherit;font-size:16px;height:100%;line-height:16px;width:auto}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__navigation__sidebar__back{padding-left:24px}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__sidebar__header .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link.ergo-adhop__navigation__sidebar__closer{padding-right:24px}.ergo-adhop__navigation__sidebar .ergo-adhop__navigation__backdrop{background:rgba(3,2,1,0);bottom:0;max-width:calc(100% - 200px);min-width:calc(100% - 432px);position:absolute;right:0;top:0;width:0}.ergo-adhop__navigationTeaser{border-top:1px solid var(--theme-light-gray,#d9d9d9);display:flex;gap:15px;padding:48px 48px 48px 60px}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__icon{margin-left:-35px}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__content{flex:1}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__content p{margin-bottom:4px;margin-top:0}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__content p.ergo-adhop__navigationTeaser__description{line-height:20px}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__cta__wrapper{padding-top:20px}.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__cta__wrapper .ergo-adhop__button__component:not(:last-child){margin-bottom:24px}@media screen and (min-width:1152px){.ergo-adhop__navigationTeaser .ergo-adhop__navigationTeaser__cta__wrapper .ergo-adhop__button__component .ergo-adhop__button{font-size:16px;line-height:16px}}.ergo-adhop__openingHours .ergo-adhop__openingHours__title{display:block;font-size:20px;font-weight:700;line-height:30px;margin-bottom:24px}.ergo-adhop__openingHours .txt{font-size:14px;line-height:21px}.ergo-adhop__openingHours .ergo-adhop__openingHours__opening-list{list-style:none;margin:14px 0;padding:0}.ergo-adhop__openingHours .ergo-adhop__openingHours__opening-list li{display:flex;font-size:14px;line-height:21px}.ergo-adhop__openingHours .ergo-adhop__openingHours__opening-list li span:first-child{flex:0 0 33px;width:33px}.ergo-adhop__contactBar__overlay .ergo-adhop__openingHours{max-width:426px;padding:30px;width:100%}@media screen and (min-width:1440px){.ergo-adhop__contactBar__overlay .ergo-adhop__openingHours{width:426px}}.ergo-adhop__productDisclaimer{margin:30px auto;max-width:870px;width:100%}@media screen and (max-width:911px){.ergo-adhop__productDisclaimer{padding:0 12px}}.ergo-adhop__productDisclaimer .ergo-adhop__productDisclaimer__header{padding-top:20px}.ergo-adhop__productDisclaimer .ergo-adhop__productDisclaimer__body>div{padding:10px 0 5px}.ergo-adhop__productDisclaimer .ergo-adhop__productDisclaimer__body>div p{margin:0}.ergo-adhop__productDisclaimer .ergo-adhop__headline{text-align:left}.ergo-adhop__productDisclaimer .ergo-adhop__headline .header{color:#bdbdbd;font-size:16px}.ergo-adhop__productDisclaimer .ergo-adhop__headline .ergo-adhop__headline__title{font-size:20px;line-height:30px;margin:0 0 20px}.ergo-adhop__productDisclaimer .ergo-adhop__button--text-link{font-weight:400}.productDisclaimerContainer .caPageElement>.aem-Grid{display:contents}.productDisclaimerContainer .caPageElement>.aem-Grid>.productdisclaimer{border:0}.proposition-item{display:flex;flex-wrap:wrap;margin-bottom:30px;width:100%}@media screen and (min-width:768px){.proposition-item{margin-bottom:12px}}.proposition-item:not(.with-description){align-items:center}.proposition-item:last-child{margin-bottom:0}.proposition-item .proposition-item-icon{max-height:34px}.proposition-item .proposition-content{max-width:calc(100% - 35px);padding-left:20px;width:100%}@media screen and (min-width:768px){.proposition-item .proposition-content{padding-left:30px}}.proposition-item .proposition-content .proposition-item-headline{font-size:18px;line-height:21px;margin:5px 0 0}@media screen and (min-width:768px){.proposition-item .proposition-content .proposition-item-headline{font-size:18px;line-height:27px;margin-top:0}}.proposition-item .proposition-content .proposition-item-description{font-size:14px;line-height:21px;margin:18px 0 0}@media screen and (min-width:768px){.proposition-item .proposition-content .proposition-item-description{margin-top:8px}}.ergo-adhop__ratingItem .ergo-adhop__ratingItem__title{font-size:16px;line-height:20px;margin:0 0 5px;text-align:left}.ergo-adhop__ratingItem .ergo-adhop__ratingItem__text{margin:5px 0 0}.ergo-adhop__ratingItem .ergo-adhop__ratingItem__text p{font-size:12px;line-height:14px;margin-bottom:12px;margin-top:12px}.ergo-adhop__ratingItem .ergo-adhop__button.ergo-adhop__button--text-link{font-size:12px;font-weight:400}.ergo-adhop__ratingStars{align-items:center;display:flex;gap:10px;width:100%}.ergo-adhop__ratingStars .ergo-adhop__ratingStars__stars__wrapper{position:relative}.ergo-adhop__ratingStars .ergo-adhop__ratingStars__stars,.ergo-adhop__ratingStars .ergo-adhop__ratingStars__stars-filled{color:var(--theme-light-gray,#d9d9d9);display:flex;left:0;overflow:hidden;position:absolute;z-index:0}.ergo-adhop__ratingStars .ergo-adhop__ratingStars__stars-filled{color:var(--theme-additional-4,#f6cb00);z-index:1}.ergo-adhop__ratingStars .ergo-adhop__ratingStars__stars__text{font-weight:600}.ergo-adhop__ratingValue{display:flex}.ergo-adhop__ratingValue.ergo-adhop__ratingValue--circle{flex-direction:column}.ergo-adhop__ratingValue .ergo-adhop__ratingValue__circle{align-items:center;background-color:#4a66ad;border-radius:100%;color:var(--theme-white,#fff);display:flex;font-size:20px;font-weight:600;height:60px;justify-content:center;margin-bottom:10px;width:60px}.ergo-adhop__ratingValue .ergo-adhop__ratingValue__text{align-items:center;display:flex;font-weight:600;gap:4px}@media screen and (max-width:767px){.ergo-adhop__ratingValue .ergo-adhop__ratingValue__text{font-size:14px}}.ergo-adhop__simple__description{margin:0;white-space:pre-line}.ergo-adhop__video{margin:0}.ergo-adhop__video.ergo-adhop__video--consent-overflowed .ergo-adhop__video__consent__description{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;
  /*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ergo-adhop__video .ergo-adhop__video_iframe__wrapper{aspect-ratio:16/9;position:relative}.ergo-adhop__video iframe{aspect-ratio:16/9;border:0;display:block;height:100%;width:100%}.ergo-adhop__video .ergo-adhop__video__caption{color:var(--theme-darkest-gray,#333);display:block;font-size:12px;line-height:13px;margin-top:12px}.ergo-adhop__video .ergo-adhop__video__consent__overlay .adhop-ergo__image{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:0}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__video__consent__overlay__inner{align-content:center;background:rgba(var(--theme-darkest-gray-rgb),.8);color:var(--theme-white,#fff);display:flex;flex-wrap:wrap;height:100%;justify-content:center;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:1}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__video__consent__overlay__inner .ergo-adhop__video__consent__overlay__inner__content{padding:66px 16px}@media screen and (min-width:768px){.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__video__consent__overlay__inner .ergo-adhop__video__consent__overlay__inner__content{padding-left:60px;padding-right:60px}}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__video__consent__description{color:var(--theme-white,#fff)}@media screen and (max-width:767px){.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__video__consent__description{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;
    /*! autoprefixer: ignore next */-webkit-box-orient:vertical}}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__button__component{width:100%}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__button.ergo-adhop__video__consent__readMore__cta{color:var(--theme-white,#fff);font-size:12px;font-weight:400;line-height:12px;text-decoration:underline}.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__button--primary{margin-top:24px}@media screen and (min-width:768px){.ergo-adhop__video .ergo-adhop__video__consent__overlay .ergo-adhop__button--primary{margin-top:32px}}.ergo-adhop__video .ergo-adhop__button--primary{border-radius:12px}@media screen and (max-width:767px){.ergo-adhop__video__consent{text-align:center}}.ergo-adhop__video__consent .ergo-adhop__video__consent__title{font-size:16px;line-height:32px;margin-bottom:8px;margin-top:0}@media screen and (min-width:768px){.ergo-adhop__video__consent .ergo-adhop__video__consent__title{font-size:20px;line-height:30px}}.ergo-adhop__video__consent .ergo-adhop__video__consent__description{font-size:12px;line-height:18px;margin-bottom:0;margin-top:0}.ergo-adhop__video__consent__modal .ergo-adhop__modal__content{padding:24px}.ergo-adhop__video__consent__modal .ergo-adhop__video__consent{text-align:left}.ergo-adhop__video__consent__modal .ergo-adhop__video__consent__title{margin-bottom:16px}.ergo-adhop__video__consent__modal .ergo-adhop__modal__closer{margin-right:-10px}.ergo-adhop__video__consent__modal .ergo-adhop__button--primary{border-radius:12px;margin-top:32px}.ergo-adhop__video__consent__modal .ergo-adhop__button--text-link:not(.ergo-adhop__modal__closer){margin-top:16px}.socialMediaAndLinks{background-color:var(--theme-primary,#8e0038)}.ergo-adhop__socialMediaAndLinks{color:var(--theme-white,#fff);display:flex;flex-flow:column wrap;gap:24px;margin:0 auto;max-width:1440px;padding:24px;width:100%}@media screen and (min-width:768px){.ergo-adhop__socialMediaAndLinks{align-items:center;flex-direction:row;justify-content:space-between}}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__list{gap:20px}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__item .ergo-adhop__socialMediaLinks__link{padding:2px}.ergo-adhop__socialMediaAndLinks svg{fill:var(--theme-white,#fff)}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links{align-items:center;display:flex;gap:10px;list-style:none;margin:0;padding:0}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links .ergo-adhop__socialMediaAndLinks__links__item:not(:last-child){border-right:1px solid var(--theme-white,#fff);padding-right:10px}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links .ergo-adhop__button__component{line-height:1}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links .ergo-adhop__button--text-link{color:var(--theme-white,#fff);font-size:14px;font-weight:400;line-height:14px}@media screen and (min-width:768px){.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links .ergo-adhop__button--text-link{font-size:16px;line-height:16px}}.ergo-adhop__socialMediaAndLinks .ergo-adhop__socialMediaAndLinks__links .ergo-adhop__button--text-link .ergo-adhop__button__text{position:static}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__headline{font-size:18px;margin-bottom:10px}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__list{align-items:center;display:flex;flex-wrap:wrap;gap:30px;list-style:none;margin:0;padding:0}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__item{line-height:1}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__link{align-items:center;color:inherit;display:inline-flex;font-size:14px;text-decoration:none}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__icon svg{display:block}.ergo-adhop__socialMediaLinks .ergo-adhop__socialMediaLinks__anchor{margin-left:10px}.adhop__team-employee-tile{margin:0 auto 82px;padding:0;text-align:center;width:200px}@media screen and (min-width:768px){.adhop__team-employee-tile{width:248px}}.adhop__team-employee-tile .adhop__team-employee-tile__picture{display:inline-block;height:172px;margin:0 0 15px;width:172px}@media screen and (min-width:768px){.adhop__team-employee-tile .adhop__team-employee-tile__picture{height:220px;width:220px}}.adhop__team-employee-tile .adhop__team-employee-tile__picture img{border-radius:50%;object-fit:cover;overflow:hidden}.adhop__team-employee-tile .adhop__team-employee-tile__description{align-items:center;display:flex;flex-direction:column;text-align:center}.adhop__team-employee-tile .adhop__team-employee-tile__description div>span,.adhop__team-employee-tile .adhop__team-employee-tile__description p{color:var(--theme-darkest-gray,#333);line-height:2;margin:0}.adhop__team-employee-tile .adhop__team-employee-tile__description .adhop__team-employee-tile__name{font-size:18px;font-weight:600;line-height:24px}.adhop__team-employee-tile .adhop__team-employee-tile__occupation{font-size:16px;overflow-wrap:anywhere}.adhop__team-employee-tile .adhop__team-employee-tile__contact{margin-top:7px}.adhop__team-employee-tile .adhop__team-employee-tile__contact div>span,.adhop__team-employee-tile .adhop__team-employee-tile__contact p{color:#757575;font-size:14px;word-break:break-word}.adhop__team-employee-tile .adhop__team-employee-tile__contact .ergo-adhop__button__component{display:inline-block;padding:0 4px}@media screen and (min-width:1152px){.adhop__team--1-employees .adhop__team-employee-tile,.adhop__team-employee-tile.adhop__team-employee-tile--solo{display:flex;max-width:464px;padding:0 14px;width:auto}.adhop__team--1-employees .adhop__team-employee-tile .adhop__team-employee-tile__picture,.adhop__team-employee-tile.adhop__team-employee-tile--solo .adhop__team-employee-tile__picture{margin-bottom:0}.adhop__team--1-employees .adhop__team-employee-tile .adhop__team-employee-tile__description,.adhop__team-employee-tile.adhop__team-employee-tile--solo .adhop__team-employee-tile__description{align-items:flex-start;flex:1;justify-content:center;margin-left:50px;text-align:left}}.adhop__team--regular{margin-bottom:-30px}.adhop__team--regular.adhop__team--1-employees{display:flex;flex-direction:column}.adhop__team--regular.adhop__team--2-employees .slick-slider{max-width:540px}@media screen and (min-width:768px){.adhop__team--regular .slick-slider{margin:0 auto;max-width:520px}}@media screen and (min-width:1152px){.adhop__team--regular .slick-slider{max-width:780px}}@media screen and (min-width:1440px){.adhop__team--regular .slick-slider{max-width:1040px}}.adhop__team--regular .slick-slider .slick-arrow--custom{top:160px;transform:translateY(0)}.adhop__team--regular .slick-slider .slick-arrow--custom.slick-prev{transform:translate(-100%)}.adhop__team-employee-tile--solo{margin-bottom:24px}.adhop__team-employee-lang{margin-bottom:7px;margin-top:10px;max-width:265px;position:relative;width:100%}@media screen and (min-width:1152px){.adhop__team-employee-lang .adhop__team--1-employees .adhop__team-employee-lang__flags{justify-content:flex-start}}.adhop__team-employee-lang:hover .adhop__team-employee-lang__dropdown__wrapper{opacity:1;visibility:visible;z-index:1}.adhop__team-employee-lang .adhop__team-employee-lang__flags{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.adhop__team-employee-lang .adhop__team-employee-lang__flags .flag{height:22px;margin-left:5px;margin-right:5px;width:22px}.adhop__team-employee-lang .adhop__team-employee-lang__flags .flag:first-child{margin-left:0}.adhop__team-employee-lang .adhop__team-employee-lang__flags .flag:last-child{margin-right:0}.adhop__team-employee-lang .adhop__team-employee-lang__flags .adhop__team-employee-lang__ellipsis{line-height:15px;padding-left:5px}.adhop__team-employee-lang .adhop__team-employee-lang__dropdown__wrapper{background-color:var(--theme-white,#fff);border:1px solid var(--theme-lightest-gray,#f2f2f2);border-radius:9px;box-shadow:0 8px 10px rgba(var(--theme-black-rgb),.15);left:50%;max-height:144px;opacity:0;position:absolute;right:0;text-align:left;top:0;transform:translateX(-50%);visibility:hidden;width:calc(100% + 28px);z-index:-1}@media screen and (min-width:376px){.adhop__team-employee-lang .adhop__team-employee-lang__dropdown__wrapper{width:255px}}.adhop__team-employee-lang .adhop__team-employee-lang__dropdown__wrapper:before{background-color:var(--theme-primary,#8e0038);border-radius:2px;content:"";display:block;height:4px;left:0;margin:auto;position:absolute;right:0;top:-4px;width:48px}.adhop__team-employee-lang .adhop__team-employee-lang__dropdown__wrapper .adhop__team-employee-lang__dropdown{max-height:144px;overflow-y:auto;padding:20px 30px}.adhop__team-employee-lang .adhop__team-employee-lang__dropdown__wrapper .adhop__team-employee-lang__dropdown h5{font-size:18px;margin:0}.ergo-adhop__team{margin:0 auto;position:relative;z-index:1}.ergo-adhop__team .ergo-adhop__team__headline{color:var(--theme-dark-gray,#aeaeae);display:block;font-size:14px;font-weight:700;line-height:18px;margin-bottom:4px;text-align:center;text-transform:uppercase}@media screen and (min-width:768px){.ergo-adhop__team .ergo-adhop__team__headline{font-size:16px;line-height:21px}}.ergo-adhop__team .ergo-adhop__team__subheading{color:var(--theme-darkest-gray,#333);font-size:20px;font-weight:600;line-height:30px;margin-bottom:40px;text-align:center}@media screen and (min-width:768px){.ergo-adhop__team .ergo-adhop__team__subheading{font-size:24px;line-height:40px}}.ergo-adhop__team .ergo-adhop__team__subheading span{display:inline-block}.ergo-adhop__team .ergo-adhop__team__location-picker{display:inline-block;max-width:100%}.ergo-adhop__team .ergo-adhop__team__location-picker select{-moz-appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:0 -2px 0 0 var(--theme-primary,#8e0038) inset;color:var(--theme-primary,#8e0038);font-family:FS Me,Helvetica,Arial,sans-serif;font-size:20px;font-weight:600;line-height:22px;margin:0 8px;max-width:calc(100% - 16px);padding-right:20px;text-align:center;text-overflow:ellipsis}@media screen and (min-width:768px){.ergo-adhop__team .ergo-adhop__team__location-picker select{font-size:24px;line-height:26px}}.ergo-adhop__team .ergo-adhop__team__location-picker .ergo-adhop__team__location-picker__icon{display:inline-block;fill:var(--theme-primary,#8e0038);margin-left:-24px;pointer-events:none}.ergo-adhop__team .ergo-adhop__team__cta{position:relative;z-index:1}.teasersGrid{margin-left:calc(50% - 50vw);max-width:100vw;width:100vw}.teasersGrid .teasersGrid__list{border-left:24px solid transparent;border-right:24px solid transparent;display:grid;gap:24px;grid-template-columns:1fr;margin:0 auto;max-width:1230px}.teasersGrid .teasersGrid__list>[data-nc=Teaser]{display:grid}.teasersGrid.cols-1 .teasersGrid__list{max-width:912px}.teasersGrid:not(.cols-1) .ergo-adhop__teaser__headline{text-align:left!important}@media screen and (min-width:768px){.teasersGrid.cols-2 .teasersGrid__list{grid-template-columns:1fr 1fr}.teasersGrid.cols-3 .teasersGrid__list{grid-template-columns:1fr 1fr 1fr}}.teasersGrid .teaser.base,.teasersGrid .teaser.base>div{display:flex}.ergo-adhop__teaser{align-items:flex-start;display:flex;flex-flow:column wrap;margin-bottom:40px;margin-top:40px}.ergo-adhop__teaser.ergo-adhop__teaser--frame{box-shadow:0 3px 5px -1px rgba(var(--theme-black-rgb),.16),0 6px 10px 0 rgba(var(--theme-black-rgb),.12),0 1px 18px 0 rgba(var(--theme-black-rgb),.1)}@media screen and (min-width:768px){.teaser-type--horizontal .ergo-adhop__teaser{align-items:stretch;flex-direction:row}.teaser-type--horizontal .ergo-adhop__teaser.ergo-adhop__teaser--image-right{flex-direction:row-reverse}}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teasersList__item__image{flex:1}@media screen and (min-width:768px){.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teasersList__item__image img{aspect-ratio:1}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__content{align-items:center;justify-content:flex-start}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline{margin-top:8px}}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h2{font-size:28px;line-height:40px}@media screen and (min-width:768px){.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h2{font-size:36px;line-height:44px}}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h4{font-size:20px;line-height:28px}@media screen and (min-width:768px){.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h4{font-size:24px;line-height:36px}}.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h5{font-size:18px;line-height:30px}@media screen and (min-width:768px){.teaser-type--horizontal .ergo-adhop__teaser .ergo-adhop__teaser__headline.h5{font-size:20px;line-height:32px}}.ergo-adhop__teaser .ergo-adhop__teasersList__item__image{width:100%}.ergo-adhop__teaser .ergo-adhop__teasersList__item__image img{aspect-ratio:16/9;object-fit:cover;width:100%}.ergo-adhop__teaser .ergo-adhop__teaser__content{flex:1;width:100%}@media screen and (min-width:768px){.ergo-adhop__teaser .ergo-adhop__teaser__content{display:flex;justify-content:stretch}}.ergo-adhop__teaser .ergo-adhop__teaser__content__wrapper{display:flex;flex-direction:column;padding:24px 32px 32px;width:100%}.ergo-adhop__teaser .ergo-adhop__teaser__headline{font-size:24px;line-height:36px;margin:0}@media screen and (min-width:768px){.ergo-adhop__teaser .ergo-adhop__teaser__headline{font-size:28px;line-height:40px}}.ergo-adhop__teaser .ergo-adhop__teaser__headline.ergo-adhop__teaser__headline--red{color:var(--theme-primary,#8e0038)}.ergo-adhop__teaser .ergo-adhop__teaser__description{margin-top:16px}.ergo-adhop__teaser .ergo-adhop__teaser__cta{margin-top:auto;padding-top:32px}.ergo-adhop__teasersList__item{display:flex;flex-flow:column wrap;gap:24px;margin-bottom:40px;margin-top:40px}@media screen and (min-width:768px){.ergo-adhop__teasersList__item{align-items:center;flex-direction:row}}@media screen and (min-width:1152px){.ergo-adhop__teasersList__item{margin-bottom:80px;margin-top:80px}}@media screen and (min-width:768px){.ergo-adhop__teasersList__item:nth-child(odd){flex-direction:row-reverse}}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__image{align-items:center;display:flex;flex-flow:column wrap;justify-content:center;margin:0}@media screen and (max-width:768px){.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__image{min-height:200px}}@media screen and (min-width:768px){.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__content,.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__image{flex:1;max-width:420px}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__content:only-child,.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__image:only-child{max-width:100%}}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__subheading{color:var(--theme-dark-gray,#aeaeae);display:block;font-size:16px;font-weight:700;line-height:24px;margin-bottom:8px;text-transform:uppercase}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__headline{font-size:24px;font-weight:700;line-height:32px;margin:0 0 16px}@media screen and (max-width:911px){.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__description{white-space:normal}}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__item__description:not(:last-child){margin-bottom:24px}.ergo-adhop__teasersList__item .ergo-adhop__teasersList__label{display:block;font-weight:700}.ergo-adhop__teasersList__item .ergo-adhop__button.ergo-adhop__button--text-link{font-size:14px;font-weight:400}@media screen and (min-width:480px){.ergo-adhop__teasersList__item .ergo-adhop__button.ergo-adhop__button--text-link{font-size:16px}}.ergo-adhop__teasersList__item .ergo-adhop__button:not(.ergo-adhop__button--text-link){width:100%}@media screen and (min-width:480px){.ergo-adhop__teasersList__item .ergo-adhop__button:not(.ergo-adhop__button--text-link){width:auto}}.ergo-adhop-teasers-list{margin:0 auto;max-width:870px;width:100%}.ergo-adhop__text h1,.ergo-adhop__text h2,.ergo-adhop__text h3,.ergo-adhop__text h4,.ergo-adhop__text h5,.ergo-adhop__text p{margin-top:0;word-break:break-word}.ergo-adhop__text .ergo-adhop__button__component{display:inline}.ergo-adhop__text .ergo-adhop__button__component .ergo-adhop__button.ergo-adhop__button--text-link{font-size:inherit;font-weight:inherit;line-height:inherit}.ergo-adhop__text .ergo-adhop__button__component .ergo-adhop__button span{color:inherit}.ergo-adhop__tooltip{display:inline-flex;position:relative}.ergo-adhop__tooltip .ergo-adhop__button.ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__trigger{color:var(--theme-darker-gray,#737373);transition:background-color .3s ease-in-out}.ergo-adhop__tooltip .ergo-adhop__button.ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__trigger.ergo-adhop__button--with-icon-only:focus-visible{border:0}.ergo-adhop__tooltip .ergo-adhop__button.ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__trigger.ergo-adhop__button--with-icon-only:focus-visible:before{background-color:rgba(var(--theme-primary-rgb),.16);transform:scale(1)}.ergo-adhop__tooltip .ergo-adhop__button.ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__trigger:before{background-color:initial;border-radius:50%;content:"";height:100%;left:0;position:absolute;top:0;transform:scale(0);transition:transform .3s ease-in-out,background-color .3s ease-in-out;width:100%}.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay{background-color:rgba(var(--theme-white-rgb),.85);height:100%;left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:-1}@media screen and (min-width:480px){.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay{border-radius:8px;box-shadow:0 6px 6px -3px rgba(var(--theme-black-rgb),.2),0 10px 14px 1px rgba(var(--theme-black-rgb),.14),0 4px 18px 3px rgba(var(--theme-black-rgb),.12);height:auto;left:-10px;position:absolute;top:100%;width:-webkit-max-content;width:-moz-max-content;width:max-content}}.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__closer.ergo-adhop__tooltip__overlay__closer{color:var(--theme-darker-gray,#737373);height:auto;opacity:.4;position:absolute;right:18px;top:18px;transition:opacity .3s ease-in-out;width:auto;z-index:1}@media screen and (min-width:480px){.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__closer.ergo-adhop__tooltip__overlay__closer{right:14px;top:14px}}.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__closer.ergo-adhop__tooltip__overlay__closer:hover{opacity:1}.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__tooltip__overlay__content{background-color:var(--theme-white,#fff);bottom:0;box-shadow:0 6px 6px -3px rgba(var(--theme-black-rgb),.2),0 10px 14px 1px rgba(var(--theme-black-rgb),.14),0 4px 18px 3px rgba(var(--theme-black-rgb),.12);font-size:12px;font-weight:400;left:0;line-height:18px;max-width:100%;padding:50px 18px 36px;position:fixed;width:100%}@media screen and (min-width:480px){.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__tooltip__overlay__content{border-radius:8px;box-shadow:none;max-width:300px;min-width:250px;padding-bottom:12px;padding-top:48px;position:relative;width:100%}}@media screen and (min-width:768px){.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__tooltip__overlay__content{max-width:400px}}.ergo-adhop__tooltip .ergo-adhop__tooltip__overlay .ergo-adhop__tooltip__overlay__content:before{background:var(--theme-primary,#8e0038);border-radius:2px;content:"";height:4px;left:10px;position:absolute;top:0;width:40px}.ergo-adhop__tooltip:hover .ergo-adhop__button.ergo-adhop__button--with-icon.ergo-adhop__tooltip__overlay__trigger:before{background-color:rgba(var(--theme-primary-rgb),.05);transform:scale(1)}.ergo-adhop__tooltip.ergo-adhop__tooltip-open .ergo-adhop__button.ergo-adhop__tooltip__overlay__trigger{background-color:rgba(var(--theme-primary-rgb),.16)}.ergo-adhop__tooltip.ergo-adhop__tooltip-open .ergo-adhop__tooltip__overlay{opacity:1;visibility:visible;z-index:10}@media screen and (min-width:480px){.ergo-adhop__tooltip.ergo-adhop__tooltip-reversed .ergo-adhop__tooltip__overlay{left:auto;right:-10px}}.ergo-adhop__tooltip.ergo-adhop__tooltip-reversed .ergo-adhop__tooltip__overlay .ergo-adhop__tooltip__overlay__content:before{left:auto;right:10px}.ergo-adhop__uspPresentation{text-align:center}.ergo-adhop__uspPresentation .ergo-adhop__headline{margin-bottom:35px}@media screen and (min-width:768px){.ergo-adhop__uspPresentation .ergo-adhop__headline{margin-bottom:45px}}.ergo-adhop__uspPresentation .ergo-adhop__uspPresentation__propositions{align-items:center;display:flex;flex-flow:column wrap;gap:20px}@media screen and (min-width:480px){.ergo-adhop__uspPresentation .ergo-adhop__uspPresentation__propositions{align-items:flex-start;flex-flow:row wrap;gap:24px;justify-content:center}}.ergo-adhop__uspPresentation .ergo-adhop__uspPresentation__cta .ergo-adhop__button{margin-top:40px}:root{--theme-black-rgb:0,0,0;--theme-darkest-gray-rgb:51,51,51;--theme-primary-rgb:142,0,56;--theme-white-rgb:255,255,255}.aem-Grid{display:block;width:100%}.aem-Grid:after,.aem-Grid:before{content:" ";display:table}.aem-Grid:after{clear:both}.aem-GridColumn{box-sizing:border-box;clear:both}.aem-Grid--12,.aem-GridColumn--default--12{border-bottom-width:12px;border-left:12px solid transparent;border-right:12px solid transparent;border-top-width:12px}.aem-Grid.aem-Grid--12>.aem-GridColumn.aem-GridColumn--default--12,.aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--default--12{clear:none;float:left;width:100%}.hidden{display:none!important}@media (max-width:1151px){.hidden-xl{display:none!important}}@media (max-width:911px){.hidden-l{display:none!important}}@media (max-width:767px){.hidden-md{display:none!important}}@media screen and (min-width:1152px){.hidden-min-xl{display:none!important}}@media screen and (min-width:768px){.hidden-min-md{display:none!important}}.ergo-adhop__uspProposition{max-width:272px}.ergo-adhop__uspProposition .ergo-adhop__uspProposition__image{height:212px;margin:0 0 20px;width:100%}.ergo-adhop__uspProposition .ergo-adhop__uspProposition__image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.ergo-adhop__uspProposition .ergo-adhop__uspProposition__title{font-size:18px;line-height:27px;margin:0 0 20px}.ergo-adhop__uspProposition .ergo-adhop__uspProposition__title:last-child{margin-bottom:0}.ergo-adhop__uspProposition .ergo-adhop__uspProposition__description{font-size:14px;line-height:21px;margin:0}body.body-scroll-locked{overflow:hidden}@media screen and (min-width:1152px){body.body-scroll-locked{padding-right:15px}}.experienceFragment .text[class*=bg-],.xf-web-container .text[class*=bg-]{border-image:conic-gradient(var(--background-color) 0 0) fill 0/0/0 100vw}body.dkv .experienceFragment .text[class*=bg-],body.dkv .xf-web-container .text[class*=bg-]{border-image:none;position:relative}body.dkv .experienceFragment .text[class*=bg-]:before,body.dkv .xf-web-container .text[class*=bg-]:before{background-color:currentColor;bottom:0;box-shadow:10vw 0 0 0 currentColor;content:"";display:block;margin-left:calc(50% - 50vw);max-width:90vw;position:absolute;top:0;width:90vw;z-index:-1}.cmp-carousel__container .experiencefragment>div>.aem-Grid.aem-Grid--12.aem-Grid--default--12{display:contents}.experiencefragment .aem-Grid,.experiencefragment .aem-GridColumn{border-width:0}.experiencefragment .hero.aem-GridColumn:after,.experiencefragment .hero.aem-GridColumn:before{display:none}.ergo-adhop__html>.aem-Grid,.xf-web-container>.container>.responsivegrid>.aem-Grid{display:contents}.ergo-adhop__html .aem-GridColumn,.xf-web-container>.container>.responsivegrid .aem-GridColumn{border-width:0;padding-left:0;padding-right:0}.columnControl .experiencefragment [class*=bg-]{background:var(--background-color);border-image:none}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpc3QvYWRob3AvY29tcG9uZW50cy9hZGhvcC9hZGhvcC5idW5kbGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9xQkEsb0NBQ0UsMkJBQ0UsY0FDRixDQUNGLENBQ0Esd0VBQ0UsWUFBYSxDQUNiLGNBQWUsQ0FFZixjQUFlLENBRGYsVUFFRixDQUNBLG9DQUNFLHdFQUNFLFNBQ0YsQ0FDRixDQUNBLDREQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsZUFDRixDQUNBLG9DQUNFLDREQUNFLGNBQWUsQ0FDZixnQkFDRixDQUdBLDJJQUVFLGNBQWUsQ0FDZixTQUNGLENBTkYsQ0EyVkEseUJBQ0UsY0FBZSxDQUNmLGlCQUNGLENBQ0Esd0RBQ0UsZUFDRixDQUNBLDBHQUNFLGVBQ0YsQ0FDQSwyREFDRSxpQkFDRixDQUNBLDhEQUNFLGFBQWMsQ0FDZCxlQUNGLENBQ0EsMkRBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSw4REFDRSxpQkFDRixDQUNBLDBGQUNFLGNBQ0YsQ0FDQSwyQkFDRSxpQkFDRixDQW9WQSwwRUFDRSxpQkFDRixDQUNBLCtDQUNFLGtCQUNGLENBQ0Esb0NBQ0UsK0NBQ0Usa0JBQ0YsQ0FDRixDQUNBLGlFQUNFLGNBQWUsQ0FFZixlQUFnQixDQURoQixnQkFBaUIsQ0FFakIsZUFDRixDQUNBLG9DQUNFLGlFQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQW1CLENBQ25CLGlCQUNGLENBQ0YsQ0FDQSx5RUFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLHlFQUVFLGtCQUFtQixDQURuQixlQUVGLENBQ0YsQ0FDQSxxSEFDRSxlQUNGLENBQ0Esb0NBQ0UscUhBQ0UsZUFDRixDQUNGLENBQ0EsZ0VBQ0Usa0JBQ0YsQ0FDQSxvQ0FDRSxnRUFDRSxrQkFDRixDQUNGLENBQ0EseUVBRUUsY0FBZSxDQUNmLGVBQWdCLENBRmhCLFVBR0YsQ0FDQSxvQ0FDRSx5RUFJRSxZQUFhLENBQ2IsY0FBZSxDQUNmLGNBQWUsQ0FKZixhQUFjLENBRGQsZUFBZ0IsQ0FFaEIsVUFJRixDQUNGLENBQ0EsK0pBRUUsUUFBUyxDQUNULFVBQ0YsQ0FDQSxvQ0FDRSwrSkFFRSxrQkFBbUIsQ0FDbkIsU0FDRixDQUNGLENBQ0Esb0NBQ0UsK0VBQ0Usa0JBQ0YsQ0FDRixDQUNBLDJGQUNFLGVBQ0YsQ0FDQSxvQ0FDRSxnSEFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLG1NQUdFLFlBQWEsQ0FDYixpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSxtUEFJRSxNQUFPLENBRFAsaUJBQWtCLENBRWxCLEtBQ0YsQ0FDQSxrUUFHRSxRQUNGLENBQ0Esb0NBQ0Usa1FBR0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSx5UEFHRSxlQUNGLENBQ0Esb0NBQ0UsZ0dBQ0UsY0FDRixDQUNGLENBQ0EsbUVBQ0Usa0JBQ0YsQ0FDQSxvQ0FDRSxtRUFDRSxrQkFDRixDQUNGLENBQ0EsbUZBQ0UsT0FDRixDQUNBLG9DQUNFLHFIQUNFLGNBQ0YsQ0FDRixDQUNBLGlFQUVFLGtCQUFtQixDQURuQixrQkFFRixDQUNBLGlGQUNFLFFBQ0YsQ0FDQSwrREFDRSxrQkFDRixDQUNBLG9DQUNFLDJKQUVFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0Esb2FBSUUsZUFDRixDQUNBLGdGQUNFLHFCQUFzQixDQUN0QixnQkFDRixDQUNBLG9DQUNFLGdGQUVFLGlCQUFrQixDQURsQixlQUVGLENBQ0YsQ0FDQSxvRkFDRSxnQkFDRixDQW9WQSx3QkFDRSx3Q0FBMEMsQ0FFMUMsbUJBQW9CLENBRHBCLGVBRUYsQ0FDQSxvQ0FDRSx3QkFDRSx3QkFBeUIsQ0FDekIsZ0JBQ0YsQ0FDRixDQUNBLGtFQUlFLFlBQWEsQ0FDYixjQUFlLENBQ2YsUUFBUyxDQUpULGFBQWMsQ0FEZCxnQkFBaUIsQ0FNakIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUxuQixVQU1GLENBQ0Esb0NBQ0Usa0VBQ0UsUUFDRixDQUNGLENBQ0Esc0hBRUUsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNBLG9DQUNFLHNIQUVFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FDRixDQUNBLDhEQUNFLGVBQ0YsQ0FDQSx5RkFDRSxpQkFBa0IsQ0FDbEIsY0FBZSxDQUNmLFVBQ0YsQ0FDQSxvQ0FDRSx5RkFDRSxlQUNGLENBQ0YsQ0FDQSx3SEFDRSxVQUNGLENBQ0EsNkZBQ0Usa0JBQW1CLENBR25CLGVBQWdCLENBRmhCLGtCQUFtQixDQUNuQixtQkFFRixDQUNBLG9DQUNFLDZGQUNFLGdCQUNGLENBQ0YsQ0FvVkEsMENBQ0UsWUFDRixDQUNBLHFDQUNFLDhDQUNFLGtCQUNGLENBQ0YsQ0FDQSxvQ0FDRSwwQ0FXRSxzQkFBdUIsQ0FEdkIscUJBQXNCLENBRHRCLHVEQUF5RCxDQUR6RCxhQUFjLENBRmQsTUFBTyxDQUZQLFlBQWEsQ0FIYixTQUFVLENBRVYsYUFBYyxDQURkLGNBQWUsQ0FLZixPQUFRLENBRlIsUUFPRixDQUNBLG1EQUVFLDZCQUE4QixDQUM5QixTQUFVLENBRlYsU0FHRixDQUNGLENBQ0Esb0NBQ0UsMENBQ0UsUUFDRixDQUNBLDZFQUNFLDZCQUNGLENBQ0YsQ0FDQSxxQ0FDRSwwQ0FDRSxRQUNGLENBQ0EsNkVBRUUsNkJBQThCLENBRDlCLFNBRUYsQ0FDRixDQUNBLDZCQUNFLFFBQ0YsQ0FDQSwrREFJRSxZQUFhLENBQ2IsNEJBQTZCLENBSDdCLGFBQWMsQ0FEZCxnQkFBaUIsQ0FLakIsaUJBQWtCLENBSGxCLFVBSUYsQ0FDQSxvQ0FDRSxpTkFHRSxhQUFjLENBRGQsZ0JBRUYsQ0FDRixDQUNBLHFDQUNFLGlOQUdFLGFBQWMsQ0FEZCxpQkFFRixDQUNGLENBQ0EsNkRBQ0UscUJBQXNCLENBQ3RCLGdCQUFpQixDQUNqQixNQUFPLENBQ1AsZ0JBQ0YsQ0FDQSxxQ0FDRSw2REFDRSxnQkFDRixDQUNGLENBQ0EsaUVBQ0UsZ0JBQWlCLENBRWpCLFFBQVMsQ0FEVCxVQUVGLENBQ0Esc0VBQ0UsTUFDRixDQUNBLDhFQUNFLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSxtSEFDRSxjQUNGLENBQ0EsaUZBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSx1R0FDRSxNQUNGLENBQ0EscUpBRUUsYUFBYyxDQURkLGNBQWUsQ0FFZixlQUNGLENBQ0EsMEdBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSwwR0FDRSxZQUNGLENBQ0EsMEhBQ0UsYUFBYyxDQUNkLGFBQ0YsQ0FDQSxvQ0FDRSx1R0FDRSxxREFDRixDQUNBLDBHQUNFLGNBQ0YsQ0FDQSwwR0FFRSxtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDRixDQUNBLG1FQUNFLGFBQ0YsQ0FDQSxzRUFDRSxjQUNGLENBQ0Esb0hBR0Usa0JBQW1CLENBRm5CLGNBQWUsQ0FDZixtQkFBb0IsQ0FHcEIsa0JBQW1CLENBRG5CLGlCQUVGLENBQ0Esb0NBQ0Usb0hBQ0UsY0FDRixDQUNGLENBQ0EsK1BBRUUsb0JBQXFCLENBQ3JCLHFCQUNGLENBQ0Esb0lBRUUsbUJBQW9CLENBRHBCLGlCQUFrQixDQUVsQixPQUFRLENBQ1IsaUNBQ0YsQ0FDQSxxSEFFRSxZQUFhLENBRGIsZUFBZ0IsQ0FFaEIscUNBQ0YsQ0FDQSxvSUFDRSxhQUNGLENBQ0Esc0tBQ0UsZ0JBQ0YsQ0FDQSxrREFDRSxhQUFjLENBRWQsYUFBYyxDQURkLHdCQUVGLENBQ0Esb0NBQ0Usa0RBQ0UsWUFDRixDQUNGLENBQ0EsdUZBQ0UscUJBQXNCLENBQ3RCLFFBQ0YsQ0FDQSxxRkFDRSxZQUNGLENBQ0EsMkZBQ0UsU0FDRixDQW9WQSxnQ0FFRSxhQUFjLENBRGQsZUFBZ0IsQ0FFaEIsVUFDRixDQUNBLG9DQUNFLDZGQUNFLG1CQUFvQixDQUNwQixvQkFBcUIsQ0FDckIsZUFBZ0I7SUFDaEIsK0JBQStCLENBQy9CLDJCQUNGLENBQ0EsdUtBRUUsWUFDRixDQUNBLDJGQUNFLG9CQUNGLENBQ0YsQ0FDQSw2RUFDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLGNBQ0YsQ0FDQSxvQ0FDRSw2RUFDRSxrQkFDRixDQUNGLENBQ0Esb0hBQ0UsYUFBYyxDQUNkLGVBQ0YsQ0FDQSxvQ0FDRSxvSEFDRSxnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FDaEIsU0FDRixDQUNGLENBQ0EseUVBQ0UsVUFDRixDQUNBLG9DQUNFLDRFQUNFLGNBQ0YsQ0FDRixDQUNBLHdHQUNFLGVBQ0YsQ0FDQSx1RUFDRSxlQUNGLENBQ0EscUdBRUUsa0JBQW1CLENBRG5CLGVBRUYsQ0FDQSwwRUFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLHNKQUtFLHdCQUE2QixDQUQ3QixRQUFTLENBRVQsa0NBQW9DLENBQ3BDLFlBQWEsQ0FMYixjQUFlLENBTWYsZUFBZ0IsQ0FMaEIsZ0JBQWlCLENBTWpCLGVBQWdCLENBQ2hCLFNBQ0YsQ0FDQSwyRUFDRSxhQUFjLENBQ2QsZUFDRixDQW9WQSxvQ0FDRSxZQUFhLENBQ2IsY0FDRixDQUNBLG9DQUNFLG9DQUdFLGtCQUFtQixDQURuQixxQkFBc0IsQ0FEdEIsV0FBWSxDQUdaLGlCQUNGLENBQ0YsQ0FDQSwrRUFDRSxtQkFBb0IsQ0FFcEIsV0FBWSxDQURaLFVBRUYsQ0FDQSxvQ0FDRSwrRUFFRSxXQUFZLENBRFosVUFFRixDQUNGLENBQ0EsaUZBQ0UsMkJBQTRCLENBQzVCLGlCQUFrQixDQUNsQixpQkFDRixDQUNBLG9DQUNFLGlGQUNFLFlBQWEsQ0FDYixxQkFBc0IsQ0FLdEIsd0JBQXlCLENBSnpCLDZCQUE4QixDQUM5QixjQUFlLENBRWYsY0FBZSxDQURmLGdCQUdGLENBQ0YsQ0FDQSxtRkFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQ0YsQ0FDQSxtSUFDRSxlQUNGLENBQ0Esb0NBQ0UsMEZBQ0UsZ0JBQ0YsQ0FDRixDQUNBLGlGQUNFLG1CQUNGLENBQ0EseUhBQ0Usa0JBQ0YsQ0FDQSx3SEFDRSxrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSw2SUFDRSxpQkFBa0IsQ0FDbEIsT0FDRixDQUNBLHNPQUNFLFVBQ0YsQ0FDQSx1T0FFRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGNBQ0YsQ0FvVkEsNEJBQ0UsZ0RBQWtELENBQ2xELGlCQUNGLENBQ0EsaUVBR0UscUNBQXVDLENBRnZDLGNBQWUsQ0FDZixlQUVGLENBQ0Esb0VBQ0UsY0FBZSxDQUNmLGVBQWdCLENBQ2hCLFFBQ0YsQ0FDQSxxSUFLRSxlQUFnQixDQURoQixlQUFnQixDQUZoQixpQkFBa0IsQ0FDbEIsa0JBR0YsQ0FDQSx5S0FFRSxlQUNGLENBQ0EsOERBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSw4REFDRSxZQUNGLENBQ0EsZ0ZBQ0Usb0RBQ0YsQ0FvVkEsOENBQ0UsY0FBZSxDQUNmLG9CQUFxQixDQUNyQixpQkFBa0IsQ0FDbEIsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0EseURBQ0UsY0FDRixDQUNBLGtEQUNFLGNBQWUsQ0FFZixjQUFlLENBRGYsVUFFRixDQUNBLG9DQUNFLGtEQUNFLGVBQ0YsQ0FDRixDQUNBLGtFQUNFLGFBQ0YsQ0FvVkEsb0NBQ0UseUZBQ0UsMEJBQ0YsQ0FHQSw2RkFDRSx5QkFDRixDQUpGLENBTUEsc0ZBQ0UsZUFDRixDQW9WQSw0QkFJRSxpQkFBa0IsQ0FDbEIscUpBQThKLENBRTlKLFlBQWEsQ0FDYixjQUFlLENBRmYsa0JBQW1CLENBTG5CLGVBQWdCLENBRWhCLFVBTUYsQ0FDQSxvQ0FDRSw0QkFDRSxnQkFDRixDQUNGLENBQ0EsK0RBRUUsZ0JBQWlCLENBRGpCLFVBRUYsQ0FDQSxvQ0FDRSwrREFDRSxlQUNGLENBQ0YsQ0FDQSxtRUFDRSx5QkFBMEIsQ0FDMUIsV0FBWSxDQUVaLGdCQUFpQixDQURqQixVQUVGLENBQ0Esb0NBQ0UsbUVBQ0UseUJBQ0YsQ0FDRixDQUNBLGlFQUNFLGlCQUFrQixDQUNsQixVQUNGLENBQ0Esb0NBQ0UsaUVBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixzQkFBdUIsQ0FFdkIsNEJBQTZCLENBRDdCLGlCQUVGLENBQ0YsQ0FDQSwrREFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsY0FDRixDQUNBLGtFQUdFLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxxRUFDRSxlQUNGLENBQ0EsdUVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0Esa0ZBQ0UsUUFDRixDQUNBLGdKQUVFLGVBQWdCLENBQ2hCLFFBQVMsQ0FDVCxTQUNGLENBQ0Esc0VBSUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FFdEIsUUFBUyxDQUpULGVBS0YsQ0FDQSxvQ0FDRSxzRUFDRSxrQkFBbUIsQ0FDbkIsUUFDRixDQUNGLENBcVZBLGNBR0UscUJBQXNCLENBQ3RCLDBCQUEyQixDQU8zQixrQkFBbUIsQ0FObkIsd0JBQXlCLENBRXpCLHFCQUFzQixDQUV0QixnQkFBaUIsQ0FHakIsdUNBQ0YsQ0FFQSwwQkFiRSxhQUFjLENBRGQsaUJBb0JGLENBTkEsWUFJRSxRQUFTLENBRlQsZUFBZ0IsQ0FHaEIsU0FDRixDQUNBLGtCQUNFLFlBQ0YsQ0FDQSxxQkFDRSxjQUFlLENBQ2YsV0FDRixDQUVBLHFEQU1FLHVCQUNGLENBRUEsYUFJRSxhQUFjLENBRmQsTUFBTyxDQUdQLGdCQUFpQixDQUNqQixpQkFBa0IsQ0FMbEIsaUJBQWtCLENBRWxCLEtBSUYsQ0FDQSx1Q0FDRSxVQUFXLENBQ1gsYUFDRixDQUNBLG1CQUNFLFVBQ0YsQ0FDQSw0QkFDRSxpQkFDRixDQUVBLGFBSUUsWUFBYSxDQUhiLFVBQVcsQ0FDWCxXQUFZLENBQ1osY0FFRixDQUNBLHVCQUNFLFdBQ0YsQ0FDQSxpQkFDRSxhQUNGLENBQ0EsK0JBQ0UsWUFDRixDQUNBLDBCQUNFLG1CQUNGLENBQ0EsZ0NBQ0UsYUFDRixDQUNBLDRCQUNFLGlCQUNGLENBQ0EsNkJBR0UsNEJBQTZCLENBRjdCLGFBQWMsQ0FDZCxXQUVGLENBRUEsMEJBQ0UsWUFDRixDQUVBLGNBQ0Usd0JBQWlCLENBQWpCLHFCQUFpQixDQUFqQixnQkFDRixDQUNBLHlGQUVFLFlBQ0YsQ0FDQSxnQ0FDRSxnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDQSxvQ0FDRSxnQ0FDRSxnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDRixDQUNBLG1DQVFFLGtCQUFtQixDQUpuQixlQUFnQixDQURoQixpQkFBa0IsQ0FFbEIsa0NBQW9DLENBT3BDLGNBQWUsQ0FOZixZQUFhLENBSmIsV0FBWSxDQUtaLHNCQUF1QixDQUl2QixpQkFBa0IsQ0FGbEIsT0FBUSxDQUNSLDBCQUEyQixDQVQzQixVQVlGLENBQ0EsOENBQ0UsTUFBTyxDQUNQLCtCQUNGLENBQ0EsOENBQ0UsU0FDRixDQUNBLDBCQUNFLFFBQVMsQ0FDVCxTQUFVLENBRVYsaUJBQWtCLENBRGxCLFVBRUYsQ0FDQSw2QkFDRSxtQkFBb0IsQ0FDcEIsZUFBZ0IsQ0FDaEIsZ0JBQ0YsQ0FDQSxpREFDRSw2Q0FDRixDQUNBLG9DQUNFLHdCQUF5QixDQUV6QixRQUFTLENBRFQsaUJBQWtCLENBRWxCLGNBQWUsQ0FDZixXQUFZLENBR1osVUFBVyxDQUZYLFNBQVUsQ0FHViwyQ0FBNkMsQ0FGN0MsU0FHRixDQW9WQSxrQkFHRSxrREFBb0QsQ0FDcEQsa0JBQW1CLENBQ25CLDZCQUErQixDQUMvQixtQkFBb0IsQ0FMcEIsY0FBZSxDQUNmLGdCQUFpQixDQUtqQixrQkFBbUIsQ0FDbkIsZ0JBQ0YsQ0FDQSw2QkFDRSx3QkFDRixDQUNBLDRCQUNFLGtEQUNGLENBQ0EsOEJBQ0Usa0RBQ0YsQ0FDQSw4QkFDRSxrREFDRixDQUNBLDhCQUNFLGtEQUNGLENBc3FCQSxpQ0FNRSxlQUFnQixDQUZoQixhQUFjLENBRmQsaUJBQWtCLENBQ2xCLFFBQVMsQ0FFVCxVQUFXLENBSlgsVUFNRixDQUNBLG9DQUNFLGlDQUNFLGdCQUFpQixDQUNqQixjQUFlLENBQ2YsVUFDRixDQUNGLENBQ0EsMkVBQ0Usa0NBQW9DLENBRXBDLGlCQUFrQixDQURsQiw0SkFFRixDQUNBLGtHQUNFLGtDQUNGLENBRUEsMkJBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUVqQixrQkFBbUIsQ0FEbkIsWUFFRixDQUNBLG9DQUNFLDJCQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FDRixDQUNBLDJEQUVFLGFBQWMsQ0FEZCxnQkFBaUIsQ0FHakIsY0FBZSxDQURmLGlCQUVGLENBQ0Esb0NBQ0UsMkRBRUUsWUFBYSxDQUNiLDZCQUE4QixDQUY5QixTQUdGLENBQ0YsQ0FDQSxzREFDRSxpQkFDRixDQUNBLG9DQUNFLHNEQUNFLGVBQ0YsQ0FDRixDQUNBLDJEQUdFLGtDQUFvQyxDQURwQyxrQkFBbUIsQ0FEbkIsb0JBR0YsQ0FDQSwwSUFDRSxvQ0FBc0MsQ0FDdEMsaUJBQWtCLENBQ2xCLGVBQ0YsQ0FDQSxvQ0FDRSwwSUFFRSxnQkFBaUIsQ0FEakIsYUFFRixDQUNGLENBQ0EsZ0pBQ0Usa0NBQ0YsQ0FDQSxnSkFDRSxZQUNGLENBQ0EsZ1JBR0UsbUJBQ0YsQ0FDQSxvR0FDRSxjQUFlLENBR2Ysb0JBQXNCLENBRnRCLGdCQUFpQixDQUNqQixRQUVGLENBQ0Esc0dBRUUsb0NBQXNDLENBRHRDLFFBQVMsQ0FFVCxpQkFDRixDQUNBLG9DQUNFLHNHQUNFLFdBQVksQ0FDWixnQkFBaUIsQ0FDakIsY0FDRixDQUNGLENBSUEsb1BBQ0Usa0NBQ0YsQ0FDQSw2SUFDRSx3QkFDRixDQUNBLDJHQUNFLGlDQUNGLENBQ0EscUhBQ0Usa0NBQ0YsQ0FDQSwrR0FDRSxvQ0FDRixDQUNBLDBFQUNFLDRCQUE2QixDQUM3QixjQUNGLENBQ0Esb0NBQ0UsMEVBQ0Usd0NBQ0YsQ0FDRixDQUNBLHVGQUdFLFFBQVMsQ0FEVCxjQUFlLENBRGYsVUFHRixDQUNBLDBHQUNFLFFBQ0YsQ0FFQSxxQkFDRSxZQUNGLENBb1ZBLDJCQUNFLGNBQ0YsQ0FDQSxvQ0FDRSwyQkFDRSxZQUFhLENBR2IsK0JBQWlDLENBRmpDLHFCQUFzQixDQUN0QixpQ0FBbUMsQ0FFbkMsa0JBQ0YsQ0FDRixDQUNBLDREQUdFLGVBQWdCLENBRmhCLGNBQWUsQ0FDZixVQUVGLENBQ0Esb0NBQ0UsNERBRUUsZUFBZ0IsQ0FEaEIsK0JBRUYsQ0FDRixDQUNBLDhFQUNFLGVBQ0YsQ0FDQSwwRUFDRSxjQUNGLENBQ0Esb0NBQ0UsMEVBQ0UsZUFDRixDQUNGLENBQ0EseUhBQ0UsZUFDRixDQUNBLG9DQUNFLHlIQUNFLFlBQ0YsQ0FDRixDQUNBLHNGQUNFLGtCQUNGLENBQ0Esa0lBQ0Usb0NBQ0YsQ0FDQSx3R0FDRSxrQkFDRixDQUNBLDRIQUNFLFVBQ0YsQ0FDQSxvQ0FDRSw0SEFDRSxVQUNGLENBQ0YsQ0FDQSxrRkFDRSxrQkFDRixDQW9WQSw0REFDRSxrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSxvQ0FDRSw0REFDRSxrQkFDRixDQUNGLENBQ0EsOERBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixRQUNGLENBQ0Esd0VBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixRQUNGLENBQ0Esb0NBQ0Usd0VBRUUsa0JBQW1CLENBRG5CLGtCQUFtQixDQUduQixRQUFTLENBRFQsc0JBRUYsQ0FDRixDQUNBLDZEQUNFLFlBQWEsQ0FFYixhQUFjLENBRGQsV0FFRixDQUNBLG9DQUNFLDZEQUVFLFlBQWEsQ0FEYixRQUFTLENBRVQsV0FDRixDQUNGLENBQ0EsaUVBQ0UsaUJBQWtCLENBQ2xCLFdBQVksQ0FFWixnQkFBaUIsQ0FEakIsVUFFRixDQUNBLG9DQUNFLCtEQUNFLDRCQUNGLENBQ0YsQ0FDQSxpR0FHRSxhQUFjLENBRmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUdqQixrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSxvQ0FDRSxpR0FDRSxlQUNGLENBQ0YsQ0FDQSxtRkFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLHNFQUVFLGFBQWMsQ0FEZCxlQUVGLENBQ0YsQ0FDQSxxUEFNRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLGNBQWUsQ0FFZixpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSx5WkFJRSxrQkFDRixDQUNBLDZQQUlFLFFBQ0YsQ0FDQSxxVEFNRSxNQUFPLENBRlAsaUJBQWtCLENBQ2xCLFFBRUYsQ0FDQSxpSEFDRSxlQUFnQixDQUNoQixrQkFDRixDQUNBLG9DQUNFLGlIQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsK05BRUUsZUFBZ0IsQ0FDaEIsU0FDRixDQUNBLG9DQUNFLCtOQUVFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EscUVBR0Usa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsUUFBUyxDQURULHNCQUF1QixDQUV2QixnQkFDRixDQUNBLG9DQUNFLHFFQUNFLGtCQUFtQixDQUNuQixnQkFDRixDQXNWQSwyREFFRSxjQUFlLENBRGYsVUFFRixDQUNBLDhFQUNFLFVBQVcsQ0FFWCxhQUFjLENBRGQsU0FFRixDQUNBLHFGQUNFLFlBQWEsQ0FDYixjQUNGLENBQ0EsdUdBQ0UsV0FBWSxDQUVaLG1CQUFvQixDQURwQixpQkFFRixDQUNBLDBKQUNFLDBCQUNGLENBQ0Esc0lBRUUsUUFBUyxDQURULGlCQUVGLENBQ0EsK0RBQ0UsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0EsaUVBR0Usd0JBQWtCLENBQWxCLGtDQUFrQixDQUFsQixtQ0FBa0IsQ0FBbEIscUJBQWtCLENBQ2xCLHFCQUNGLENBdlhGLENBeVhBLHVMQUNFLFVBQ0YsQ0FDQSxvQ0FDRSx1TEFDRSxVQUNGLENBQ0YsQ0FDQSx3RUFHRSw0QkFBNkIsQ0FEN0IsZUFBZ0IsQ0FFaEIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUpuQixXQUtGLENBQ0Esc0ZBRUUsYUFBYyxDQURkLGdCQUFpQixDQUdqQixXQUFZLENBRFosVUFFRixDQUNBLDBGQUVFLFlBQWEsQ0FDYixjQUFlLENBRmYsVUFHRixDQUNBLG9DQUNFLDBGQUNFLGtCQUFtQixDQUNuQixzQkFBdUIsQ0FDdkIsdUJBQ0YsQ0FDRixDQUNBLHdHQUNFLFFBQVMsQ0FFVCxtQkFBb0IsQ0FEcEIsZ0JBQWlCLENBRWpCLFVBQ0YsQ0FDQSxvQ0FDRSx3R0FDRSx3QkFBeUIsQ0FDekIsY0FDRixDQUNGLENBQ0Esc0hBQ0Usb0RBQ0YsQ0FDQSxvQ0FDRSxzSEFFRSxxREFBdUQsQ0FEdkQsWUFFRixDQUdBLG1JQUNFLFdBQ0YsQ0FKRixDQU1BLDBGQUVFLGFBQWMsQ0FEZCxnQkFBaUIsQ0FFakIsVUFDRixDQUNBLG9DQUNFLDBGQUNFLGVBQ0YsQ0FDRixDQW9WQSwyQkFDRSxtQkFBb0IsQ0FDcEIsaUJBQ0YsQ0FDQSwwREFDRSxlQUNGLENBQ0EsK0JBQ0UsV0FBWSxDQUNaLFVBQ0YsQ0FDQSxvQ0FDRSwrQkFDRSxXQUFZLENBQ1osVUFDRixDQUNGLENBRUEsNEJBTUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixjQUFlLENBRWYsUUFBUyxDQUNULGtCQUFtQixDQVBuQixnQkFBaUIsQ0FRakIsWUFBYSxDQU5iLFVBT0YsQ0FDQSxvQ0FDRSw0QkFDRSxRQUNGLENBQ0YsQ0FDQSxzRUFJRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUNmLGVBQWdCLENBRmhCLGdCQUlGLENBb1ZBLCtDQUNFLGtCQUNGLENBQ0Esb0NBQ0UsK0NBQ0Usa0JBQ0YsQ0FDRixDQUNBLGtEQUNFLGVBQ0YsQ0FDQSwyQkFDRSxRQUFTLENBQ1Qsb0JBQ0YsQ0FDQSxrRUFDRSxlQUNGLENBQ0Esb0NBQ0Usa0VBQ0UsZUFDRixDQUNGLENBQ0EsZ0VBQ0UsYUFBYyxDQUNkLGVBQ0YsQ0FDQSwyRUFDRSxlQUNGLENBQ0Esb0NBQ0UsMkVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FvVkEsc0JBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUVqQixrQkFBbUIsQ0FEbkIsZ0JBRUYsQ0FDQSxvQ0FDRSxzQkFDRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDRixDQUNBLGlGQUNFLGVBQ0YsQ0FDQSxxREFDRSxrQkFDRixDQUNBLDBEQUNFLG9DQUNGLENBQ0Esa0RBQ0UsWUFDRixDQUNBLGtFQUVFLGlCQUFrQixDQURsQixlQUVGLENBQ0Esb0RBQ0UsTUFDRixDQUNBLGtEQUdFLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBQWlCLENBR2pCLGtCQUFtQixDQURuQixZQUVGLENBQ0EscUlBRUUsYUFBYyxDQUNkLGlCQUNGLENBQ0EscURBQ0Usa0JBQ0YsQ0FDQSwyREFDRSxjQUFlLENBRWYsaUJBQWtCLENBRGxCLGlCQUVGLENBQ0EsZ0VBQ0UsbUJBQW9CLENBQ3BCLDJCQUNGLENBQ0EsZ0ZBQ0Usd0JBQ0YsQ0FGQSwyRUFDRSx3QkFDRixDQUNBLDZJQUNFLFVBQVcsQ0FDWCxhQUFjLENBRWQsTUFBTyxDQURQLGlCQUFrQixDQUVsQixLQUNGLENBQ0EsdUVBQ0Usd0JBQTZCLENBQzdCLHdCQUF5QixDQUN6QixpQkFBa0IsQ0FFbEIsV0FBWSxDQUNaLDJDQUE2QyxDQUY3QyxVQUdGLENBQ0Esc0VBSUUsc0JBQXVCLENBRnZCLHdDQUFhLENBQ2IsY0FBZSxDQURmLFlBQWEsQ0FNYixVQUFXLENBSFgsUUFBUyxDQUlULFNBQVUsQ0FIVixPQUFRLENBSVIsd0JBQXlCLENBRXpCLDZEQUFpRSxDQURqRSxpQkFBa0IsQ0FKbEIsU0FNRixDQUNBLHFFQUNFLG9CQUNGLENBQ0EsMEVBQ0UsWUFDRixDQUNBLDhGQUNFLHdCQUNGLENBQ0EsNkZBQ0UsU0FBVSxDQUNWLGtCQUNGLENBQ0EsMERBQ0UsZ0JBQWlCLENBQ2pCLGlCQUNGLENBQ0Esb0NBQ0UsMERBQ0UsZ0JBQWlCLENBQ2pCLGdCQUNGLENBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxVQUNGLENBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxrQkFDRixDQUNGLENBb1ZBLGtDQUNFLGNBQWUsQ0FFZixrQkFBbUIsQ0FEbkIsZ0JBQWlCLENBRWpCLGlCQUNGLENBQ0EseUJBQ0Usa0NBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxpQ0FDRSxZQUFhLENBQ2IsY0FBZSxDQUNmLFFBQVMsQ0FDVCxzQkFDRixDQUNBLGdDQUVFLGNBQWUsQ0FDZixjQUFlLENBRmYsZUFHRixDQUNBLHFDQUdFLFlBQWEsQ0FDYixRQUFTLENBSFQsZUFBZ0IsQ0FDaEIsaUJBR0YsQ0FDQSx5QkFDRSxxQ0FFRSxrQkFBbUIsQ0FEbkIscUJBQXNCLENBRXRCLGlCQUNGLENBQ0YsQ0FDQSxxREFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSx5QkFDRSx5REFDRSxzQkFDRixDQUNGLENBQ0EsNkVBQ0UsY0FDRixDQUNBLCtCQUNFLFlBQWEsQ0FDYixRQUFTLENBQ1Qsc0JBQ0YsQ0FDQSxtQ0FDRSxXQUNGLENBQ0EsNkJBQ0UsY0FDRixDQUNBLCtCQUNFLGtDQUFvQyxDQUNwQyxvQkFDRixDQUNBLHlCQUNFLHdCQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNGLENBbVZBLG9DQUdFLDRCQUE2QixDQUQ3QixlQUFnQixDQURoQixXQUdGLENBRUEsMkJBSUUsa0JBQW1CLENBSG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsUUFBUyxDQUZULHNCQUF1QixDQUd2QixpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSxvQ0FDRSwyQkFDRSxrQkFBbUIsQ0FDbkIsa0JBQW1CLENBQ25CLGFBQWMsQ0FDZCxnQkFBaUIsQ0FDakIsU0FDRixDQUNGLENBQ0Esa0VBRUUsZUFBZ0IsQ0FDaEIsVUFDRixDQUNBLG9DQUNFLDhSQUlFLFdBQ0YsQ0FDRixDQW9WQSxtQ0FDRSx3Q0FBMEMsQ0FFMUMsaUJBQWtCLENBRGxCLHVEQUEwRCxDQUcxRCx5QkFBMkIsQ0FEM0IsVUFFRixDQUNBLG9DQUNFLG1DQUNFLGVBQWdCLENBQ2hCLGdCQUNGLENBQ0YsQ0FDQSx5Q0FDRSwyREFDRixDQUNBLGtFQUVFLFdBQVksQ0FEWixpQkFBa0IsQ0FFbEIsVUFDRixDQUNBLG9IQUVFLHNCQUF1QixDQUR2QixvQ0FBc0MsQ0FFdEMsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixlQUFnQixDQUNoQixXQUFZLENBQ1osVUFDRixDQUNBLDZFQUNFLGdCQUFpQixDQUNqQixRQUFTLENBR1QsZ0JBQWlCLENBQ2pCLGdCQUFpQixDQUhqQixpQkFBa0IsQ0FDbEIsVUFHRixDQUNBLGlGQUNFLGdCQUFpQixDQUNqQix5QkFBMEIsQ0FDMUIsV0FBWSxDQUVaLGdCQUFpQixDQURqQixVQUVGLENBQ0EsaUZBSUUsbUJBQW9CLENBQ3BCLDZCQUErQixDQUMvQixtQkFBb0IsQ0FMcEIsY0FBZSxDQU1mLGVBQWdCLENBSWhCLE1BQU8sQ0FUUCxnQkFBaUIsQ0FNakIsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUNsQixLQUFNLENBUE4sU0FTRixDQUNBLG9DQUNFLGlGQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsK0VBQ0UsWUFBYSxDQUNiLFVBQ0YsQ0FDQSxvQ0FDRSwrRUFDRSxZQUFhLENBRWIsTUFBTyxDQURQLHFCQUFzQixDQUd0Qix5QkFBMEIsQ0FEMUIsNkJBQThCLENBRTlCLGdCQUFpQixDQUNqQixZQUNGLENBQ0YsQ0FDQSw4R0FDRSxlQUNGLENBQ0EsZ0ZBSUUsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUNoQixvQkFBYSxDQUFiLFlBQWEsQ0FKYixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FJaEIsd0JBQXlCLENBQ3pCLGVBQWdCLENBQ2hCLHFCQUNGLENBQ0Esb0NBQ0UsZ0ZBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNGLENBQ0EsbUZBQ0UsWUFBYSxDQUNiLFFBQ0YsQ0FDQSxvQ0FDRSxtRkFJRSxhQUFjLENBSGQsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUVGLENBQ0YsQ0FDQSxzRkFHRSxvQkFBcUIsQ0FGckIsWUFBYSxDQUNiLGNBRUYsQ0FDQSxvQ0FDRSxzRkFDRSxnQkFDRixDQUNGLENBQ0Esc1FBRUUsbUJBQ0YsQ0FDQSx3U0FFRSxnQkFDRixDQUNBLG9DQUNFLHdTQUVFLGdCQUNGLENBQ0YsQ0FDQSxzSUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSxzSUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLGdJQUNFLGNBQWUsQ0FFZixlQUFnQixDQURoQixnQkFFRixDQW9WQSxzRUFHRSxvQ0FBc0MsQ0FDdEMsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsa0JBQW1CLENBQ25CLGlCQUNGLENBQ0Esb0NBQ0Usc0VBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFBbUIsQ0FDbkIsZUFDRixDQUNGLENBQ0EseURBTUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsZUFBZ0IsQ0FEaEIsU0FBVSxDQURWLFVBTUYsQ0FDQSxvQ0FDRSx5REFDRSxrQkFDRixDQUNGLENBQ0EsNkdBSUUscUJBQXNCLENBSHRCLGFBQWMsQ0FFZCxlQUFnQixDQURoQixlQUdGLENBQ0Esb0NBQ0UsNkdBR0UsaUJBQWtCLENBRGxCLGdCQUFpQixDQURqQixZQUdGLENBQ0YsQ0FDQSw0SUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSw0SUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLHFPQUdFLG9DQUFzQyxDQUZ0QyxjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxvQ0FDRSxxT0FDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLHFTQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNBLHFHQUNFLGVBQ0YsQ0FDQSxxR0FDRSxZQUNGLENBb1ZBLG9DQUNFLG1CQUNFLGNBQ0YsQ0FDRixDQUNBLCtDQUNFLFlBQWEsQ0FDYixjQUFlLENBRWYsY0FBZSxDQURmLFVBRUYsQ0FDQSxvQ0FDRSwrQ0FDRSxTQUNGLENBR0EsMkdBRUUsY0FDRixDQUxGLENBT0Esc0RBQ0UsWUFDRixDQUNBLG9DQUNFLHNEQUNFLGFBQWMsQ0FDZCxTQUNGLENBQ0YsQ0FDQSxxREFDRSxVQUNGLENBQ0Esb0NBQ0UscURBR0UsaUJBQWtCLENBRmxCLGlCQUFrQixDQUNsQixTQUVGLENBQ0YsQ0FDQSxnREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGVBQ0YsQ0FDQSxvQ0FDRSxnREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGtCQUNGLENBQ0YsQ0FDQSw2Q0FDRSxXQUNGLENBQ0EsaURBRUUsV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUdGLENBc3FCQSwwQkFDRSxVQUNGLENBQ0Esb0NBQ0UsMEJBQ0UsU0FDRixDQUNGLENBQ0EsZ0NBQ0UsWUFDRixDQUNBLG9DQUNFLHVDQUNFLHNCQUNGLENBQ0YsQ0FDQSx3RUFDRSxZQUFhLENBQ2IsY0FBZSxDQUNmLDZCQUNGLENBQ0Esb0NBQ0Usd0VBQ0UsVUFDRixDQUNGLENBQ0EsK0dBQ0UsVUFDRixDQUNBLG9DQUNFLCtHQUNFLHFCQUNGLENBQ0YsQ0FDQSw0REFHRSxhQUFjLENBRmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUlqQixtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDQSxvQ0FDRSw0REFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLG1CQUFvQixDQURwQixnQkFFRixDQUNGLENBQ0EsMkRBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSxrR0FFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLHlJQUNFLG9DQUFzQyxDQUN0QyxlQUFnQixDQUNoQixlQUFnQixDQUNoQixnQ0FDRixDQUNBLDhSQUNFLGtDQUNGLENBRUEsMkJBSUUsWUFBYSxDQUNiLGNBQWUsQ0FDZixRQUFTLENBRVQscUJBQW1CLENBUG5CLGdCQUFpQixDQVFqQixpQkFBa0IsQ0FDbEIsa0JBQW1CLENBUG5CLFVBUUYsQ0FvVkEsc0JBQ0UsaUJBQWtCLENBQ2xCLFVBQ0YsQ0FDQSxpQ0FDRSxrQkFDRixDQUNBLG9DQUNFLGlDQUNFLGlCQUNGLENBR0EsOERBQ0UsbUJBQW9CLENBQ3BCLGVBQ0YsQ0FMRixDQU9BLGtFQUNFLGVBQ0YsQ0FDQSw4QkFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsd0JBQ0YsQ0FDQSxvQ0FDRSw4QkFDRSxjQUFlLENBRWYsb0JBQXNCLENBRHRCLGdCQUVGLENBQ0YsQ0FDQSxtREFHRSxvQ0FBc0MsQ0FFdEMsYUFBYyxDQUpkLGNBQWUsQ0FHZixlQUFnQixDQUZoQixnQkFBaUIsQ0FJakIsY0FDRixDQUNBLG9DQUNFLG1EQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOERBQ0UsWUFDRixDQW9WQSxxQkFLRSxZQUFhLENBQ2IsY0FBZSxDQUpmLGFBQWMsQ0FEZCxlQUFnQixDQUdoQixnQkFBaUIsQ0FEakIsVUFJRixDQUNBLG9DQUNFLHFCQUVFLGtCQUFtQixDQURuQixhQUVGLENBQ0YsQ0FDQSxtSEFFRSxVQUNGLENBQ0Esb0NBQ0UsbUhBRUUsYUFBYyxDQUNkLGtCQUNGLENBQ0YsQ0FDQSwwREFFRSxtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDQSxvQ0FDRSwwREFHRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLHNCQUF1QixDQUp2QixpQkFBa0IsQ0FDbEIsZUFJRixDQUNGLENBQ0Esc0VBQ0UsZUFDRixDQUNBLGlEQUNFLGNBQWUsQ0FDZixXQUNGLENBQ0EscURBQ0UsY0FBZSxDQUVmLFdBQVksQ0FDWixnQkFBaUIsQ0FGakIsVUFHRixDQUNBLGlEQUdFLGFBQWMsQ0FGZCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBR2pCLGtCQUNGLENBQ0Esb0NBQ0UsaURBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNGLENBQ0EsdURBQ0Usa0JBQ0YsQ0FDQSx5REFFRSxnQkFBaUIsQ0FEakIsUUFFRixDQUNBLG9DQUNFLHlEQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0Esa0RBQ0UsWUFBYSxDQUNiLGtCQUNGLENBQ0Esb0VBRUUsV0FBWSxDQURaLFVBRUYsQ0FDQSxvQ0FDRSxvRUFFRSxXQUFZLENBRFosVUFFRixDQUNGLENBQ0EsNkZBQ0UsY0FBZSxDQUVmLGVBQWdCLENBRGhCLGdCQUVGLENBQ0Esb0NBQ0UsNkZBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUNGLENBQ0YsQ0FDQSxxRkFDRSxnQkFDRixDQUNBLG9DQUNFLHFGQUNFLGVBQ0YsQ0FDRixDQUNBLHNEQUVFLFdBQVksQ0FEWixVQUVGLENBQ0Esb0NBQ0Usc0dBRUUsY0FDRixDQUNGLENBQ0Esb0RBQ0UsaUJBQ0YsQ0FDQSx5Q0FDRSxlQUNGLENBRUEsZ0JBQ0UsYUFDRixDQUNBLG9CQUNFLGlCQUNGLENBb1ZBLG9CQUNFLFlBQWEsQ0FDYixnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDQSxpREFDRSxXQUNGLENBQ0EsZ0RBSUUsV0FBWSxDQURaLE1BQU8sQ0FGUCxpQkFBa0IsQ0FDbEIsS0FBTSxDQUdOLFVBQ0YsQ0FDQSxtREFDRSxpQkFBa0IsQ0FDbEIsVUFDRixDQUNBLDBEQUNFLGlCQUFrQixDQUVsQixpQ0FBbUMsQ0FEbkMsVUFFRixDQUVBLG1CQUNFLGFBQWMsQ0FFZCxXQUFZLENBRFosY0FFRixDQUVBLDZCQUNFLGFBQWMsQ0FDZCxXQUFZLENBRVosZ0JBQWlCLENBRGpCLFVBRUYsQ0FFQSxrQ0FDRSxHQUNFLDBCQUNGLENBQ0YsQ0FDQSx3QkFDRSxvQkFBcUIsQ0FDckIseUJBQTBCLENBQzFCLHlCQUEwQixDQUMxQiw0QkFBNkIsQ0FDN0IsOEJBQStCLENBRS9CLGtDQUFtQyxDQUVuQyxvQkFBc0IsQ0FDdEIsbUJBQW9CLENBQ3BCLGFBQWMsQ0FFZCxlQUFnQixDQURoQixpQkFBa0IsQ0FKbEIsVUFBVyxDQU1YLFNBRUYsQ0FDQSw4QkFZRSw4Q0FBK0MsQ0FDL0MsNENBQTZDLENBRTdDLGtDQUFtQyxDQUpuQyxxQ0FBc0MsQ0FHdEMscUNBQXNDLENBTHRDLGtHQUFzRyxDQUR0RywyQkFBNEIsQ0FQNUIsV0FBWSxDQUNaLHFDQUFzQyxDQVF0QywyQkFNRixDQUVBLGtEQVhFLFdBQVksQ0FGWixNQUFPLENBRlAsaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixLQW9CRixDQUNBLHlCQUNFLGFBQWMsQ0FDZCxXQUFZLENBQ1osVUFDRixDQXNxQkEsZ0NBRUUsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUZsQixVQUdGLENBQ0EsdUNBQ0UsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUNuQixlQUFnQixDQUNoQixVQUNGLENBQ0Esb0NBQ0UsdUNBQ0Usa0JBQ0YsQ0FDRixDQUNBLDJDQUNFLGlCQUFrQixDQUNsQixpQkFBa0IsQ0FFbEIsV0FBWSxDQURaLFVBRUYsQ0FDQSx5RUFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FDZixnQkFBaUIsQ0FHakIsb0JBQ0YsQ0FFQSwyREFHRSxvQ0FBc0MsQ0FDdEMsWUFBYSxDQUhiLGNBQWUsQ0FJZixzQkFBdUIsQ0FIdkIsZ0JBQWlCLENBSWpCLGtCQUNGLENBQ0Esb0NBQ0UsMkRBQ0Usa0JBQ0YsQ0FDRixDQUNBLHVDQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNBLG9DQUNFLHVDQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNGLENBQ0EsMEVBRUUscUJBQ0YsQ0FDQSxvQ0FDRSwwRUFFRSxTQUNGLENBQ0YsQ0FFQSxPQUVFLFFBQVMsQ0FDVCxlQUFnQixDQUZoQixpQkFHRixDQUNBLGVBQ0UsYUFBYyxDQUNkLFdBQVksQ0FDWixVQUNGLENBQ0EsV0FDRSxhQUFjLENBRWQsV0FBWSxDQURaLGNBRUYsQ0FFQSw2QkFDRSxlQUNGLENBQ0EsK0RBQ0UsYUFDRixDQW9WQSw0VkFNRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSx3S0FHRSxrQkFDRixDQUNBLHFLQUlFLGtCQUFtQixDQURuQixlQUVGLENBQ0EsOEhBR0UsVUFDRixDQUNBLDBJQUdFLFlBQWEsQ0FDYixXQUNGLENBQ0EsdUxBR0UsU0FDRixDQUNBLG9DQUNFLHVMQUdFLFVBQ0YsQ0FDRixDQUNBLHVMQUdFLHFCQUNGLENBQ0Esb0NBQ0UsdUxBR0Usc0JBQ0YsQ0FDRixDQUVBLDZDQUNFLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsbUJBQW9CLENBQ3BCLGNBQWUsQ0FDZixZQUFhLENBRWIsY0FBZSxDQUNmLGlCQUFrQixDQUZsQixXQUdGLENBQ0Esb0NBQ0UsNkNBQ0UsWUFBYSxDQUNiLFVBQ0YsQ0FDRixDQUNBLGlEQUdFLFdBQVksQ0FGWixRQUFTLENBQ1QsZ0JBQWlCLENBRWpCLFVBQ0YsQ0FFQSw0Q0FJRSxZQUFhLENBQ2IsY0FBZSxDQUVmLGVBQWdCLENBTGhCLFFBQVMsQ0FNVCxlQUFnQixDQUZoQixZQUdGLENBQ0Esb0NBQ0UsNENBQ0UsZ0JBQWlCLENBQ2pCLGdCQUNGLENBQ0YsQ0FFQSx1Q0FFRSx3Q0FBMEMsQ0FEMUMsY0FBZSxDQUVmLFVBQ0YsQ0FDQSxvQ0FDRSx1Q0FDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLFdBQVksQ0FDWixlQUNGLENBQ0YsQ0FDQSxxREFDRSxzQkFDRixDQUNBLG9FQUNFLHNCQUF1QixDQUN2QixZQUFhLENBQ2IsY0FBZSxDQUNmLGlCQUFrQixDQUNsQixlQUNGLENBQ0Esb0NBQ0Usd0dBRUUsNkNBQStDLENBQy9DLGlCQUFrQixDQUZsQixVQUFXLENBR1gsYUFBYyxDQUNkLHVCQUF3QixDQUd4QixTQUFVLENBRFYsaUJBQWtCLENBRWxCLFFBQVMsQ0FIVCxzQkFJRixDQUNGLENBRUEseUNBTUUsa0JBQW1CLENBTG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsNkJBQThCLENBRTlCLDRCQUE2QixDQUU3QixpQkFBa0IsQ0FIbEIsV0FJRixDQUNBLG9DQUNFLHlDQUVFLHlCQUEwQixDQUQxQixjQUFlLENBRWYsY0FBZSxDQUNmLGlCQUNGLENBQ0YsQ0FDQSxpREFHRSxvQ0FBc0MsQ0FEdEMsaUJBQWtCLENBRGxCLGVBQWdCLENBR2hCLFVBQ0YsQ0FDQSxvQ0FDRSxpREFDRSxhQUFjLENBQ2QsYUFDRixDQUNGLENBQ0EsMkNBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUNGLENBQ0Esb0NBQ0UsMkNBQ0UsY0FDRixDQUNGLENBQ0Esb0NBQ0UsMkNBQ0UsY0FDRixDQUNGLENBQ0EsNENBQ0UsY0FBZSxDQUNmLFFBQ0YsQ0FFQSxnR0FFRSxjQUFlLENBRGYsVUFFRixDQUNBLHlIQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUVBLG9DQUNFLGdMQUVFLFdBQ0YsQ0FDQSw4SkFFRSxXQUNGLENBQ0Esb1FBR0UsZUFBZ0IsQ0FEaEIsV0FFRixDQUNBLGdlQUlFLGVBQ0YsQ0FDQSw2Q0FDRSxZQUNGLENBQ0EseUNBQ0UseUJBQ0YsQ0FDRixDQUNBLG9DQUNFLHlGQUNFLFdBQ0YsQ0FDQSxnRkFDRSxXQUNGLENBQ0EsdUZBQ0UsV0FDRixDQUNBLDhFQUNFLFdBQ0YsQ0FDQSxpSUFFRSxlQUFnQixDQURoQixXQUVGLENBQ0EsOE9BRUUsZUFDRixDQUNBLDZDQUNFLFlBQ0YsQ0FDQSx5Q0FDRSx5QkFDRixDQUNGLENBQ0EscUNBQ0UseUZBQ0UsV0FDRixDQUNBLGdGQUNFLFdBQ0YsQ0FDQSx1RkFDRSxXQUNGLENBQ0EsOEVBQ0UsV0FDRixDQUNBLGlJQUVFLGdCQUFpQixDQURqQixZQUVGLENBQ0EsOE9BRUUsZUFDRixDQUNGLENBbVZBLHdCQUlFLFlBQWEsQ0FDYixrQkFBZ0IsQ0FKaEIsZ0JBQWlCLENBS2pCLGlCQUFrQixDQUNsQixrQkFBbUIsQ0FKbkIsVUFLRixDQUNBLGlEQUNFLFlBQ0YsQ0FDQSwyQ0FDRSxhQUFjLENBQ2QsU0FDRixDQUNBLHVEQUlFLG1CQUFlLENBQWYsY0FBZSxDQUNmLG9CQUFnQixDQUFoQixlQUFnQixDQUpoQixlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FHRixDQUNBLG9DQUNFLHVEQUNFLG1CQUFlLENBQWYsY0FDRixDQUNGLENBQ0Esb0NBQ0UsdURBQ0UsbUJBQWUsQ0FBZixjQUNGLENBQ0YsQ0FDQSw0RkFDRSxlQUFnQixDQUNoQixjQUNGLENBQ0Esc0ZBQ0UsYUFDRixDQUNBLHdJQUdFLG9DQUFzQyxDQUZ0QyxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBR2pCLGVBQWdCLENBQ2hCLG9CQUFxQixDQUNyQixnQ0FDRixDQUNBLDRSQUNFLGtDQUNGLENBb1ZBLG1CQUVFLGdEQUFtRCxDQU9uRCxZQUFhLENBRmIsV0FBWSxDQUZaLE1BQU8sQ0FHUCxZQUFhLENBTGIsY0FBZSxDQUNmLEtBQU0sQ0FFTixVQUFXLENBTFgsYUFTRixDQUNBLDBDQUNFLFlBQ0YsQ0FDQSxvQ0FDRSw2QkFDRSxTQUNGLENBQ0EseURBQ0UsY0FBZSxDQUNmLGVBQ0YsQ0FDRixDQUNBLHVEQUNFLFlBQWEsQ0FDYixNQUFPLENBQ1AsV0FBWSxDQUNaLGNBQ0YsQ0FDQSw4Q0FHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixzQkFBdUIsQ0FFdkIsV0FBWSxDQUNaLGVBQWdCLENBRmhCLGVBQWdCLENBR2hCLFVBQ0YsQ0FDQSwrQ0FDRSx3Q0FBMEMsQ0FFMUMsd0JBQXlCLENBRHpCLHlCQUEwQixDQUUxQixZQUFhLENBRWIsYUFBYyxDQURkLG1CQUFvQixDQUVwQixVQUNGLENBQ0Esb0NBQ0UsK0NBQ0UsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0YsQ0FDQSw4Q0FPRSxrQkFBbUIsQ0FObkIsd0NBQTBDLENBRTFDLHdCQUF5QixDQUN6QixlQUFnQixDQUZoQix5QkFBMEIsQ0FHMUIsWUFBYSxDQUNiLGNBQWUsQ0FFZix3QkFBeUIsQ0FDekIsc0JBQXVCLENBQ3ZCLHVCQUFnQixDQUFoQixlQUFnQixDQUNoQixLQUFNLENBQ04sVUFBVyxDQUNYLFNBQ0YsQ0FDQSxvQ0FDRSw4Q0FDRSxzQkFDRixDQUNGLENBQ0Esd0VBR0Usb0NBQXNDLENBRXRDLE1BQU8sQ0FKUCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBSWpCLGtCQUNGLENBQ0Esb0NBQ0Usd0VBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSw0RkFDRSxvQ0FDRixDQXNxQkEsK0JBQ0UsZ0NBQWlDLENBSWpDLFFBQVMsQ0FLVCxjQUFlLENBTmYsVUFBVyxDQVFYLFNBQVUsQ0FMVixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBSmpCLGlCQUFrQixDQUNsQixRQUFTLENBTVQsMkJBQTZCLENBRTdCLGlCQUFrQixDQUVsQixVQUFXLENBQ1gsU0FDRixDQUNBLG9DQUNFLCtCQUNFLGdCQUFpQixDQUNqQixRQUNGLENBQ0YsQ0FDQSx1Q0FDRSxNQUFPLENBQ1AsU0FBVSxDQUNWLGtCQUNGLENBb1ZBLGlDQVNFLCtDQUFpRCxDQUpqRCxXQUFZLENBQ1osTUFBTyxDQUNQLGVBQWdCLENBQ2hCLDJCQUE0QixDQU41QixjQUFlLENBRWYsT0FBUSxDQURSLEtBQU0sQ0FPTiw2REFBa0UsQ0FUbEUsWUFVRixDQUNBLHVFQUVFLGdEQUFtRCxDQURuRCxRQUFTLENBRVQsbUJBQ0YsQ0FDQSxpSEFDRSx1QkFDRixDQUNBLDJFQU9FLGtDQUFvQyxDQUxwQyxPQUFRLENBSVIsZUFBZ0IsQ0FEaEIsZUFBZ0IsQ0FGaEIsYUFBYyxDQUZkLGNBQWUsQ0FPZixnQ0FBbUMsQ0FKbkMsVUFLRixDQUNBLDBFQUtFLGtCQUFtQixDQUpuQix1Q0FBeUMsQ0FDekMsNkJBQStCLENBQy9CLFlBQWEsQ0FHYixXQUFZLENBRlosNkJBQThCLENBRzlCLFVBQ0YsQ0FDQSxvQ0FDRSwwRUFDRSxXQUNGLENBQ0YsQ0FDQSwwSEFDRSxjQUFlLENBSWYsZUFBZ0IsQ0FDaEIsUUFBUyxDQUpULGVBQWdCLENBRWhCLHNCQUF1QixDQUR2QixrQkFJRixDQUNBLG9DQUNFLDBIQUNFLGNBQ0YsQ0FDRixDQUNBLHlHQUNFLFdBQ0YsQ0FDQSwySkFHRSxhQUFjLENBRmQsY0FBZSxDQUdmLFdBQVksQ0FGWixnQkFBaUIsQ0FHakIsVUFDRixDQUNBLGlNQUNFLGlCQUNGLENBQ0EsbU1BQ0Usa0JBQ0YsQ0FDQSxtRUFDRSx3QkFBNEIsQ0FJNUIsUUFBUyxDQUVULDRCQUE2QixDQUQ3Qiw0QkFBNkIsQ0FKN0IsaUJBQWtCLENBRWxCLE9BQVEsQ0FEUixLQUFNLENBS04sT0FDRixDQW9WQSw4QkFDRSxvREFBc0QsQ0FDdEQsWUFBYSxDQUNiLFFBQVMsQ0FDVCwyQkFDRixDQUNBLGtFQUNFLGlCQUNGLENBQ0EscUVBQ0UsTUFDRixDQUNBLHVFQUVFLGlCQUFrQixDQURsQixZQUVGLENBQ0EsaUhBQ0UsZ0JBQ0YsQ0FDQSwwRUFDRSxnQkFDRixDQUNBLDBIQUNFLGtCQUNGLENBQ0EscUNBQ0UsNkhBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FvVkEsMkRBR0UsYUFBYyxDQUZkLGNBQWUsQ0FHZixlQUFnQixDQUZoQixnQkFBaUIsQ0FHakIsa0JBQ0YsQ0FDQSwrQkFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxrRUFDRSxlQUFnQixDQUdoQixhQUFjLENBRGQsU0FFRixDQUNBLHFFQUdFLFlBQWEsQ0FGYixjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxzRkFFRSxhQUFjLENBRGQsVUFFRixDQUNBLDJEQUVFLGVBQWdCLENBRGhCLFlBQWEsQ0FFYixVQUNGLENBQ0EscUNBQ0UsMkRBQ0UsV0FDRixDQUNGLENBb1ZBLCtCQUtFLGdCQUFtQixDQUpuQixlQUFnQixDQUVoQixVQUdGLENBQ0Esb0NBQ0UsK0JBQ0UsY0FDRixDQUNGLENBQ0Esc0VBQ0UsZ0JBQ0YsQ0FDQSx3RUFDRSxrQkFDRixDQUNBLDBFQUNFLFFBQ0YsQ0FDQSxxREFDRSxlQUNGLENBQ0EsNkRBRUUsYUFBYyxDQURkLGNBRUYsQ0FDQSxrRkFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGVBQ0YsQ0FDQSw4REFDRSxlQUNGLENBRUEscURBQ0UsZ0JBQ0YsQ0FDQSx3RUFDRSxRQUNGLENBb1ZBLGtCQUVFLFlBQWEsQ0FDYixjQUFlLENBQ2Ysa0JBQW1CLENBSG5CLFVBSUYsQ0FDQSxvQ0FDRSxrQkFDRSxrQkFDRixDQUNGLENBQ0EseUNBQ0Usa0JBQ0YsQ0FDQSw2QkFDRSxlQUNGLENBQ0EseUNBQ0UsZUFDRixDQUNBLHVDQUdFLDJCQUE0QixDQUY1QixpQkFBa0IsQ0FDbEIsVUFFRixDQUNBLG9DQUNFLHVDQUNFLGlCQUNGLENBQ0YsQ0FDQSxrRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGNBQ0YsQ0FDQSxvQ0FDRSxrRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFlBQ0YsQ0FDRixDQUNBLHFFQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsZUFDRixDQUNBLG9DQUNFLHFFQUNFLGNBQ0YsQ0FDRixDQW9WQSx1REFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGNBQWUsQ0FEZixlQUVGLENBQ0Esc0RBQ0UsY0FDRixDQUNBLHdEQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FFakIsa0JBQW1CLENBRG5CLGVBRUYsQ0FDQSwwRUFDRSxjQUFlLENBQ2YsZUFDRixDQW9WQSx5QkFFRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLFFBQVMsQ0FDVCxVQUNGLENBQ0Esa0VBQ0UsaUJBQ0YsQ0FDQSx5SEFHRSxxQ0FBdUMsQ0FDdkMsWUFBYSxDQUViLE1BQU8sQ0FDUCxlQUFnQixDQUZoQixpQkFBa0IsQ0FIbEIsU0FNRixDQUNBLGdFQUVFLHVDQUF5QyxDQUR6QyxTQUVGLENBQ0EsK0RBQ0UsZUFDRixDQW9WQSx5QkFDRSxZQUNGLENBQ0EseURBQ0UscUJBQ0YsQ0FDQSwwREFTRSxrQkFBbUIsQ0FQbkIsd0JBQXlCLENBS3pCLGtCQUFtQixDQUpuQiw2QkFBK0IsQ0FLL0IsWUFBYSxDQVBiLGNBQWUsQ0FHZixlQUFnQixDQUVoQixXQUFZLENBSVosc0JBQXVCLENBQ3ZCLGtCQUFtQixDQU5uQixVQU9GLENBQ0Esd0RBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FHYixlQUFnQixDQURoQixPQUVGLENBQ0Esb0NBQ0Usd0RBQ0UsY0FDRixDQUNGLENBRUEsaUNBQ0UsUUFBUyxDQUNULG9CQUNGLENBb1ZBLG1CQUNFLFFBQ0YsQ0FDQSxrR0FDRSxtQkFBb0IsQ0FDcEIsb0JBQXFCLENBQ3JCLGVBQWdCO0VBQ2hCLCtCQUErQixDQUMvQiwyQkFDRixDQUNBLHNEQUNFLGlCQUFrQixDQUNsQixpQkFDRixDQUNBLDBCQUNFLGlCQUFrQixDQUNsQixRQUFTLENBQ1QsYUFBYyxDQUNkLFdBQVksQ0FDWixVQUNGLENBQ0EsK0NBSUUsb0NBQXNDLENBRHRDLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBQWlCLENBR2pCLGVBQ0YsQ0FDQSwyRUFNRSxXQUFZLENBSFosTUFBTyxDQUlQLGdCQUFpQixDQU5qQixpQkFBa0IsQ0FDbEIsS0FBTSxDQUdOLFVBQVcsQ0FEWCxTQUlGLENBQ0Esb0dBVUUsb0JBQXFCLENBVHJCLGlEQUFvRCxDQUNwRCw2QkFBK0IsQ0FNL0IsWUFBYSxDQUNiLGNBQWUsQ0FGZixXQUFZLENBSVosc0JBQXVCLENBTnZCLE1BQU8sQ0FPUCxlQUFnQixDQVRoQixpQkFBa0IsQ0FDbEIsS0FBTSxDQUVOLFVBQVcsQ0FPWCxTQUNGLENBQ0EseUpBQ0UsaUJBQ0YsQ0FDQSxvQ0FDRSx5SkFDRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDRixDQUNBLGlHQUNFLDZCQUNGLENBQ0Esb0NBQ0UsaUdBQ0UsbUJBQW9CLENBQ3BCLG9CQUFxQixDQUNyQixlQUFnQjtJQUNoQiwrQkFBK0IsQ0FDL0IsMkJBQ0YsQ0FDRixDQUNBLHVGQUNFLFVBQ0YsQ0FDQSxzSEFHRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUdqQix5QkFDRixDQUNBLHFGQUNFLGVBQ0YsQ0FDQSxvQ0FDRSxxRkFDRSxlQUNGLENBQ0YsQ0FDQSxnREFDRSxrQkFDRixDQUVBLG9DQUNFLDRCQUNFLGlCQUNGLENBQ0YsQ0FDQSwrREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGlCQUFrQixDQURsQixZQUVGLENBQ0Esb0NBQ0UsK0RBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxxRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGVBQWdCLENBRGhCLFlBRUYsQ0FFQSwrREFDRSxZQUNGLENBQ0EsK0RBQ0UsZUFDRixDQUNBLHNFQUNFLGtCQUNGLENBQ0EsOERBQ0Usa0JBQ0YsQ0FDQSxnRUFDRSxrQkFBbUIsQ0FDbkIsZUFDRixDQUNBLGtHQUNFLGVBQ0YsQ0FvVkEscUJBQ0UsNkNBQ0YsQ0FFQSxpQ0FJRSw2QkFBK0IsQ0FDL0IsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixRQUFTLENBTFQsYUFBYyxDQURkLGdCQUFpQixDQU9qQixZQUFhLENBTGIsVUFNRixDQUNBLG9DQUNFLGlDQUNFLGtCQUFtQixDQUNuQixrQkFBbUIsQ0FDbkIsNkJBQ0YsQ0FDRixDQUNBLG1HQUNFLFFBQ0YsQ0FDQSx1SUFDRSxXQUNGLENBQ0EscUNBQ0UsNEJBQ0YsQ0FDQSx5RUFLRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLFFBQVMsQ0FMVCxlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FJRixDQUNBLHdJQUNFLDhDQUFnRCxDQUNoRCxrQkFDRixDQUNBLHdHQUNFLGFBQ0YsQ0FDQSx3R0FHRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUdGLENBQ0Esb0NBQ0Usd0dBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxrSUFDRSxlQUNGLENBb1ZBLHNFQUNFLGNBQWUsQ0FDZixrQkFDRixDQUNBLGtFQU1FLGtCQUFtQixDQUZuQixZQUFhLENBQ2IsY0FBZSxDQUVmLFFBQVMsQ0FOVCxlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FLRixDQUNBLGtFQUNFLGFBQ0YsQ0FDQSxrRUFHRSxrQkFBbUIsQ0FFbkIsYUFBYyxDQUhkLG1CQUFvQixDQURwQixjQUFlLENBR2Ysb0JBRUYsQ0FDQSxzRUFDRSxhQUNGLENBQ0Esb0VBQ0UsZ0JBQ0YsQ0FzcUJBLDJCQUdFLGtCQUFtQixDQURuQixTQUFVLENBRVYsaUJBQWtCLENBSGxCLFdBSUYsQ0FDQSxvQ0FDRSwyQkFDRSxXQUNGLENBQ0YsQ0FDQSwrREFDRSxvQkFBcUIsQ0FHckIsWUFBYSxDQUZiLGVBQWdCLENBQ2hCLFdBRUYsQ0FDQSxvQ0FDRSwrREFFRSxZQUFhLENBRGIsV0FFRixDQUNGLENBQ0EsbUVBRUUsaUJBQWtCLENBRGxCLGdCQUFpQixDQUVqQixlQUNGLENBQ0EsbUVBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FFYixxQkFBc0IsQ0FDdEIsaUJBQ0YsQ0FDQSxpSkFDRSxvQ0FBc0MsQ0FDdEMsYUFBYyxDQUNkLFFBQ0YsQ0FDQSxvR0FDRSxjQUFlLENBRWYsZUFBZ0IsQ0FEaEIsZ0JBRUYsQ0FDQSxrRUFDRSxjQUFlLENBQ2Ysc0JBQ0YsQ0FDQSwrREFDRSxjQUNGLENBQ0EseUlBRUUsYUFBYyxDQURkLGNBQWUsQ0FFZixxQkFDRixDQUNBLDhGQUNFLG9CQUFxQixDQUNyQixhQUNGLENBQ0EscUNBQ0UsZ0hBSUUsWUFBYSxDQUZiLGVBQWdCLENBRGhCLGNBQWUsQ0FFZixVQUVGLENBR0Esd0xBQ0UsZUFDRixDQUdBLGdNQUdFLHNCQUF1QixDQUZ2QixNQUFPLENBR1Asc0JBQXVCLENBRnZCLGdCQUFpQixDQUdqQixlQUNGLENBYkYsQ0FrV0Esc0JBQ0UsbUJBQ0YsQ0FDQSwrQ0FDRSxZQUFhLENBQ2IscUJBQ0YsQ0FDQSw2REFDRSxlQUNGLENBQ0Esb0NBQ0Usb0NBRUUsYUFBYyxDQURkLGVBRUYsQ0FDRixDQUNBLHFDQUNFLG9DQUNFLGVBQ0YsQ0FDRixDQUNBLHFDQUNFLG9DQUNFLGdCQUNGLENBQ0YsQ0FDQSx5REFDRSxTQUFVLENBQ1YsdUJBQ0YsQ0FDQSxvRUFDRSwwQkFDRixDQUVBLGlDQUNFLGtCQUNGLENBb1ZBLDJCQUVFLGlCQUFrQixDQURsQixlQUFnQixDQUloQixlQUFnQixDQUZoQixpQkFBa0IsQ0FDbEIsVUFFRixDQUNBLHFDQUNFLHVGQUNFLDBCQUNGLENBQ0YsQ0FDQSwrRUFFRSxTQUFVLENBQ1Ysa0JBQW1CLENBRm5CLFNBR0YsQ0FDQSw2REFHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLGNBQWUsQ0FFZixzQkFDRixDQUNBLG1FQUNFLFdBQVksQ0FFWixlQUFnQixDQUNoQixnQkFBaUIsQ0FGakIsVUFHRixDQUNBLCtFQUNFLGFBQ0YsQ0FDQSw4RUFDRSxjQUNGLENBQ0Esa0dBRUUsZ0JBQWlCLENBRGpCLGdCQUVGLENBQ0EseUVBU0Usd0NBQTBDLENBTjFDLG1EQUFxRCxDQU9yRCxpQkFBa0IsQ0FSbEIsc0RBQXlELENBSXpELFFBQVMsQ0FTVCxnQkFBaUIsQ0FIakIsU0FBVSxDQVJWLGlCQUFrQixDQUdsQixPQUFRLENBT1IsZUFBZ0IsQ0FUaEIsS0FBTSxDQUdOLDBCQUEyQixDQUszQixpQkFBa0IsQ0FGbEIsdUJBQXdCLENBVnhCLFVBZUYsQ0FDQSxvQ0FDRSx5RUFDRSxXQUNGLENBQ0YsQ0FDQSxnRkFXRSw2Q0FBK0MsQ0FUL0MsaUJBQWtCLENBRGxCLFVBQVcsQ0FFWCxhQUFjLENBTWQsVUFBVyxDQUhYLE1BQU8sQ0FFUCxXQUFZLENBSlosaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixRQUFTLENBS1QsVUFFRixDQUNBLDhHQUNFLGdCQUFpQixDQUNqQixlQUFnQixDQUNoQixpQkFDRixDQUNBLGlIQUNFLGNBQWUsQ0FDZixRQUNGLENBRUEsa0JBRUUsYUFBYyxDQUNkLGlCQUFrQixDQUZsQixTQUdGLENBQ0EsOENBTUUsb0NBQXNDLENBSHRDLGFBQWMsQ0FGZCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBTWpCLGlCQUFrQixDQUhsQixpQkFBa0IsQ0FFbEIsd0JBRUYsQ0FDQSxvQ0FDRSw4Q0FDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLGdEQUlFLG9DQUFzQyxDQUh0QyxjQUFlLENBSWYsZUFBZ0IsQ0FIaEIsZ0JBQWlCLENBSWpCLGtCQUFtQixDQUhuQixpQkFJRixDQUNBLG9DQUNFLGdEQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EscURBQ0Usb0JBQ0YsQ0FDQSxxREFDRSxvQkFBcUIsQ0FDckIsY0FDRixDQUNBLDREQWNFLG9CQUFxQixDQUNyQix1QkFBd0IsQ0FUeEIsc0JBQXVCLENBRnZCLFFBQVMsQ0FPVCx3REFBMEQsQ0FOMUQsa0NBQW9DLENBSXBDLDRDQUFrRCxDQVJsRCxjQUFlLENBT2YsZUFBZ0IsQ0FOaEIsZ0JBQWlCLENBQ2pCLFlBQWEsQ0FJYiwyQkFBNEIsQ0FLNUIsa0JBQW1CLENBRm5CLGlCQUFrQixDQUdsQixzQkFHRixDQUNBLG9DQUNFLDREQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOEZBQ0Usb0JBQXFCLENBQ3JCLGlDQUFtQyxDQUNuQyxpQkFBa0IsQ0FDbEIsbUJBQ0YsQ0FDQSx5Q0FDRSxpQkFBa0IsQ0FDbEIsU0FDRixDQW9WQSxhQUdFLDRCQUE2QixDQUQ3QixlQUFnQixDQURoQixXQUdGLENBQ0EsZ0NBR0Usa0NBQW1DLENBQ25DLG1DQUFvQyxDQUNwQyxZQUFhLENBQ2IsUUFBUyxDQUNULHlCQUEwQixDQUwxQixhQUFjLENBRGQsZ0JBT0YsQ0FDQSxpREFDRSxZQUNGLENBQ0EsdUNBQ0UsZUFDRixDQUNBLHdEQUNFLHlCQUNGLENBQ0Esb0NBQ0UsdUNBQ0UsNkJBQ0YsQ0FHQSx1Q0FDRSxpQ0FDRixDQUpGLENBU0Esd0RBQ0UsWUFDRixDQUVBLG9CQUtFLHNCQUF1QixDQUp2QixZQUFhLENBQ2IscUJBQXNCLENBRXRCLGtCQUFtQixDQURuQixlQUdGLENBQ0EsOENBQ0UscUpBQ0YsQ0FDQSxvQ0FDRSw2Q0FFRSxtQkFBb0IsQ0FEcEIsa0JBRUYsQ0FHQSw2RUFDRSwwQkFDRixDQUpGLENBTUEsbUZBQ0UsTUFDRixDQUNBLG9DQUNFLHVGQUNFLGNBQ0YsQ0FHQSwwRUFFRSxrQkFBbUIsQ0FEbkIsMEJBRUYsQ0FHQSwyRUFDRSxjQUNGLENBVkYsQ0FZQSw4RUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLDhFQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNBLG9DQUNFLDhFQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOEVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0Esb0NBQ0UsOEVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSwwREFDRSxVQUNGLENBQ0EsOERBQ0UsaUJBQWtCLENBRWxCLGdCQUFpQixDQURqQixVQUVGLENBQ0EsaURBQ0UsTUFBTyxDQUNQLFVBQ0YsQ0FDQSxvQ0FDRSxpREFDRSxZQUFhLENBQ2IsdUJBQ0YsQ0FDRixDQUNBLDBEQUVFLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsc0JBQXVCLENBR3ZCLFVBQ0YsQ0FDQSxrREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQ0YsQ0FDQSxvQ0FDRSxrREFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLG9GQUNFLGtDQUNGLENBQ0EscURBQ0UsZUFDRixDQUNBLDZDQUNFLGVBQWdCLENBQ2hCLGdCQUNGLENBc3FCQSwrQkFDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLFFBQVMsQ0FFVCxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLCtCQUVFLGtCQUFtQixDQURuQixrQkFFRixDQUNGLENBQ0EscUNBQ0UsK0JBRUUsa0JBQW1CLENBRG5CLGVBRUYsQ0FDRixDQUNBLG9DQUNFLDhDQUNFLDBCQUNGLENBQ0YsQ0FDQSxxRUFJRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixzQkFBdUIsQ0FKdkIsUUFLRixDQUNBLG9DQUNFLHFFQUNFLGdCQUNGLENBQ0YsQ0FDQSxvQ0FDRSw0SUFFRSxNQUFPLENBQ1AsZUFDRixDQUdBLGtLQUVFLGNBQ0YsQ0FMRixDQU9BLDBFQUdFLG9DQUFzQyxDQUN0QyxhQUFjLENBSGQsY0FBZSxDQUlmLGVBQWdCLENBSGhCLGdCQUFpQixDQUlqQixpQkFBa0IsQ0FDbEIsd0JBQ0YsQ0FDQSx3RUFDRSxjQUFlLENBRWYsZUFBZ0IsQ0FEaEIsZ0JBQWlCLENBRWpCLGVBQ0YsQ0FDQSxvQ0FDRSwyRUFDRSxrQkFDRixDQUNGLENBQ0EsNEZBQ0Usa0JBQ0YsQ0FDQSwrREFDRSxhQUFjLENBQ2QsZUFDRixDQUNBLGlGQUNFLGNBQWUsQ0FDZixlQUNGLENBQ0Esb0NBQ0UsaUZBQ0UsY0FDRixDQUNGLENBQ0EsdUZBQ0UsVUFDRixDQUNBLG9DQUNFLHVGQUNFLFVBQ0YsQ0FDRixDQUVBLHlCQUVFLGFBQWMsQ0FEZCxlQUFnQixDQUVoQixVQUNGLENBRUEsNkhBT0UsWUFBYSxDQURiLHFCQUVGLENBQ0EsaURBQ0UsY0FDRixDQUNBLG1HQUNFLGlCQUFrQixDQUNsQixtQkFBb0IsQ0FDcEIsbUJBQ0YsQ0FDQSwwRUFDRSxhQUNGLENBb1ZBLHFCQUNFLG1CQUFvQixDQUNwQixpQkFDRixDQUNBLDZHQUNFLHNDQUF3QyxDQUN4QywyQ0FDRixDQUNBLDhKQUNFLFFBQ0YsQ0FDQSxxS0FDRSxtREFBc0QsQ0FDdEQsa0JBQ0YsQ0FDQSxvSEFFRSx3QkFBNkIsQ0FNN0IsaUJBQWtCLENBUGxCLFVBQVcsQ0FNWCxXQUFZLENBRlosTUFBTyxDQUZQLGlCQUFrQixDQUNsQixLQUFNLENBS04sa0JBQW1CLENBQ25CLHFFQUF5RSxDQUp6RSxVQUtGLENBQ0EsbURBRUUsaURBQW9ELENBTXBELFdBQVksQ0FKWixNQUFPLENBRVAsU0FBVSxDQUhWLGNBQWUsQ0FFZixLQUFNLENBRU4saUJBQWtCLENBRWxCLFVBQVcsQ0FSWCxVQVNGLENBQ0Esb0NBQ0UsbURBRUUsaUJBQWtCLENBRGxCLDBKQUFtSyxDQUtuSyxXQUFZLENBRFosVUFBVyxDQUZYLGlCQUFrQixDQUNsQixRQUFTLENBR1QseUJBQWtCLENBQWxCLHNCQUFrQixDQUFsQixpQkFDRixDQUNGLENBQ0EsNEpBRUUsc0NBQXdDLENBS3hDLFdBQVksQ0FEWixVQUFZLENBSFosaUJBQWtCLENBRWxCLFVBQVcsQ0FEWCxRQUFTLENBSVQsa0NBQW9DLENBQ3BDLFVBQVcsQ0FSWCxTQVNGLENBQ0Esb0NBQ0UsNEpBRUUsVUFBVyxDQURYLFFBRUYsQ0FDRixDQUNBLGtLQUNFLFNBQ0YsQ0FDQSwwRkFHRSx3Q0FBMEMsQ0FNMUMsUUFBUyxDQUxULDBKQUFtSyxDQUhuSyxjQUFlLENBSWYsZUFBZ0IsQ0FHaEIsTUFBTyxDQU5QLGdCQUFpQixDQVNqQixjQUFlLENBTGYsc0JBQXVCLENBQ3ZCLGNBQWUsQ0FHZixVQUVGLENBQ0Esb0NBQ0UsMEZBQ0UsaUJBQWtCLENBQ2xCLGVBQWdCLENBRWhCLGVBQWdCLENBRGhCLGVBQWdCLENBS2hCLG1CQUFvQixDQURwQixnQkFBaUIsQ0FEakIsaUJBQWtCLENBRGxCLFVBSUYsQ0FDRixDQUNBLG9DQUNFLDBGQUNFLGVBQ0YsQ0FDRixDQUNBLGlHQVFFLHVDQUF5QyxDQUR6QyxpQkFBa0IsQ0FObEIsVUFBVyxDQUtYLFVBQVcsQ0FGWCxTQUFVLENBRlYsaUJBQWtCLENBQ2xCLEtBQU0sQ0FFTixVQUlGLENBQ0EsMEhBQ0UsbURBQXNELENBQ3RELGtCQUNGLENBQ0Esd0dBQ0UsbURBQ0YsQ0FDQSw0RUFFRSxTQUFVLENBQ1Ysa0JBQW1CLENBRm5CLFVBR0YsQ0FDQSxvQ0FDRSxnRkFDRSxTQUFVLENBQ1YsV0FDRixDQUNGLENBQ0EsOEhBQ0UsU0FBVSxDQUNWLFVBQ0YsQ0FvVkEsNkJBQ0UsaUJBQ0YsQ0FDQSxtREFDRSxrQkFDRixDQUNBLG9DQUNFLG1EQUNFLGtCQUNGLENBQ0YsQ0FDQSx3RUFHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixRQUNGLENBQ0Esb0NBQ0Usd0VBQ0Usc0JBQXVCLENBRXZCLGtCQUFtQixDQUNuQixRQUFTLENBRlQsc0JBR0YsQ0FDRixDQUNBLG1GQUNFLGVBQ0YsQ0FtUUEsTUFDRSx1QkFBMEIsQ0FDMUIsaUNBQW9DLENBQ3BDLDRCQUErQixDQUMvQiw2QkFDRixDQUVBLFVBQ0UsYUFBYyxDQUNkLFVBQ0YsQ0FFQSxpQ0FHRSxXQUFZLENBRFosYUFFRixDQUVBLGdCQUNFLFVBQ0YsQ0FFQSxnQkFDRSxxQkFBc0IsQ0FDdEIsVUFDRixDQUVBLDJDQUlFLHdCQUFrQixDQUFsQixrQ0FBa0IsQ0FBbEIsbUNBQWtCLENBQWxCLHFCQUNGLENBRUEsK0lBR0UsVUFBVyxDQURYLFVBQVcsQ0FFWCxVQUNGLENBUUEsUUFDRSxzQkFDRixDQUVBLDBCQUNFLFdBQ0Usc0JBQ0YsQ0FDRixDQUVBLHlCQUNFLFVBQ0Usc0JBQ0YsQ0FDRixDQUVBLHlCQUNFLFdBQ0Usc0JBQ0YsQ0FDRixDQUVBLHFDQUNFLGVBQ0Usc0JBQ0YsQ0FDRixDQUVBLG9DQUNFLGVBQ0Usc0JBQ0YsQ0FDRixDQUVBLDRCQUNFLGVBQ0YsQ0FDQSwrREFFRSxZQUFhLENBRGIsZUFBZ0IsQ0FFaEIsVUFDRixDQUNBLG1FQUNFLGlCQUFrQixDQUVsQixXQUFZLENBQ1osZ0JBQWlCLENBRmpCLFVBR0YsQ0FDQSwrREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGVBQ0YsQ0FDQSwwRUFDRSxlQUNGLENBQ0EscUVBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixRQUNGLENBRUEsd0JBQ0UsZUFDRixDQUNBLHFDQUNFLHdCQUNFLGtCQUNGLENBQ0YsQ0FFQSwwRUFHRSx5RUFDRixDQUNBLDRGQUVFLGlCQUFrQixDQUNsQixpQkFDRixDQUNBLDBHQUVFLDZCQUE4QixDQUM5QixRQUFTLENBQ1Qsa0NBQW1DLENBQ25DLFVBQVcsQ0FDWCxhQUFjLENBQ2QsNEJBQTZCLENBQzdCLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsS0FBTSxDQUNOLFVBQVcsQ0FDWCxVQUNGLENBRUEsOEZBQ0UsZ0JBQ0YsQ0FFQSxrRUFFRSxjQUNGLENBQ0EsK0ZBQ0UsWUFDRixDQUVBLG1GQUVFLGdCQUNGLENBQ0EsK0ZBRUUsY0FBZSxDQUNmLGNBQWUsQ0FDZixlQUNGLENBRUEsZ0RBRUUsa0NBQW1DLENBRG5DLGlCQUVGIiwiZmlsZSI6ImRpc3QvYWRob3AvY29tcG9uZW50cy9hZGhvcC9hZGhvcC5idW5kbGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2Uge1xuICAgIG1hcmdpbjogMCAtMTJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2VfX2NvbnRlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWJvdXQtc2VydmljZSAuZXJnby1hZGhvcF9fYWJvdXQtc2VydmljZV9fY29udGVudF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UtdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2VfX2NvbnRlbnRfX2xlZnQsXG4gIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlX19jb250ZW50X19yaWdodCB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgbWFyZ2luLXRvcDogMzlweDtcbn1cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gLmZvb3Rlcl9fbGlua3MtaGVhZGluZy0tc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fYWdlbmN5TmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fY29udGFjdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSAuZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW1fX2NvbnRhY3QgbGkge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtX19jb250YWN0IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSBwIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2xhYmVsX193cmFwcGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fY2hpcCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19jaGlwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMThweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX193cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX3dyYXBwZXIgfiAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX193cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fd3JhcHBlciB+IC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogODcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX2xlZnQsXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX3JpZ2h0IHtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fbGVmdCxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50X19yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX2xlZnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fbGVmdCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fbGVmdCAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2FkZHJlc3MsXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3Bob25lLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19mYXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyAucmVhY3Qtc3ZnLWljb24sXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3Bob25lIC5yZWFjdC1zdmctaWNvbixcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fZmF4IC5yZWFjdC1zdmctaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIGRpdjpub3QoLmNtcC10ZXh0KSBwLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSBkaXY6bm90KC5jbXAtdGV4dCkgcCxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fZmF4IGRpdjpub3QoLmNtcC10ZXh0KSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIGRpdjpub3QoLmNtcC10ZXh0KSBwLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3Bob25lIGRpdjpub3QoLmNtcC10ZXh0KSBwLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2ZheCBkaXY6bm90KC5jbXAtdGV4dCkgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2FkZHJlc3MgLmVyZ28tYWRob3BfX3RleHQsXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3Bob25lIC5lcmdvLWFkaG9wX190ZXh0LFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19mYXggLmVyZ28tYWRob3BfX3RleHQge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIC5yZWFjdC1zdmctaWNvbiB7XG4gIHRvcDogM3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3Bob25lIC5yZWFjdC1zdmctaWNvbiB7XG4gIHRvcDogLTNweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fZmF4IHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX19vcGVuaW5nLWxpc3QgbGksXG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUuYWRob3BfX3RlYW0sXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLS1zb2xvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLmFkaG9wX190ZWFtLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuYWRob3BfX3RlYW0tLTEtZW1wbG95ZWVzIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLmFkaG9wX190ZWFtLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuYWRob3BfX3RlYW0tLTItZW1wbG95ZWVzIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLmFkaG9wX190ZWFtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fcmlnaHQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX3JpZ2h0IGltZyB7XG4gIGFzcGVjdC1yYXRpbzogMy8yO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fYWdlbmN5RGF0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5RGF0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBwYWRkaW5nLXRvcDogMzFweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2FnZW5jeURhdGFfX2NvbnRlbnRfX3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMzlweDtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2FnZW5jeURhdGFfX2NvbnRlbnRfX3dyYXBwZXIge1xuICAgIGdhcDogMTBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtX19hZ2VuY3lOYW1lLFxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX29wZW5pbmdIb3Vyc19fdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyOXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtX19hZ2VuY3lOYW1lLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5RGF0YSAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fYWdlbmN5VGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2JhZGdlcy5lcmdvLWFkaG9wX19iYWRnZXMgLmVyZ28tYWRob3BfX2JhZGdlc19faXRlbSB7XG4gIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgbWF4LXdpZHRoOiA3MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19iYWRnZXMuZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogMTQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19iYWRnZXMuZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5RGF0YSAuZXJnby1hZGhvcF9fYmFkZ2VzLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIGltZyB7XG4gIGFzcGVjdC1yYXRpbzogMTQvMTk7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICBtaW4taGVpZ2h0OiA3MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2JhZGdlcy5lcmdvLWFkaG9wX19iYWRnZXMgLmVyZ28tYWRob3BfX2JhZGdlc19faXRlbSBpbWcge1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYm9keS1zY3JvbGwtbG9ja2VkIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRvcDogNzNweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0LS12aXNpYmxlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3M3B4KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gICAgdG9wOiA4MXB4O1xuICB9XG4gIC5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQtLXZpc2libGUge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MXB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IHtcbiAgICB0b3A6IDk1cHg7XG4gIH1cbiAgLnBhZ2VfX3NuaXBwZXRzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dC0tdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTVweCk7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgaDQge1xuICBtYXJnaW46IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2NvbnRhaW5lciAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19sb2NhdGlvbi1kZXRhaWxzLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2NvbnRhaW5lciAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2NvbnRhaW5lciAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19sb2NhdGlvbi1kZXRhaWxzLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2NvbnRhaW5lciAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB7XG4gICAgcGFkZGluZzogMTBweCA1MHB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX3BpY3R1cmUge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbiAgZmxleDogMztcbiAgbWFyZ2luOiAyNXB4IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19waWN0dXJlIHtcbiAgICBtYXJnaW46IDQwcHggNTBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19waWN0dXJlIGltZyB7XG4gIGFzcGVjdC1yYXRpbzogMy8yO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19sb2NhdGlvbi1kZXRhaWxzIHtcbiAgZmxleDogNTtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbG9jYXRpb24tZGV0YWlscyBhZGRyZXNzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xvY2F0aW9uLWRldGFpbHMgYWRkcmVzcyAuZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW1fX2FnZW5jeU5hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xvY2F0aW9uLWRldGFpbHMgYWRkcmVzcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB7XG4gIGZsZXg6IDM7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3RfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgbGk6bnRoLWNoaWxkKC1uKzMpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDdweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xuICB9XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB1bCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICB9XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCBsaSB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzIGg0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnNfX2hlYWRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnNfX2hlYWRlciBzdHJvbmcsXG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vyc19faGVhZGVyIC5yZWFjdC1zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19oZWFkZXIgLnJlYWN0LXN2Zy1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnNfX2RldGFpbHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzLS12aXNpYmxlIC5yZWFjdC1zdmctaWNvbiB7XG4gIHJvdGF0ZTogMTgwZGVnO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vycy0tdmlzaWJsZSAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19kZXRhaWxzIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMCA1MHB4IDM1cHg7XG4gIG1hcmdpbjogMCAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX25hdmlnYXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDMwcHg7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCBhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiB7XG4gIG1heC13aWR0aDogODcwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb246bm90KC5zaG93LW1vcmUpIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiEgYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbjpub3QoLnNob3ctbW9yZSkgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fYmVuZWZpdHMsXG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb246bm90KC5zaG93LW1vcmUpIC5lcmdvLWFkaG9wX19idXR0b24tLXByaW1hcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbjpub3QoLnNob3ctbW9yZSkgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fcmVhZC1tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uLS13aXRoLXJhdGluZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi0td2l0aC1yYXRpbmdzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi0td2l0aC1yYXRpbmdzIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2FzaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi0td2l0aC1yYXRpbmdzIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2FzaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAzNSU7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fY29udGVudCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19hc2lkZSB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2FzaWRlIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fYmVuZWZpdHMge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19yZWFkLW1vcmUsXG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX3JlYWQtbGVzcyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fcmVhZC1sZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9faW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19pbWFnZSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fY29udGVudCB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fY29udGVudCBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3NfX2N0YSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fbm9fX3JhdGluZ19fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5ncy5mYWNlYm9vayAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWVfX3RleHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlLS13aXRoLXRvb2x0aXAge1xuICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5ncyAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWUtLXdpdGgtdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5ncyAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWUtLXdpdGgtdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X190cmlnZ2VyIHtcbiAgd2lkdGg6IDQwcHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5ncyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzX190ZXh0LFxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlX190ZXh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwO1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9faGVhZGluZyxcbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX3N1YmhlYWRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWwgLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsX19oZWFkaW5nOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9fc3ViaGVhZGluZzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4uYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWwgLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsX19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9faXRlbSB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG4uYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWwgLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0ge1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5lcmdvLWFkaG9wX19iYWRnZXMgLmVyZ28tYWRob3BfX2JhZGdlc19faXRlbSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDcwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FtcGFpZ25zX19jb250ZW50IC5jYW1wYWlnbl9fdGVhc2VyX193cmFwcGVyOm50aC1jaGlsZChldmVuKSAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhbXBhaWduc19fY29udGVudCAuY2FtcGFpZ25fX3RlYXNlcl9fd3JhcHBlcjpudGgtY2hpbGQoZXZlbikgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gIH1cbn1cbi5jYW1wYWlnbnNfX2NvbnRlbnQgLmNhbXBhaWduX190ZWFzZXJfX3dyYXBwZXI6bGFzdC1jaGlsZCAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIge1xuICBtYXgtd2lkdGg6IDg3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IC0xcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE2KSwgMCA2cHggMTBweCAwIHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xMiksIDAgMXB4IDE4cHggMCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMSk7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciB7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDIxN3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9faW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2ltYWdlIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2ltYWdlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDQwcHggNDhweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQyMHB4KTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDRweDtcbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2Rlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2Rlc2NyaXB0aW9uIHVsLFxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fZGVzY3JpcHRpb24gb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19jdGFfX3dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19jdGFfX3dyYXBwZXIge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZ2FwOiAxNnB4O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkaXI9cnRsXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlciB7XG4gIHVzZXItc2VsZWN0OiBhdXRvO1xufVxuLnNsaWNrLXNsaWRlci5zbGljay1pbml0aWFsaXplZCAuc2xpY2stbGlzdCxcbi5zbGljay1zbGlkZXIuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zbGljay1zbGlkZXIuc2xpY2std2l0aC1hcnJvd3Mge1xuICBtYXJnaW4tbGVmdDogMzZweDtcbiAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWNrLXNsaWRlci5zbGljay13aXRoLWFycm93cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy0tY3VzdG9tIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stbmV4dCB7XG4gIGxlZnQ6IDEwMCU7XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlNmU2O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19jaGlwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC0yLCAjMDA5Mjg0KTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xufVxuLmVyZ28tYWRob3BfX2NoaXAuY2hpcC1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjgwNzE7XG59XG4uZXJnby1hZGhvcF9fY2hpcC5jaGlwLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1hZGRpdGlvbmFsLTMsICMwZjk0YTcpO1xufVxuLmVyZ28tYWRob3BfX2NoaXAuY2hpcC12aW9sZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1hZGRpdGlvbmFsLTEsICNiMzE3NjcpO1xufVxuLmVyZ28tYWRob3BfX2NoaXAuY2hpcC1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1hZGRpdGlvbmFsLTUsICNlODdhMTYpO1xufVxuLmVyZ28tYWRob3BfX2NoaXAuY2hpcC15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1hZGRpdGlvbmFsLTQsICNmNmNiMDApO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY29udGFjdEJhcl9fb3ZlcmxheSB7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcGFkZGluZzogMCA2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXkge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXkgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXlfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IDAgMjRweCAzOHB4IDNweCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMTIpLCAwIDlweCA0NnB4IDhweCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMSksIDAgMTFweCAxNXB4IC03cHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE2KTtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXkgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2xlZnQtaWNvbi1jdGEgLmVyZ28tYWRob3BfX2J1dHRvbl9fdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cblxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgaDQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9fY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIHBhZGRpbmc6IDE1cHggMjRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluay5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluazo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluayAucmVhY3Qtc3ZnLWljb24sXG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWNoZXZyb24sXG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmtfX3RleHQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGlua19fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIG1hcmdpbjogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVweDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1wcmltYXJ5IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgcGFkZGluZzogMTVweCAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmstLXByaW1hcnkge1xuICAgIGhlaWdodDogOTJweDtcbiAgICBsaW5lLWhlaWdodDogOTJweDtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1leHBhbmRlZCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1leHBhbmRlZC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmstLWV4cGFuZGVkIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWNoZXZyb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmstLWV4cGFuZGVkIHN2ZyB7XG4gIGZpbGw6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX3Bob25lcy1hcmVhIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluazpob3ZlciAucmVhY3Qtc3ZnLWljb24ge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9fcGhvbmVzLWFyZWEgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIC5yZWFjdC1zdmctaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXlfX3NuaXBwZXQtY29udGVudCB7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDEycHgpO1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9fb3ZlcmxheV9fc25pcHBldC1jb250ZW50IHtcbiAgICB3aWR0aDogbWluKHZhcigtLWNvbHVtbnMpICogNDAwcHgsIDEyNjhweCk7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5X19zbmlwcGV0LWNvbnRlbnQgLnRlYXNlcnNHcmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXlfX3NuaXBwZXQtY29udGVudCAudGVhc2Vyc0dyaWQgLnRlYXNlcnNHcmlkX19saXN0IHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uY3VzdG9tQ29sdW1uU25pcHBldCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIHtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0ge1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0ge1xuICAgIC1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6IDQyNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtOmxhc3QtY2hpbGQgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1jb250ZW50LWFyZWEge1xuICBwYWRkaW5nOiAwIDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tY29udGVudC1hcmVhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tY29udGVudC1hcmVhIH4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSB7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tY29udGVudC1hcmVhIH4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSAuY21wLXRleHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tY29udGVudC1hcmVhIC5lcmdvLWFkaG9wX19idXR0b246bm90KC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluaykge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1idXR0b24tYXJlYSAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBtYXJnaW4tYm90dG9tOiAyMXB4O1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWJ1dHRvbi1hcmVhIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tYnV0dG9uLWFyZWEgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9fcGhvbmVzLWFyZWEgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX190ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3RleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX190ZXh0IHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDA7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY29udGVudF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGdhcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19jb250ZW50X193cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA0OHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9faW1hZ2Uge1xuICBoZWlnaHQ6IDE3NnB4O1xuICB3aWR0aDogMTc2cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ltYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAyNjhweDtcbiAgICB3aWR0aDogMjY4cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY29udGVudCAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fYWdlbnQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FnZW50IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY29udGVudCAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19jb250ZW50X19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FkZHJlc3MsXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fcGhvbmUsXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fbW9iaWxlLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ZheCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fYWRkcmVzczpub3QoOmxhc3QtY2hpbGQpOm5vdCgud2l0aC1yb3V0ZS1wbGFuZW4pLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3Bob25lOm5vdCg6bGFzdC1jaGlsZCk6bm90KC53aXRoLXJvdXRlLXBsYW5lbiksXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fbW9iaWxlOm5vdCg6bGFzdC1jaGlsZCk6bm90KC53aXRoLXJvdXRlLXBsYW5lbiksXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fZmF4Om5vdCg6bGFzdC1jaGlsZCk6bm90KC53aXRoLXJvdXRlLXBsYW5lbikge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FkZHJlc3MgcCxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19waG9uZSBwLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX21vYmlsZSBwLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ZheCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FkZHJlc3MgLnJlYWN0LXN2Zy1pY29uLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3Bob25lIC5yZWFjdC1zdmctaWNvbixcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19tb2JpbGUgLnJlYWN0LXN2Zy1pY29uLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ZheCAucmVhY3Qtc3ZnLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgbGVmdDogMDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZGRyZXNzIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FkZHJlc3MgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fcGhvbmUgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19tb2JpbGUgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fcGhvbmUgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayxcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX21vYmlsZSAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19jdGFzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY3Rhc19fd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveC5jb250YWluZXJCb3gtLWhhbGYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWluLXdpZHRoOiA1MCU7XG4gIH1cbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveC5jb250YWluZXJCb3gtLXdyYXBwZXIgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3guY29udGFpbmVyQm94LS13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94LmNvbnRhaW5lckJveC0td3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgLmNvbnRhaW5lckJveC0taGFsZiAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgfVxuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94LmNvbnRhaW5lckJveC0td3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3ggPiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuICB9XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3ggPiBkaXYgPiAqIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDEycHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbjpub3QoLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3NfX2N0YSk6bm90KC5zbGljay1hcnJvdykge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3ggLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b246bm90KC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzX19jdGEpOm5vdCguc2xpY2stYXJyb3cpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiB7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94IHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDI0cHgpO1xuICB9XG59XG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guYWdlbmN5LXJhdGluZy13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCA+IGRpdiA+IC5hZ2VuY3lSYXRpbmcge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guYWdlbmN5LXJhdGluZy13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCA+IGRpdiA+IC5hZ2VuY3lSYXRpbmcge1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICB9XG59XG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guYWdlbmN5LXJhdGluZy13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCA+IGRpdiA+IC5hZ2VuY3lSYXRpbmcgKyAuYWdlbmN5UmF0aW5nIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgPiAuYWdlbmN5UmF0aW5nICsgLmFnZW5jeVJhdGluZyB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guYWdlbmN5LXJhdGluZy13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCA+IGRpdiA+IC5hZ2VuY3lSYXRpbmcgLmVyZ28tYWRob3BfX2FnZW5jeS1yYXRpbmcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ28gLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cbi5lcmdvLWFkaG9wX19jb3Jwb3JhdGVMb2dvIGltZyB7XG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29ycG9yYXRlTG9nbyBpbWcge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY29ycG9yYXRlTG9nb3Mge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgcGFkZGluZzogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb3Jwb3JhdGVMb2dvcyB7XG4gICAgZ2FwOiAzMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29ycG9yYXRlTG9nb3MgLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ29zX19sZWdhbC1ub3RpY2Uge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYmxhY2ssICMwMDApO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9faGVhZGxpbmUgaDIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cbi5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9fZGVzY3JpcHRpb25fX2VtYWlsX193cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9fZGVzY3JpcHRpb25fX2VtYWlsX193cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uX19lbWFpbF9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZWtpTGVnYWwge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB9XG59XG4uYWVtLUF1dGhvckxheWVyLUVkaXQgLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybV9fc3RlcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb3VudGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvdW50ZXIgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrLWdyYXksICNhZWFlYWUpO1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19pY29uIC5yZWFjdC1zdmctaWNvbiB7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2ljb24gcCB7XG4gIGZsZXg6IDE7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgcC5lcmdvLWFkaG9wX19la2lMZWdhbF9fdHh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19kb3dubG9hZF9fc3RlcCBzdHJvbmcsXG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtX19zdGVwIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybSBsYWJlbCA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuOjpiZWZvcmUsIC5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMxODE4NztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsID4gc3Bhbjo6YWZ0ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxlZnQ6IDRweDtcbiAgdG9wOiA0cHg7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogNXB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybSBsYWJlbCA+IHNwYW4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgc3Bhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxODE4Nztcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2N0YV9fd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jdGFfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jdGFfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2N0YV9fd3JhcHBlciAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIGdyaWQtYXJlYTogaGVhZGxpbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZWtvbWlTZWFsc19faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjRweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fcmF0aW5nIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZmxleDogMCAwIDQxMnB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fcmF0aW5nLXNlYWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDIxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTZweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAuZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fcmF0aW5nLXNlYWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19yYXRpbmctc2VhbF9fY29udGFpbmVyLXRleHQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5lcmdvLWFkaG9wX19la29taVNlYWxzX19yYXRpbmcgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3JhdGluZyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzX190ZXh0LXJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19zZWFscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjRweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fc2VhbHMgaW1nIHtcbiAgd2lkdGg6IDE3MHB4O1xufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX2N0YSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19jdGEgYSB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5lcmdvLWFkaG9wX19la29taVNlYWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgfVxufVxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnRfX3dyYXBwZXIge1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xufVxuXG4uZmVhdHVyZWRQcm9kdWN0c19fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDI0cHg7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mZWF0dXJlZFByb2R1Y3RzX19jb250ZW50IHtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMTgycHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgPiBkaXYsXG4uZmVhdHVyZWRQcm9kdWN0c19fY29udGVudCA+IGRpdiA+IGRpdiB7XG4gIG1heC13aWR0aDogMzc4cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2ZlYXR1cmVkLXByb2R1Y3QtdGVhc2VyLFxuICAuZmVhdHVyZWRQcm9kdWN0c19fY29udGVudCAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyLFxuICAuZmVhdHVyZWRQcm9kdWN0c19fY29udGVudCAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIGRpdltkYXRhLXRoZW1lXSxcbiAgLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciBkaXZbZGF0YS10aGVtZV0gPiBkaXYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIHtcbiAgICBtYXgtd2lkdGg6IDM3OHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0OHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIycHggMnB4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4yNSk7XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2ltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMjUycHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19pbWFnZSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19iZXN0X2RlYWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiA0cHggMDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDVweCAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fYmVzdF9kZWFsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNTJweCk7XG4gICAgbWluLWhlaWdodDogMjAxcHg7XG4gICAgcGFkZGluZzogMzJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19jb250ZW50IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIG1hcmdpbi10b3A6IDM0cHg7XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGh5cGhlbnM6IGF1dG87XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fdGV4dCxcbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSxcbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fdGV4dDpub3QoOmxhc3QtY2hpbGQpLFxuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX190ZXh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAxMHB4IDAgMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm9fX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHdyYXAgY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAzNHB4O1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA0NHB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBwLCAuZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gZGl2ID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIHAsIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBkaXYgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBwLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX25hbWUsIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBkaXYgPiBzcGFuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX25hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fY29udGFjdC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19jb250YWN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIHtcbiAgICBtYXJnaW46IDAgLTEycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19jb250ZW50X19yaWdodCxcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fbGVmdCB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19jb250ZW50X19yaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19jb250ZW50X19yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDU4JTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fbGVmdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fbGVmdCB7XG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xuICAgIHdpZHRoOiA0MiU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4ge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4ge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW46ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbjpudGgtY2hpbGQoMykge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uOm50aC1jaGlsZCgzKSAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbjpudGgtY2hpbGQoMykgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3Mge1xuICAgIGdhcDogMCAxMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uOm50aC1jaGlsZCgzKSAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uX19saW5rcyAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uX19saW5rc19faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbjpudGgtY2hpbGQoMykgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3MgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19pdGVtIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3MgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2l0ZW0gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2xpbmsge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3MgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2l0ZW0gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2xpbms6aG92ZXIsIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW4gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3MgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2l0ZW0gLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2xpbms6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG5cbi5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5zIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYW1wYWlnbnMgLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYW1wYWlnbnMgLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYW1wYWlnbnMgLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5lcmdvLWFkaG9wX19oZWFkbGluZV9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1heC13aWR0aDogNDQwcHg7XG4gIH1cbn1cbi5jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19oZWFkbGluZSAuZXJnby1hZGhvcF9faGVhZGxpbmVfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5lcmdvLWFkaG9wX19oZWFkbGluZSAuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICM1ZTViNWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faGVhZGxpbmUgLmVyZ28tYWRob3BfX2hlYWRsaW5lX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5lcmdvLWFkaG9wX19oZWFkbGluZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5lcmdvLWFkaG9wX19oZWFkbGluZV9fdGl0bGU6b25seS1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19ob3RsaW5lIHtcbiAgbWF4LXdpZHRoOiA4NzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19jb250ZW50X19sZWZ0LFxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fY29udGVudF9fbGVmdCxcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fY29udGVudF9fcmlnaHQge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fY29udGVudF9fcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX3JpZ2h0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2ltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9faW1hZ2UgaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19kZXNjcmlwdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19kZXNjcmlwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlci5wcmltYXJ5TnVtYmVyIHN2ZyB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyLnByaW1hcnlOdW1iZXIgc3ZnIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIucHJpbWFyeU51bWJlciAuZXJnby1hZGhvcF9fc21sX19pY29uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIucHJpbWFyeU51bWJlciAuZXJnby1hZGhvcF9fc21sX19pY29uX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlciAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyX190ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXJfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiAycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIgc3ZnIHtcbiAgd2lkdGg6IDIxcHg7XG4gIGhlaWdodDogMjFweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19sb2NhdGlvbixcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbG9jYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnJlYWN0LXN2Zy1pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4ucmVhY3Qtc3ZnLWljb24gc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9faWZyYW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX19pZnJhbWU6bm90KC53aXRoLXB5bS1pZnJhbWUpIGlmcmFtZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19pZnJhbWUgLmFkaG9wLWVyZ29fX2NvbnRlbnQtbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9faWZyYW1lIC5lcmdvLWFkaG9wX19pZnJhbWVfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9faWZyYW1lIC5lcmdvLWFkaG9wX19pZnJhbWVfX2NvbnRhaW5lciBpZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmFkaG9wLWVyZ29fX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYWRob3AtZXJnb19fZmFsbGJhY2tfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5Aa2V5ZnJhbWVzIHJlYWN0LWxvYWRpbmctc2tlbGV0b24ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cbi5yZWFjdC1sb2FkaW5nLXNrZWxldG9uIHtcbiAgLS1iYXNlLWNvbG9yOiAjZWJlYmViO1xuICAtLWhpZ2hsaWdodC1jb2xvcjogI2Y1ZjVmNTtcbiAgLS1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIC0tYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAtLXBzZXVkby1lbGVtZW50LWRpc3BsYXk6IGJsb2NrO1xuICAvKiBFbmFibGUgYW5pbWF0aW9uICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2UtY29sb3IpO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIC8qIE5lY2Vzc2FyeSBmb3Igb3ZlcmZsb3c6IGhpZGRlbiB0byB3b3JrIGNvcnJlY3RseSBpbiBTYWZhcmkgKi9cbn1cbi5yZWFjdC1sb2FkaW5nLXNrZWxldG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB2YXIoLS1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYmFzZS1jb2xvciksIHZhcigtLWhpZ2hsaWdodC1jb2xvciksIHZhcigtLWJhc2UtY29sb3IpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHJlYWN0LWxvYWRpbmctc2tlbGV0b247XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWFuaW1hdGlvbi1kaXJlY3Rpb24pO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmFkaG9wLWVyZ29fX2xvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmFkaG9wLWVyZ29fX2xvYWRlciBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fc2xpZGUgZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBtYXJnaW46IDAgYXV0byAyNHB4O1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fc2xpZGUgZmlndXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX3NsaWRlIGZpZ3VyZSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fc2xpZGUgLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyX19zbGlkZV9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGNvbG9yOiAjNWU1YjVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyX19jb3VudGVyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fY291bnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyIC5zbGljay1zbGlkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLnNsaWNrLXNsaWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE5cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlciAuc2xpY2stcHJldixcbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlciAuc2xpY2stbmV4dCB7XG4gIHRvcDogY2FsYygyNXZ3IC0gMjRweCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgdG9wOiAyMDJweDtcbiAgfVxufVxuXG5maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmZpZ3VyZSBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5maWd1cmUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZXJnby1hZGhvcF9fbGVnYWwtZGF0YS5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5lcmdvLWFkaG9wX19sZWdhbC1kYXRhLnZlcnRpY2FsIC5lcmdvLWFkaG9wX19sZWdhbC1kYXRhX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sb2NhdGlvbi1zd2l0Y2ggLnNsaWNrLXNsaWRlcixcbi5sb2NhdGlvbi1zd2l0Y2ggLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lcixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5zbGljay1zbGlkZXIsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1zbGlkZXIsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTFweDtcbn1cbi5sb2NhdGlvbi1zd2l0Y2ggLmVyZ28tYWRob3BfX21vZGFsX19jbG9zZXIsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuZXJnby1hZGhvcF9fbW9kYWxfX2Nsb3Nlcixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuZXJnby1hZGhvcF9fbW9kYWxfX2Nsb3NlciB7XG4gIG1hcmdpbi1yaWdodDogLTE0cHg7XG59XG4ubG9jYXRpb24tc3dpdGNoIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stc2xpZGUsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stc2xpZGUsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLnNsaWNrLXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubG9jYXRpb24tc3dpdGNoIC5zbGljay1zbGlkZSA+IGRpdixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5zbGljay1zbGlkZSA+IGRpdixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuc2xpY2stc2xpZGUgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubG9jYXRpb24tc3dpdGNoIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLXByZXYsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1wcmV2LFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1wcmV2LFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1wcmV2LFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTEycHg7XG4gIH1cbn1cbi5sb2NhdGlvbi1zd2l0Y2ggLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stbmV4dCxcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stbmV4dCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDZweCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAubG9jYXRpb24tc3dpdGNoIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQsXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQsXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgKyAxMnB4KTtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IDEyMHB4O1xuICB3aWR0aDogMTIwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTc1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9faW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIG1hcmdpbjogMDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcm93LWdhcDogMzZweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6IDAgMCAyNHB4O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiB3cmFwIGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuLnNsaWNrLXNsaWRlciAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1pdGVtIC5lcmdvLWFkaG9wX19idXR0b24tLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtaXRlbSAuZXJnby1hZGhvcF9fYnV0dG9uLS13cmFwcGVyLmVyZ28tYWRob3BfX2J1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2cHgpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHRvcDogLTRweDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzVweCk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiBhZGRyZXNzIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIGFkZHJlc3Mge1xuICAgIG1hcmdpbjogMjVweCAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIGg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIC5lcmdvLWFkaG9wX19tb2RhbF9fYm9keSB7XG4gIHBhZGRpbmctbGVmdDogNjRweDtcbiAgcGFkZGluZy1yaWdodDogNjRweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyxcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICAgIHdpZHRoOiA1NjhweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyLFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDU0NHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93LmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2csXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgICB3aWR0aDogNzI4cHg7XG4gICAgbWF4LXdpZHRoOiA3MjhweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdy5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lcixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9faW1hZ2UtY29udGFpbmVyLFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDU4OHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1NjRweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDg3MHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogODQ2cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICAgIHdpZHRoOiA4MzJweDtcbiAgICBtYXgtd2lkdGg6IDgzMnB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lcixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogMzE0cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTY0cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNjRweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgICB3aWR0aDogNjUycHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDYyOHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgICB3aWR0aDogOTY2cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA5NDJweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDEwNzZweDtcbiAgICBtYXgtd2lkdGg6IDEwNzZweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIsXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDI4M3B4O1xuICB9XG59XG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbWVnYUZvb3RlciB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cbi5hZW0tQXV0aG9yTGF5ZXItUHJldmlldyAuZXJnby1hZGhvcF9fbWVnYUZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21lZ2FGb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbn1cbi5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sdW1uLWNvdW50OiAxO1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX21lZ2FGb290ZXIgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyB7XG4gICAgY29sdW1uLWNvdW50OiA0O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbWVnYUZvb3RlciAuZXJnby1hZGhvcF9fbWVnYUZvb3Rlcl9fbGlua3MgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuLmVyZ28tYWRob3BfX21lZ2FGb290ZXIgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmVyZ28tYWRob3BfX21lZ2FGb290ZXIgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluazpob3ZlciwgLmVyZ28tYWRob3BfX21lZ2FGb290ZXIgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbW9kYWwge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjQpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5lcmdvLWFkaG9wX19tb2RhbC5lcmdvLWFkaG9wX19tb2RhbC1zaG93IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19tb2RhbC5vdGItbW9kYWwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmVyZ28tYWRob3BfX21vZGFsLm90Yi1tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDk2OHB4O1xuICBtYXJnaW46IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9fY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOWM1Yzc7XG4gIGJvcmRlci10b3A6IDA7XG4gIHBhZGRpbmc6IDAgMTZweCAyNHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9faGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M5YzVjNztcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAyNHB4IDE2cHggMTVweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5lcmdvLWFkaG9wX19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2hlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDIwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2hlYWRlciAuZXJnby1hZGhvcF9fbW9kYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19oZWFkZXIgLmVyZ28tYWRob3BfX21vZGFsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19oZWFkZXIgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19tb2RhbF9fY2xvc2VyIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19wYW5lbCB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDY0cHg7XG4gIGxlZnQ6IC0xMDAlO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UgMHM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19wYW5lbCB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgdG9wOiA3MnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fcGFuZWwuaXMtb3BlbiB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIHtcbiAgei1pbmRleDogOTk5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMCk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSBlYXNlIDBzIDAuNDVzLCBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgMC4zcyAwLjE1cztcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXItLW9wZW4ge1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC44KTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhci5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyLS1vcGVuIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19jb250ZW50IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNjRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9faGVhZGVyIHtcbiAgICBoZWlnaHQ6IDcycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlcl9fdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9faGVhZGVyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluay5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19iYWNrIHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluay5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19jbG9zZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX2JhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzLCAyLCAxLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIG1pbi13aWR0aDogY2FsYygxMDAlIC0gNDMycHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgd2lkdGg6IDAlO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNXB4O1xuICBwYWRkaW5nOiA0OHB4IDQ4cHggNDhweCA2MHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2ljb24ge1xuICBtYXJnaW4tbGVmdDogLTM1cHg7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlcl9fY29udGVudCB7XG4gIGZsZXg6IDE7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlcl9fY29udGVudCBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2NvbnRlbnQgcC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2N0YV9fd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2N0YV9fd3JhcHBlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2N0YV9fd3JhcHBlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMgLmVyZ28tYWRob3BfX29wZW5pbmdIb3Vyc19fdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMgLnR4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG59XG4uZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnNfX29wZW5pbmctbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAxNHB4IDA7XG59XG4uZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnNfX29wZW5pbmctbGlzdCBsaSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnNfX29wZW5pbmctbGlzdCBsaSBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDMzcHg7XG4gIGZsZXg6IDAgMCAzM3B4O1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXkgLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1heC13aWR0aDogNDI2cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5IC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMge1xuICAgIHdpZHRoOiA0MjZweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIge1xuICBtYXgtd2lkdGg6IDg3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIC5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lcl9faGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIgLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyX19ib2R5ID4gZGl2IHtcbiAgcGFkZGluZzogMTBweCAwIDVweDtcbn1cbi5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lciAuZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXJfX2JvZHkgPiBkaXYgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lciAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIC5lcmdvLWFkaG9wX19oZWFkbGluZSAuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2JkYmRiZDtcbn1cbi5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lciAuZXJnby1hZGhvcF9faGVhZGxpbmUgLmVyZ28tYWRob3BfX2hlYWRsaW5lX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnByb2R1Y3REaXNjbGFpbWVyQ29udGFpbmVyIC5jYVBhZ2VFbGVtZW50ID4gLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG4ucHJvZHVjdERpc2NsYWltZXJDb250YWluZXIgLmNhUGFnZUVsZW1lbnQgPiAuYWVtLUdyaWQgPiAucHJvZHVjdGRpc2NsYWltZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wcm9wb3NpdGlvbi1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9wb3NpdGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG59XG4ucHJvcG9zaXRpb24taXRlbTpub3QoLndpdGgtZGVzY3JpcHRpb24pIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wcm9wb3NpdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWl0ZW0taWNvbiB7XG4gIG1heC1oZWlnaHQ6IDM0cHg7XG59XG4ucHJvcG9zaXRpb24taXRlbSAucHJvcG9zaXRpb24tY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvcG9zaXRpb24taXRlbSAucHJvcG9zaXRpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG4ucHJvcG9zaXRpb24taXRlbSAucHJvcG9zaXRpb24tY29udGVudCAucHJvcG9zaXRpb24taXRlbS1oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIG1hcmdpbjogNXB4IDAgMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9wb3NpdGlvbi1pdGVtIC5wcm9wb3NpdGlvbi1jb250ZW50IC5wcm9wb3NpdGlvbi1pdGVtLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWNvbnRlbnQgLnByb3Bvc2l0aW9uLWl0ZW0tZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDE4cHggMCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWNvbnRlbnQgLnByb3Bvc2l0aW9uLWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fcmF0aW5nSXRlbSAuZXJnby1hZGhvcF9fcmF0aW5nSXRlbV9fdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDAgMCA1cHg7XG59XG4uZXJnby1hZGhvcF9fcmF0aW5nSXRlbSAuZXJnby1hZGhvcF9fcmF0aW5nSXRlbV9fdGV4dCB7XG4gIG1hcmdpbjogNXB4IDAgMDtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdJdGVtIC5lcmdvLWFkaG9wX19yYXRpbmdJdGVtX190ZXh0IHAge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ0l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzIC5lcmdvLWFkaG9wX19yYXRpbmdTdGFyc19fc3RhcnMsXG4uZXJnby1hZGhvcF9fcmF0aW5nU3RhcnMgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzX19zdGFycy1maWxsZWQge1xuICB6LWluZGV4OiAwO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbGlnaHQtZ3JheSwgI2Q5ZDlkOSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzLWZpbGxlZCB7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1hZGRpdGlvbmFsLTQsICNmNmNiMDApO1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzIC5lcmdvLWFkaG9wX19yYXRpbmdTdGFyc19fc3RhcnNfX3RleHQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fcmF0aW5nVmFsdWUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlLS1jaXJjbGUge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlIC5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZV9fY2lyY2xlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE2NmFkO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZSAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWVfX3RleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZSAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWVfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fc2ltcGxlX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fdmlkZW8ge1xuICBtYXJnaW46IDA7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8uZXJnby1hZGhvcF9fdmlkZW8tLWNvbnNlbnQtb3ZlcmZsb3dlZCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyohIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9faWZyYW1lX193cmFwcGVyIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gaWZyYW1lIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmFkaG9wLWVyZ29fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXlfX2lubmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiKSwgMC44KTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5X19pbm5lciAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXlfX2lubmVyX19jb250ZW50IHtcbiAgcGFkZGluZzogNjZweCAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXlfX2lubmVyIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheV9faW5uZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiEgYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX3JlYWRNb3JlX19jdGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX2J1dHRvbi0tcHJpbWFyeSB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX19idXR0b24tLXByaW1hcnkge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50IC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50IC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX21vZGFsIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX21vZGFsIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2Nsb3NlciB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX21vZGFsIC5lcmdvLWFkaG9wX19idXR0b24tLXByaW1hcnkge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbms6bm90KC5lcmdvLWFkaG9wX19tb2RhbF9fY2xvc2VyKSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zb2NpYWxNZWRpYUFuZExpbmtzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG5cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgZ2FwOiAyNHB4O1xuICBwYWRkaW5nOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3Mge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzX19saXN0IHtcbiAgZ2FwOiAyMHB4O1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2l0ZW0gLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2xpbmsge1xuICBwYWRkaW5nOiAycHg7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyBzdmcge1xuICBmaWxsOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzX19saW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3NfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3NfX2xpbmtzIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3MgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIC5lcmdvLWFkaG9wX19idXR0b25fX3RleHQge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rc19faGVhZGxpbmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rc19fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDMwcHg7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rc19faXRlbSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2xpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2ljb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rc19fYW5jaG9yIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgYXV0byA4MnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSB7XG4gICAgd2lkdGg6IDI0OHB4O1xuICB9XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgd2lkdGg6IDE3MnB4O1xuICBoZWlnaHQ6IDE3MnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICB9XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIHAsIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBkaXYgPiBzcGFuIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW46IDA7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX25hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX29jY3VwYXRpb24ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2NvbnRhY3Qge1xuICBtYXJnaW4tdG9wOiA3cHg7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fY29udGFjdCBwLCAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fY29udGFjdCBkaXYgPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzc1NzU3NTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19jb250YWN0IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCA0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmFkaG9wX190ZWFtLS0xLWVtcGxveWVlcyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSwgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZS0tc29sbyB7XG4gICAgcGFkZGluZzogMCAxNHB4O1xuICAgIG1heC13aWR0aDogNDY0cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5hZGhvcF9fdGVhbS0tMS1lbXBsb3llZXMgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUsIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUtLXNvbG8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYWRob3BfX3RlYW0tLTEtZW1wbG95ZWVzIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiwgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZS0tc29sbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24ge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWRob3BfX3RlYW0tLXJlZ3VsYXIge1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbn1cbi5hZGhvcF9fdGVhbS0tcmVndWxhci5hZGhvcF9fdGVhbS0tMS1lbXBsb3llZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmFkaG9wX190ZWFtLS1yZWd1bGFyLmFkaG9wX190ZWFtLS0yLWVtcGxveWVlcyAuc2xpY2stc2xpZGVyIHtcbiAgbWF4LXdpZHRoOiA1NDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hZGhvcF9fdGVhbS0tcmVndWxhciAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmFkaG9wX190ZWFtLS1yZWd1bGFyIC5zbGljay1zbGlkZXIge1xuICAgIG1heC13aWR0aDogNzgwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuYWRob3BfX3RlYW0tLXJlZ3VsYXIgLnNsaWNrLXNsaWRlciB7XG4gICAgbWF4LXdpZHRoOiAxMDQwcHg7XG4gIH1cbn1cbi5hZGhvcF9fdGVhbS0tcmVndWxhciAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy0tY3VzdG9tIHtcbiAgdG9wOiAxNjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmFkaG9wX190ZWFtLS1yZWd1bGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbn1cblxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUtLXNvbG8ge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tLTEtZW1wbG95ZWVzIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19mbGFncyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZzpob3ZlciAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd25fX3dyYXBwZXIge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2ZsYWdzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19mbGFncyAuZmxhZyB7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2ZsYWdzIC5mbGFnOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZmxhZ3MgLmZsYWc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19mbGFncyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZWxsaXBzaXMge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd25fX3dyYXBwZXIge1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodGVzdC1ncmF5LCAjZjJmMmYyKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyOHB4KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXgtaGVpZ2h0OiAxNDRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NnB4KSB7XG4gIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19kcm9wZG93bl9fd3JhcHBlciB7XG4gICAgd2lkdGg6IDI1NXB4O1xuICB9XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd25fX3dyYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IDRweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duX193cmFwcGVyIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19kcm9wZG93biB7XG4gIG1heC1oZWlnaHQ6IDE0NHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd25fX3dyYXBwZXIgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duIGg1IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5lcmdvLWFkaG9wX190ZWFtIHtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrLWdyYXksICNhZWFlYWUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYW0gLmVyZ28tYWRob3BfX3RlYW1fX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYW0gLmVyZ28tYWRob3BfX3RlYW1fX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYW0gLmVyZ28tYWRob3BfX3RlYW1fX3N1YmhlYWRpbmcgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19sb2NhdGlvbi1waWNrZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19sb2NhdGlvbi1waWNrZXIgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJGUyBNZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAwIDAgdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCkgaW5zZXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19sb2NhdGlvbi1waWNrZXIgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19sb2NhdGlvbi1waWNrZXIgLmVyZ28tYWRob3BfX3RlYW1fX2xvY2F0aW9uLXBpY2tlcl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9fY3RhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGVhc2Vyc0dyaWQge1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xufVxuLnRlYXNlcnNHcmlkIC50ZWFzZXJzR3JpZF9fbGlzdCB7XG4gIG1heC13aWR0aDogMTIzMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDI0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyNHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbi50ZWFzZXJzR3JpZCAudGVhc2Vyc0dyaWRfX2xpc3QgPiBbZGF0YS1uYz1UZWFzZXJdIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cbi50ZWFzZXJzR3JpZC5jb2xzLTEgLnRlYXNlcnNHcmlkX19saXN0IHtcbiAgbWF4LXdpZHRoOiA5MTJweDtcbn1cbi50ZWFzZXJzR3JpZDpub3QoLmNvbHMtMSkgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2Vyc0dyaWQuY29scy0yIC50ZWFzZXJzR3JpZF9fbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2Vyc0dyaWQuY29scy0zIC50ZWFzZXJzR3JpZF9fbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgfVxufVxuLnRlYXNlcnNHcmlkIC50ZWFzZXIuYmFzZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udGVhc2Vyc0dyaWQgLnRlYXNlci5iYXNlID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmVyZ28tYWRob3BfX3RlYXNlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmVyZ28tYWRob3BfX3RlYXNlci5lcmdvLWFkaG9wX190ZWFzZXItLWZyYW1lIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IC0xcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE2KSwgMCA2cHggMTBweCAwIHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xMiksIDAgMXB4IDE4cHggMCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIuZXJnby1hZGhvcF9fdGVhc2VyLS1pbWFnZS1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG4udGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2ltYWdlIHtcbiAgZmxleDogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXItdHlwZS0taG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXItdHlwZS0taG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJfX2NvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG4udGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oMiB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oMiB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICB9XG59XG4udGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG59XG4udGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5oNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19pbWFnZSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9fY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19jb250ZW50X193cmFwcGVyIHtcbiAgcGFkZGluZzogMjRweCAzMnB4IDMycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS5lcmdvLWFkaG9wX190ZWFzZXJfX2hlYWRsaW5lLS1yZWQge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9fY3RhIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgcGFkZGluZy10b3A6IDMycHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGdhcDogMjRweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2NvbnRlbnQsXG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2ltYWdlIHtcbiAgICBmbGV4OiAxO1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2NvbnRlbnQ6b25seS1jaGlsZCxcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2U6b25seS1jaGlsZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmstZ3JheSwgI2FlYWVhZSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9fZGVzY3JpcHRpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbjpub3QoLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX19idXR0b246bm90KC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluaykge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5lcmdvLWFkaG9wLXRlYXNlcnMtbGlzdCB7XG4gIG1heC13aWR0aDogODcwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmVyZ28tYWRob3BfX3RleHQgaDEsXG4uZXJnby1hZGhvcF9fdGV4dCBoMixcbi5lcmdvLWFkaG9wX190ZXh0IGgzLFxuLmVyZ28tYWRob3BfX3RleHQgaDQsXG4uZXJnby1hZGhvcF9fdGV4dCBoNSxcbi5lcmdvLWFkaG9wX190ZXh0IHAge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmVyZ28tYWRob3BfX3RleHQgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLmVyZ28tYWRob3BfX3RleHQgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5lcmdvLWFkaG9wX190ZXh0IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uIHNwYW4ge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3Rvb2x0aXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXdpdGgtaWNvbi5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X190cmlnZ2VyIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlci1ncmF5LCAjNzM3MzczKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXdpdGgtaWNvbi5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X190cmlnZ2VyLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLW9ubHk6Zm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlcjogMDtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlci5lcmdvLWFkaG9wX19idXR0b24tLXdpdGgtaWNvbi1vbmx5OmZvY3VzLXZpc2libGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtcHJpbWFyeS1yZ2IpLCAwLjE2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSB7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRoZW1lLXdoaXRlLXJnYiksIDAuODUpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDZweCAtM3B4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4yKSwgMCAxMHB4IDE0cHggMXB4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xNCksIDAgNHB4IDE4cHggM3B4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3Nlci5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jbG9zZXIge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VyLWdyYXksICM3MzczNzMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMThweDtcbiAgcmlnaHQ6IDE4cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3Nlci5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jbG9zZXIge1xuICAgIHRvcDogMTRweDtcbiAgICByaWdodDogMTRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3Nlci5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jbG9zZXI6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2NvbnRlbnQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDZweCAtM3B4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4yKSwgMCAxMHB4IDE0cHggMXB4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xNCksIDAgNHB4IDE4cHggM3B4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xMik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDUwcHggMThweCAzNnB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5IC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2NvbnRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcDpob3ZlciAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX3RyaWdnZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtcHJpbWFyeS1yZ2IpLCAwLjA1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwLmVyZ28tYWRob3BfX3Rvb2x0aXAtb3BlbiAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX3RyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRoZW1lLXByaW1hcnktcmdiKSwgMC4xNik7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcC5lcmdvLWFkaG9wX190b29sdGlwLW9wZW4gLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkge1xuICB6LWluZGV4OiAxMDtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX190b29sdGlwLmVyZ28tYWRob3BfX3Rvb2x0aXAtcmV2ZXJzZWQgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0xMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcC5lcmdvLWFkaG9wX190b29sdGlwLXJldmVyc2VkIC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5IC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jb250ZW50OjpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdXNwUHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb25fX3Byb3Bvc2l0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcCBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbl9fcHJvcG9zaXRpb25zIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWZsb3c6IHdyYXAgcm93O1xuICAgIGdhcDogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fdXNwUHJlc2VudGF0aW9uX19jdGEgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbiB7XG4gIG1heC13aWR0aDogMjcycHg7XG59XG4uZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb24gLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uX19pbWFnZSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGhlaWdodDogMjEycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uIC5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbl9faW1hZ2UgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbiAuZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbn1cbi5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbiAuZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb25fX3RpdGxlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uIC5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbl9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDA7XG59XG5cbmJvZHkuYm9keS1zY3JvbGwtbG9ja2VkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICBib2R5LmJvZHktc2Nyb2xsLWxvY2tlZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4ueGYtd2ViLWNvbnRhaW5lciAudGV4dFtjbGFzcyo9YmctXSxcbi5leHBlcmllbmNlRnJhZ21lbnQgLnRleHRbY2xhc3MqPWJnLV0ge1xuICAtby1ib3JkZXItaW1hZ2U6IGNvbmljLWdyYWRpZW50KHZhcigtLWJhY2tncm91bmQtY29sb3IpIDAgMCkgMC8wLzAgMTAwdnc7XG4gIGJvcmRlci1pbWFnZTogY29uaWMtZ3JhZGllbnQodmFyKC0tYmFja2dyb3VuZC1jb2xvcikgMCAwKSBmaWxsIDAvMC8wIDEwMHZ3O1xufVxuYm9keS5ka3YgLnhmLXdlYi1jb250YWluZXIgLnRleHRbY2xhc3MqPWJnLV0sXG5ib2R5LmRrdiAuZXhwZXJpZW5jZUZyYWdtZW50IC50ZXh0W2NsYXNzKj1iZy1dIHtcbiAgYm9yZGVyLWltYWdlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5LmRrdiAueGYtd2ViLWNvbnRhaW5lciAudGV4dFtjbGFzcyo9YmctXTpiZWZvcmUsXG5ib2R5LmRrdiAuZXhwZXJpZW5jZUZyYWdtZW50IC50ZXh0W2NsYXNzKj1iZy1dOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm90dG9tOiAwO1xuICBib3gtc2hhZG93OiAxMHZ3IDAgMCAwIGN1cnJlbnRDb2xvcjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXgtd2lkdGg6IDkwdnc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogOTB2dztcbiAgei1pbmRleDogLTE7XG59XG5cbi5jbXAtY2Fyb3VzZWxfX2NvbnRhaW5lciAuZXhwZXJpZW5jZWZyYWdtZW50ID4gZGl2ID4gLmFlbS1HcmlkLmFlbS1HcmlkLS0xMi5hZW0tR3JpZC0tZGVmYXVsdC0tMTIge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLmV4cGVyaWVuY2VmcmFnbWVudCAuYWVtLUdyaWQsXG4uZXhwZXJpZW5jZWZyYWdtZW50IC5hZW0tR3JpZENvbHVtbiB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbi5leHBlcmllbmNlZnJhZ21lbnQgLmhlcm8uYWVtLUdyaWRDb2x1bW46YmVmb3JlLCAuZXhwZXJpZW5jZWZyYWdtZW50IC5oZXJvLmFlbS1HcmlkQ29sdW1uOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnhmLXdlYi1jb250YWluZXIgPiAuY29udGFpbmVyID4gLnJlc3BvbnNpdmVncmlkID4gLmFlbS1HcmlkLFxuLmVyZ28tYWRob3BfX2h0bWwgPiAuYWVtLUdyaWQge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cbi54Zi13ZWItY29udGFpbmVyID4gLmNvbnRhaW5lciA+IC5yZXNwb25zaXZlZ3JpZCAuYWVtLUdyaWRDb2x1bW4sXG4uZXJnby1hZGhvcF9faHRtbCAuYWVtLUdyaWRDb2x1bW4ge1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNvbHVtbkNvbnRyb2wgLmV4cGVyaWVuY2VmcmFnbWVudCBbY2xhc3MqPWJnLV0ge1xuICBib3JkZXItaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1hZGhvcC5idW5kbGUuY3NzLm1hcCAqLyJdfQ== */