@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%;z-index:-1}.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpc3QvYWRob3AvY29tcG9uZW50cy9hZGhvcC9hZGhvcC5idW5kbGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9xQkEsb0NBQ0UsMkJBQ0UsY0FDRixDQUNGLENBQ0Esd0VBQ0UsWUFBYSxDQUNiLGNBQWUsQ0FFZixjQUFlLENBRGYsVUFFRixDQUNBLG9DQUNFLHdFQUNFLFNBQ0YsQ0FDRixDQUNBLDREQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsZUFDRixDQUNBLG9DQUNFLDREQUNFLGNBQWUsQ0FDZixnQkFDRixDQUdBLDJJQUVFLGNBQWUsQ0FDZixTQUNGLENBTkYsQ0EyVkEseUJBQ0UsY0FBZSxDQUNmLGlCQUNGLENBQ0Esd0RBQ0UsZUFDRixDQUNBLDBHQUNFLGVBQ0YsQ0FDQSwyREFDRSxpQkFDRixDQUNBLDhEQUNFLGFBQWMsQ0FDZCxlQUNGLENBQ0EsMkRBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSw4REFDRSxpQkFDRixDQUNBLDBGQUNFLGNBQ0YsQ0FDQSwyQkFDRSxpQkFDRixDQW9WQSwwRUFDRSxpQkFDRixDQUNBLCtDQUNFLGtCQUNGLENBQ0Esb0NBQ0UsK0NBQ0Usa0JBQ0YsQ0FDRixDQUNBLGlFQUNFLGNBQWUsQ0FFZixlQUFnQixDQURoQixnQkFBaUIsQ0FFakIsZUFDRixDQUNBLG9DQUNFLGlFQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQW1CLENBQ25CLGlCQUNGLENBQ0YsQ0FDQSx5RUFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLHlFQUVFLGtCQUFtQixDQURuQixlQUVGLENBQ0YsQ0FDQSxxSEFDRSxlQUNGLENBQ0Esb0NBQ0UscUhBQ0UsZUFDRixDQUNGLENBQ0EsZ0VBQ0Usa0JBQ0YsQ0FDQSxvQ0FDRSxnRUFDRSxrQkFDRixDQUNGLENBQ0EseUVBRUUsY0FBZSxDQUNmLGVBQWdCLENBRmhCLFVBR0YsQ0FDQSxvQ0FDRSx5RUFJRSxZQUFhLENBQ2IsY0FBZSxDQUNmLGNBQWUsQ0FKZixhQUFjLENBRGQsZUFBZ0IsQ0FFaEIsVUFJRixDQUNGLENBQ0EsK0pBRUUsUUFBUyxDQUNULFVBQ0YsQ0FDQSxvQ0FDRSwrSkFFRSxrQkFBbUIsQ0FDbkIsU0FDRixDQUNGLENBQ0Esb0NBQ0UsK0VBQ0Usa0JBQ0YsQ0FDRixDQUNBLDJGQUNFLGVBQ0YsQ0FDQSxvQ0FDRSxnSEFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLG1NQUdFLFlBQWEsQ0FDYixpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSxtUEFJRSxNQUFPLENBRFAsaUJBQWtCLENBRWxCLEtBQ0YsQ0FDQSxrUUFHRSxRQUNGLENBQ0Esb0NBQ0Usa1FBR0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSx5UEFHRSxlQUNGLENBQ0Esb0NBQ0UsZ0dBQ0UsY0FDRixDQUNGLENBQ0EsbUVBQ0Usa0JBQ0YsQ0FDQSxvQ0FDRSxtRUFDRSxrQkFDRixDQUNGLENBQ0EsbUZBQ0UsT0FDRixDQUNBLG9DQUNFLHFIQUNFLGNBQ0YsQ0FDRixDQUNBLGlFQUVFLGtCQUFtQixDQURuQixrQkFFRixDQUNBLGlGQUNFLFFBQ0YsQ0FDQSwrREFDRSxrQkFDRixDQUNBLG9DQUNFLDJKQUVFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0Esb2FBSUUsZUFDRixDQUNBLGdGQUNFLHFCQUFzQixDQUN0QixnQkFDRixDQUNBLG9DQUNFLGdGQUVFLGlCQUFrQixDQURsQixlQUVGLENBQ0YsQ0FDQSxvRkFDRSxnQkFDRixDQW9WQSx3QkFDRSx3Q0FBMEMsQ0FFMUMsbUJBQW9CLENBRHBCLGVBRUYsQ0FDQSxvQ0FDRSx3QkFDRSx3QkFBeUIsQ0FDekIsZ0JBQ0YsQ0FDRixDQUNBLGtFQUlFLFlBQWEsQ0FDYixjQUFlLENBQ2YsUUFBUyxDQUpULGFBQWMsQ0FEZCxnQkFBaUIsQ0FNakIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUxuQixVQU1GLENBQ0Esb0NBQ0Usa0VBQ0UsUUFDRixDQUNGLENBQ0Esc0hBRUUsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNBLG9DQUNFLHNIQUVFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FDRixDQUNBLDhEQUNFLGVBQ0YsQ0FDQSx5RkFDRSxpQkFBa0IsQ0FDbEIsY0FBZSxDQUNmLFVBQ0YsQ0FDQSxvQ0FDRSx5RkFDRSxlQUNGLENBQ0YsQ0FDQSx3SEFDRSxVQUNGLENBQ0EsNkZBQ0Usa0JBQW1CLENBR25CLGVBQWdCLENBRmhCLGtCQUFtQixDQUNuQixtQkFFRixDQUNBLG9DQUNFLDZGQUNFLGdCQUNGLENBQ0YsQ0FvVkEsMENBQ0UsWUFDRixDQUNBLHFDQUNFLDhDQUNFLGtCQUNGLENBQ0YsQ0FDQSxvQ0FDRSwwQ0FXRSxzQkFBdUIsQ0FEdkIscUJBQXNCLENBRHRCLHVEQUF5RCxDQUR6RCxhQUFjLENBRmQsTUFBTyxDQUZQLFlBQWEsQ0FIYixTQUFVLENBRVYsYUFBYyxDQURkLGNBQWUsQ0FLZixPQUFRLENBRlIsUUFPRixDQUNBLG1EQUVFLDZCQUE4QixDQUM5QixTQUFVLENBRlYsU0FHRixDQUNGLENBQ0Esb0NBQ0UsMENBQ0UsUUFDRixDQUNBLDZFQUNFLDZCQUNGLENBQ0YsQ0FDQSxxQ0FDRSwwQ0FDRSxRQUNGLENBQ0EsNkVBRUUsNkJBQThCLENBRDlCLFNBRUYsQ0FDRixDQUNBLDZCQUNFLFFBQ0YsQ0FDQSwrREFJRSxZQUFhLENBQ2IsNEJBQTZCLENBSDdCLGFBQWMsQ0FEZCxnQkFBaUIsQ0FLakIsaUJBQWtCLENBSGxCLFVBSUYsQ0FDQSxvQ0FDRSxpTkFHRSxhQUFjLENBRGQsZ0JBRUYsQ0FDRixDQUNBLHFDQUNFLGlOQUdFLGFBQWMsQ0FEZCxpQkFFRixDQUNGLENBQ0EsNkRBQ0UscUJBQXNCLENBQ3RCLGdCQUFpQixDQUNqQixNQUFPLENBQ1AsZ0JBQ0YsQ0FDQSxxQ0FDRSw2REFDRSxnQkFDRixDQUNGLENBQ0EsaUVBQ0UsZ0JBQWlCLENBRWpCLFFBQVMsQ0FEVCxVQUVGLENBQ0Esc0VBQ0UsTUFDRixDQUNBLDhFQUNFLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSxtSEFDRSxjQUNGLENBQ0EsaUZBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSx1R0FDRSxNQUNGLENBQ0EscUpBRUUsYUFBYyxDQURkLGNBQWUsQ0FFZixlQUNGLENBQ0EsMEdBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSwwR0FDRSxZQUNGLENBQ0EsMEhBQ0UsYUFBYyxDQUNkLGFBQ0YsQ0FDQSxvQ0FDRSx1R0FDRSxxREFDRixDQUNBLDBHQUNFLGNBQ0YsQ0FDQSwwR0FFRSxtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDRixDQUNBLG1FQUNFLGFBQ0YsQ0FDQSxzRUFDRSxjQUNGLENBQ0Esb0hBR0Usa0JBQW1CLENBRm5CLGNBQWUsQ0FDZixtQkFBb0IsQ0FHcEIsa0JBQW1CLENBRG5CLGlCQUVGLENBQ0Esb0NBQ0Usb0hBQ0UsY0FDRixDQUNGLENBQ0EsK1BBRUUsb0JBQXFCLENBQ3JCLHFCQUNGLENBQ0Esb0lBRUUsbUJBQW9CLENBRHBCLGlCQUFrQixDQUVsQixPQUFRLENBQ1IsaUNBQ0YsQ0FDQSxxSEFFRSxZQUFhLENBRGIsZUFBZ0IsQ0FFaEIscUNBQ0YsQ0FDQSxvSUFDRSxhQUNGLENBQ0Esc0tBQ0UsZ0JBQ0YsQ0FDQSxrREFDRSxhQUFjLENBRWQsYUFBYyxDQURkLHdCQUVGLENBQ0Esb0NBQ0Usa0RBQ0UsWUFDRixDQUNGLENBQ0EsdUZBQ0UscUJBQXNCLENBQ3RCLFFBQ0YsQ0FDQSxxRkFDRSxZQUNGLENBQ0EsMkZBQ0UsU0FDRixDQW9WQSxnQ0FFRSxhQUFjLENBRGQsZUFBZ0IsQ0FFaEIsVUFDRixDQUNBLG9DQUNFLDZGQUNFLG1CQUFvQixDQUNwQixvQkFBcUIsQ0FDckIsZUFBZ0I7SUFDaEIsK0JBQStCLENBQy9CLDJCQUNGLENBQ0EsdUtBRUUsWUFDRixDQUNBLDJGQUNFLG9CQUNGLENBQ0YsQ0FDQSw2RUFDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLGNBQ0YsQ0FDQSxvQ0FDRSw2RUFDRSxrQkFDRixDQUNGLENBQ0Esb0hBQ0UsYUFBYyxDQUNkLGVBQ0YsQ0FDQSxvQ0FDRSxvSEFDRSxnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FDaEIsU0FDRixDQUNGLENBQ0EseUVBQ0UsVUFDRixDQUNBLG9DQUNFLDRFQUNFLGNBQ0YsQ0FDRixDQUNBLHdHQUNFLGVBQ0YsQ0FDQSx1RUFDRSxlQUNGLENBQ0EscUdBRUUsa0JBQW1CLENBRG5CLGVBRUYsQ0FDQSwwRUFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLHNKQUtFLHdCQUE2QixDQUQ3QixRQUFTLENBRVQsa0NBQW9DLENBQ3BDLFlBQWEsQ0FMYixjQUFlLENBTWYsZUFBZ0IsQ0FMaEIsZ0JBQWlCLENBTWpCLGVBQWdCLENBQ2hCLFNBQ0YsQ0FDQSwyRUFDRSxhQUFjLENBQ2QsZUFDRixDQW9WQSxvQ0FDRSxZQUFhLENBQ2IsY0FDRixDQUNBLG9DQUNFLG9DQUdFLGtCQUFtQixDQURuQixxQkFBc0IsQ0FEdEIsV0FBWSxDQUdaLGlCQUNGLENBQ0YsQ0FDQSwrRUFDRSxtQkFBb0IsQ0FFcEIsV0FBWSxDQURaLFVBRUYsQ0FDQSxvQ0FDRSwrRUFFRSxXQUFZLENBRFosVUFFRixDQUNGLENBQ0EsaUZBQ0UsMkJBQTRCLENBQzVCLGlCQUFrQixDQUNsQixpQkFDRixDQUNBLG9DQUNFLGlGQUNFLFlBQWEsQ0FDYixxQkFBc0IsQ0FLdEIsd0JBQXlCLENBSnpCLDZCQUE4QixDQUM5QixjQUFlLENBRWYsY0FBZSxDQURmLGdCQUdGLENBQ0YsQ0FDQSxtRkFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQ0YsQ0FDQSxtSUFDRSxlQUNGLENBQ0Esb0NBQ0UsMEZBQ0UsZ0JBQ0YsQ0FDRixDQUNBLGlGQUNFLG1CQUNGLENBQ0EseUhBQ0Usa0JBQ0YsQ0FDQSx3SEFDRSxrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSw2SUFDRSxpQkFBa0IsQ0FDbEIsT0FDRixDQUNBLHNPQUNFLFVBQ0YsQ0FDQSx1T0FFRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGNBQ0YsQ0FvVkEsNEJBQ0UsZ0RBQWtELENBQ2xELGlCQUNGLENBQ0EsaUVBR0UscUNBQXVDLENBRnZDLGNBQWUsQ0FDZixlQUVGLENBQ0Esb0VBQ0UsY0FBZSxDQUNmLGVBQWdCLENBQ2hCLFFBQ0YsQ0FDQSxxSUFLRSxlQUFnQixDQURoQixlQUFnQixDQUZoQixpQkFBa0IsQ0FDbEIsa0JBR0YsQ0FDQSx5S0FFRSxlQUNGLENBQ0EsOERBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSw4REFDRSxZQUNGLENBQ0EsZ0ZBQ0Usb0RBQ0YsQ0FvVkEsOENBQ0UsY0FBZSxDQUNmLG9CQUFxQixDQUNyQixpQkFBa0IsQ0FDbEIsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0EseURBQ0UsY0FDRixDQUNBLGtEQUNFLGNBQWUsQ0FFZixjQUFlLENBRGYsVUFFRixDQUNBLG9DQUNFLGtEQUNFLGVBQ0YsQ0FDRixDQUNBLGtFQUNFLGFBQ0YsQ0FvVkEsb0NBQ0UseUZBQ0UsMEJBQ0YsQ0FHQSw2RkFDRSx5QkFDRixDQUpGLENBTUEsc0ZBQ0UsZUFDRixDQW9WQSw0QkFJRSxpQkFBa0IsQ0FDbEIscUpBQThKLENBRTlKLFlBQWEsQ0FDYixjQUFlLENBRmYsa0JBQW1CLENBTG5CLGVBQWdCLENBRWhCLFVBTUYsQ0FDQSxvQ0FDRSw0QkFDRSxnQkFDRixDQUNGLENBQ0EsK0RBRUUsZ0JBQWlCLENBRGpCLFVBRUYsQ0FDQSxvQ0FDRSwrREFDRSxlQUNGLENBQ0YsQ0FDQSxtRUFDRSx5QkFBMEIsQ0FDMUIsV0FBWSxDQUVaLGdCQUFpQixDQURqQixVQUVGLENBQ0Esb0NBQ0UsbUVBQ0UseUJBQ0YsQ0FDRixDQUNBLGlFQUNFLGlCQUFrQixDQUNsQixVQUNGLENBQ0Esb0NBQ0UsaUVBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixzQkFBdUIsQ0FFdkIsNEJBQTZCLENBRDdCLGlCQUVGLENBQ0YsQ0FDQSwrREFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsY0FDRixDQUNBLGtFQUdFLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxxRUFDRSxlQUNGLENBQ0EsdUVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0Esa0ZBQ0UsUUFDRixDQUNBLGdKQUVFLGVBQWdCLENBQ2hCLFFBQVMsQ0FDVCxTQUNGLENBQ0Esc0VBSUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FFdEIsUUFBUyxDQUpULGVBS0YsQ0FDQSxvQ0FDRSxzRUFDRSxrQkFBbUIsQ0FDbkIsUUFDRixDQUNGLENBcVZBLGNBR0UscUJBQXNCLENBQ3RCLDBCQUEyQixDQU8zQixrQkFBbUIsQ0FObkIsd0JBQXlCLENBRXpCLHFCQUFzQixDQUV0QixnQkFBaUIsQ0FHakIsdUNBQ0YsQ0FFQSwwQkFiRSxhQUFjLENBRGQsaUJBb0JGLENBTkEsWUFJRSxRQUFTLENBRlQsZUFBZ0IsQ0FHaEIsU0FDRixDQUNBLGtCQUNFLFlBQ0YsQ0FDQSxxQkFDRSxjQUFlLENBQ2YsV0FDRixDQUVBLHFEQU1FLHVCQUNGLENBRUEsYUFJRSxhQUFjLENBRmQsTUFBTyxDQUdQLGdCQUFpQixDQUNqQixpQkFBa0IsQ0FMbEIsaUJBQWtCLENBRWxCLEtBSUYsQ0FDQSx1Q0FDRSxVQUFXLENBQ1gsYUFDRixDQUNBLG1CQUNFLFVBQ0YsQ0FDQSw0QkFDRSxpQkFDRixDQUVBLGFBSUUsWUFBYSxDQUhiLFVBQVcsQ0FDWCxXQUFZLENBQ1osY0FFRixDQUNBLHVCQUNFLFdBQ0YsQ0FDQSxpQkFDRSxhQUNGLENBQ0EsK0JBQ0UsWUFDRixDQUNBLDBCQUNFLG1CQUNGLENBQ0EsZ0NBQ0UsYUFDRixDQUNBLDRCQUNFLGlCQUNGLENBQ0EsNkJBR0UsNEJBQTZCLENBRjdCLGFBQWMsQ0FDZCxXQUVGLENBRUEsMEJBQ0UsWUFDRixDQUVBLGNBQ0Usd0JBQWlCLENBQWpCLHFCQUFpQixDQUFqQixnQkFDRixDQUNBLHlGQUVFLFlBQ0YsQ0FDQSxnQ0FDRSxnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDQSxvQ0FDRSxnQ0FDRSxnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDRixDQUNBLG1DQVFFLGtCQUFtQixDQUpuQixlQUFnQixDQURoQixpQkFBa0IsQ0FFbEIsa0NBQW9DLENBT3BDLGNBQWUsQ0FOZixZQUFhLENBSmIsV0FBWSxDQUtaLHNCQUF1QixDQUl2QixpQkFBa0IsQ0FGbEIsT0FBUSxDQUNSLDBCQUEyQixDQVQzQixVQVlGLENBQ0EsOENBQ0UsTUFBTyxDQUNQLCtCQUNGLENBQ0EsOENBQ0UsU0FDRixDQUNBLDBCQUNFLFFBQVMsQ0FDVCxTQUFVLENBRVYsaUJBQWtCLENBRGxCLFVBRUYsQ0FDQSw2QkFDRSxtQkFBb0IsQ0FDcEIsZUFBZ0IsQ0FDaEIsZ0JBQ0YsQ0FDQSxpREFDRSw2Q0FDRixDQUNBLG9DQUNFLHdCQUF5QixDQUV6QixRQUFTLENBRFQsaUJBQWtCLENBRWxCLGNBQWUsQ0FDZixXQUFZLENBR1osVUFBVyxDQUZYLFNBQVUsQ0FHViwyQ0FBNkMsQ0FGN0MsU0FHRixDQW9WQSxrQkFHRSxrREFBb0QsQ0FDcEQsa0JBQW1CLENBQ25CLDZCQUErQixDQUMvQixtQkFBb0IsQ0FMcEIsY0FBZSxDQUNmLGdCQUFpQixDQUtqQixrQkFBbUIsQ0FDbkIsZ0JBQ0YsQ0FDQSw2QkFDRSx3QkFDRixDQUNBLDRCQUNFLGtEQUNGLENBQ0EsOEJBQ0Usa0RBQ0YsQ0FDQSw4QkFDRSxrREFDRixDQUNBLDhCQUNFLGtEQUNGLENBc3FCQSxpQ0FNRSxlQUFnQixDQUZoQixhQUFjLENBRmQsaUJBQWtCLENBQ2xCLFFBQVMsQ0FFVCxVQUFXLENBSlgsVUFNRixDQUNBLG9DQUNFLGlDQUNFLGdCQUFpQixDQUNqQixjQUFlLENBQ2YsVUFDRixDQUNGLENBQ0EsMkVBQ0Usa0NBQW9DLENBRXBDLGlCQUFrQixDQURsQiw0SkFFRixDQUNBLGtHQUNFLGtDQUNGLENBRUEsMkJBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUVqQixrQkFBbUIsQ0FEbkIsWUFFRixDQUNBLG9DQUNFLDJCQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FDRixDQUNBLDJEQUVFLGFBQWMsQ0FEZCxnQkFBaUIsQ0FHakIsY0FBZSxDQURmLGlCQUVGLENBQ0Esb0NBQ0UsMkRBRUUsWUFBYSxDQUNiLDZCQUE4QixDQUY5QixTQUdGLENBQ0YsQ0FDQSxzREFDRSxpQkFDRixDQUNBLG9DQUNFLHNEQUNFLGVBQ0YsQ0FDRixDQUNBLDJEQUdFLGtDQUFvQyxDQURwQyxrQkFBbUIsQ0FEbkIsb0JBR0YsQ0FDQSwwSUFDRSxvQ0FBc0MsQ0FDdEMsaUJBQWtCLENBQ2xCLGVBQ0YsQ0FDQSxvQ0FDRSwwSUFFRSxnQkFBaUIsQ0FEakIsYUFFRixDQUNGLENBQ0EsZ0pBQ0Usa0NBQ0YsQ0FDQSxnSkFDRSxZQUNGLENBQ0EsZ1JBR0UsbUJBQ0YsQ0FDQSxvR0FDRSxjQUFlLENBR2Ysb0JBQXNCLENBRnRCLGdCQUFpQixDQUNqQixRQUVGLENBQ0Esc0dBRUUsb0NBQXNDLENBRHRDLFFBQVMsQ0FFVCxpQkFDRixDQUNBLG9DQUNFLHNHQUNFLFdBQVksQ0FDWixnQkFBaUIsQ0FDakIsY0FDRixDQUNGLENBSUEsb1BBQ0Usa0NBQ0YsQ0FDQSw2SUFDRSx3QkFDRixDQUNBLDJHQUNFLGlDQUNGLENBQ0EscUhBQ0Usa0NBQ0YsQ0FDQSwrR0FDRSxvQ0FDRixDQUNBLDBFQUNFLDRCQUE2QixDQUM3QixjQUNGLENBQ0Esb0NBQ0UsMEVBQ0Usd0NBQ0YsQ0FDRixDQUNBLHVGQUdFLFFBQVMsQ0FEVCxjQUFlLENBRGYsVUFHRixDQUNBLDBHQUNFLFFBQ0YsQ0FFQSxxQkFDRSxZQUNGLENBb1ZBLDJCQUNFLGNBQ0YsQ0FDQSxvQ0FDRSwyQkFDRSxZQUFhLENBR2IsK0JBQWlDLENBRmpDLHFCQUFzQixDQUN0QixpQ0FBbUMsQ0FFbkMsa0JBQ0YsQ0FDRixDQUNBLDREQUdFLGVBQWdCLENBRmhCLGNBQWUsQ0FDZixVQUVGLENBQ0Esb0NBQ0UsNERBRUUsZUFBZ0IsQ0FEaEIsK0JBRUYsQ0FDRixDQUNBLDhFQUNFLGVBQ0YsQ0FDQSwwRUFDRSxjQUNGLENBQ0Esb0NBQ0UsMEVBQ0UsZUFDRixDQUNGLENBQ0EseUhBQ0UsZUFDRixDQUNBLG9DQUNFLHlIQUNFLFlBQ0YsQ0FDRixDQUNBLHNGQUNFLGtCQUNGLENBQ0Esa0lBQ0Usb0NBQ0YsQ0FDQSx3R0FDRSxrQkFDRixDQUNBLDRIQUNFLFVBQ0YsQ0FDQSxvQ0FDRSw0SEFDRSxVQUNGLENBQ0YsQ0FDQSxrRkFDRSxrQkFDRixDQW9WQSw0REFDRSxrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSxvQ0FDRSw0REFDRSxrQkFDRixDQUNGLENBQ0EsOERBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixRQUNGLENBQ0Esd0VBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixRQUNGLENBQ0Esb0NBQ0Usd0VBRUUsa0JBQW1CLENBRG5CLGtCQUFtQixDQUduQixRQUFTLENBRFQsc0JBRUYsQ0FDRixDQUNBLDZEQUNFLFlBQWEsQ0FFYixhQUFjLENBRGQsV0FFRixDQUNBLG9DQUNFLDZEQUVFLFlBQWEsQ0FEYixRQUFTLENBRVQsV0FDRixDQUNGLENBQ0EsaUVBQ0UsaUJBQWtCLENBQ2xCLFdBQVksQ0FFWixnQkFBaUIsQ0FEakIsVUFFRixDQUNBLG9DQUNFLCtEQUNFLDRCQUNGLENBQ0YsQ0FDQSxpR0FHRSxhQUFjLENBRmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUdqQixrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSxvQ0FDRSxpR0FDRSxlQUNGLENBQ0YsQ0FDQSxtRkFFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLHNFQUVFLGFBQWMsQ0FEZCxlQUVGLENBQ0YsQ0FDQSxxUEFNRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLGNBQWUsQ0FFZixpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSx5WkFJRSxrQkFDRixDQUNBLDZQQUlFLFFBQ0YsQ0FDQSxxVEFNRSxNQUFPLENBRlAsaUJBQWtCLENBQ2xCLFFBRUYsQ0FDQSxpSEFDRSxlQUFnQixDQUNoQixrQkFDRixDQUNBLG9DQUNFLGlIQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsK05BRUUsZUFBZ0IsQ0FDaEIsU0FDRixDQUNBLG9DQUNFLCtOQUVFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EscUVBR0Usa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsUUFBUyxDQURULHNCQUF1QixDQUV2QixnQkFDRixDQUNBLG9DQUNFLHFFQUNFLGtCQUFtQixDQUNuQixnQkFDRixDQXNWQSwyREFFRSxjQUFlLENBRGYsVUFFRixDQUNBLDhFQUNFLFVBQVcsQ0FFWCxhQUFjLENBRGQsU0FFRixDQUNBLHFGQUNFLFlBQWEsQ0FDYixjQUNGLENBQ0EsdUdBQ0UsV0FBWSxDQUVaLG1CQUFvQixDQURwQixpQkFFRixDQUNBLDBKQUNFLDBCQUNGLENBQ0Esc0lBRUUsUUFBUyxDQURULGlCQUVGLENBQ0EsK0RBQ0UsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0EsaUVBR0Usd0JBQWtCLENBQWxCLGtDQUFrQixDQUFsQixtQ0FBa0IsQ0FBbEIscUJBQWtCLENBQ2xCLHFCQUNGLENBdlhGLENBeVhBLHVMQUNFLFVBQ0YsQ0FDQSxvQ0FDRSx1TEFDRSxVQUNGLENBQ0YsQ0FDQSx3RUFHRSw0QkFBNkIsQ0FEN0IsZUFBZ0IsQ0FFaEIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUpuQixXQUtGLENBQ0Esc0ZBRUUsYUFBYyxDQURkLGdCQUFpQixDQUdqQixXQUFZLENBRFosVUFFRixDQUNBLDBGQUVFLFlBQWEsQ0FDYixjQUFlLENBRmYsVUFHRixDQUNBLG9DQUNFLDBGQUNFLGtCQUFtQixDQUNuQixzQkFBdUIsQ0FDdkIsdUJBQ0YsQ0FDRixDQUNBLHdHQUNFLFFBQVMsQ0FFVCxtQkFBb0IsQ0FEcEIsZ0JBQWlCLENBRWpCLFVBQ0YsQ0FDQSxvQ0FDRSx3R0FDRSx3QkFBeUIsQ0FDekIsY0FDRixDQUNGLENBQ0Esc0hBQ0Usb0RBQ0YsQ0FDQSxvQ0FDRSxzSEFFRSxxREFBdUQsQ0FEdkQsWUFFRixDQUdBLG1JQUNFLFdBQ0YsQ0FKRixDQU1BLDBGQUVFLGFBQWMsQ0FEZCxnQkFBaUIsQ0FFakIsVUFDRixDQUNBLG9DQUNFLDBGQUNFLGVBQ0YsQ0FDRixDQW9WQSwyQkFDRSxtQkFBb0IsQ0FDcEIsaUJBQ0YsQ0FDQSwwREFDRSxlQUNGLENBQ0EsK0JBQ0UsV0FBWSxDQUNaLFVBQ0YsQ0FDQSxvQ0FDRSwrQkFDRSxXQUFZLENBQ1osVUFDRixDQUNGLENBRUEsNEJBTUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixjQUFlLENBRWYsUUFBUyxDQUNULGtCQUFtQixDQVBuQixnQkFBaUIsQ0FRakIsWUFBYSxDQU5iLFVBT0YsQ0FDQSxvQ0FDRSw0QkFDRSxRQUNGLENBQ0YsQ0FDQSxzRUFJRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUNmLGVBQWdCLENBRmhCLGdCQUlGLENBb1ZBLCtDQUNFLGtCQUNGLENBQ0Esb0NBQ0UsK0NBQ0Usa0JBQ0YsQ0FDRixDQUNBLGtEQUNFLGVBQ0YsQ0FDQSwyQkFDRSxRQUFTLENBQ1Qsb0JBQ0YsQ0FDQSxrRUFDRSxlQUNGLENBQ0Esb0NBQ0Usa0VBQ0UsZUFDRixDQUNGLENBQ0EsZ0VBQ0UsYUFBYyxDQUNkLGVBQ0YsQ0FDQSwyRUFDRSxlQUNGLENBQ0Esb0NBQ0UsMkVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FvVkEsc0JBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUVqQixrQkFBbUIsQ0FEbkIsZ0JBRUYsQ0FDQSxvQ0FDRSxzQkFDRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDRixDQUNBLGlGQUNFLGVBQ0YsQ0FDQSxxREFDRSxrQkFDRixDQUNBLDBEQUNFLG9DQUNGLENBQ0Esa0RBQ0UsWUFDRixDQUNBLGtFQUVFLGlCQUFrQixDQURsQixlQUVGLENBQ0Esb0RBQ0UsTUFDRixDQUNBLGtEQUdFLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBQWlCLENBR2pCLGtCQUFtQixDQURuQixZQUVGLENBQ0EscUlBRUUsYUFBYyxDQUNkLGlCQUNGLENBQ0EscURBQ0Usa0JBQ0YsQ0FDQSwyREFDRSxjQUFlLENBRWYsaUJBQWtCLENBRGxCLGlCQUVGLENBQ0EsZ0VBQ0UsbUJBQW9CLENBQ3BCLDJCQUNGLENBQ0EsZ0ZBQ0Usd0JBQ0YsQ0FGQSwyRUFDRSx3QkFDRixDQUNBLDZJQUNFLFVBQVcsQ0FDWCxhQUFjLENBRWQsTUFBTyxDQURQLGlCQUFrQixDQUVsQixLQUNGLENBQ0EsdUVBQ0Usd0JBQTZCLENBQzdCLHdCQUF5QixDQUN6QixpQkFBa0IsQ0FFbEIsV0FBWSxDQUNaLDJDQUE2QyxDQUY3QyxVQUdGLENBQ0Esc0VBSUUsc0JBQXVCLENBRnZCLHdDQUFhLENBQ2IsY0FBZSxDQURmLFlBQWEsQ0FNYixVQUFXLENBSFgsUUFBUyxDQUlULFNBQVUsQ0FIVixPQUFRLENBSVIsd0JBQXlCLENBRXpCLDZEQUFpRSxDQURqRSxpQkFBa0IsQ0FKbEIsU0FNRixDQUNBLHFFQUNFLG9CQUNGLENBQ0EsMEVBQ0UsWUFDRixDQUNBLDhGQUNFLHdCQUNGLENBQ0EsNkZBQ0UsU0FBVSxDQUNWLGtCQUNGLENBQ0EsMERBQ0UsZ0JBQWlCLENBQ2pCLGlCQUNGLENBQ0Esb0NBQ0UsMERBQ0UsZ0JBQWlCLENBQ2pCLGdCQUNGLENBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxVQUNGLENBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxrQkFDRixDQUNGLENBb1ZBLGtDQUNFLGNBQWUsQ0FFZixrQkFBbUIsQ0FEbkIsZ0JBQWlCLENBRWpCLGlCQUNGLENBQ0EseUJBQ0Usa0NBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxpQ0FDRSxZQUFhLENBQ2IsY0FBZSxDQUNmLFFBQVMsQ0FDVCxzQkFDRixDQUNBLGdDQUVFLGNBQWUsQ0FDZixjQUFlLENBRmYsZUFHRixDQUNBLHFDQUdFLFlBQWEsQ0FDYixRQUFTLENBSFQsZUFBZ0IsQ0FDaEIsaUJBR0YsQ0FDQSx5QkFDRSxxQ0FFRSxrQkFBbUIsQ0FEbkIscUJBQXNCLENBRXRCLGlCQUNGLENBQ0YsQ0FDQSxxREFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSx5QkFDRSx5REFDRSxzQkFDRixDQUNGLENBQ0EsNkVBQ0UsY0FDRixDQUNBLCtCQUNFLFlBQWEsQ0FDYixRQUFTLENBQ1Qsc0JBQ0YsQ0FDQSxtQ0FDRSxXQUNGLENBQ0EsNkJBQ0UsY0FDRixDQUNBLCtCQUNFLGtDQUFvQyxDQUNwQyxvQkFDRixDQUNBLHlCQUNFLHdCQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNGLENBbVZBLG9DQUdFLDRCQUE2QixDQUQ3QixlQUFnQixDQURoQixXQUdGLENBRUEsMkJBSUUsa0JBQW1CLENBSG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsUUFBUyxDQUZULHNCQUF1QixDQUd2QixpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSxvQ0FDRSwyQkFDRSxrQkFBbUIsQ0FDbkIsa0JBQW1CLENBQ25CLGFBQWMsQ0FDZCxnQkFBaUIsQ0FDakIsU0FDRixDQUNGLENBQ0Esa0VBRUUsZUFBZ0IsQ0FDaEIsVUFDRixDQUNBLG9DQUNFLDhSQUlFLFdBQ0YsQ0FDRixDQW9WQSxtQ0FDRSx3Q0FBMEMsQ0FFMUMsaUJBQWtCLENBRGxCLHVEQUEwRCxDQUcxRCx5QkFBMkIsQ0FEM0IsVUFFRixDQUNBLG9DQUNFLG1DQUNFLGVBQWdCLENBQ2hCLGdCQUNGLENBQ0YsQ0FDQSx5Q0FDRSwyREFDRixDQUNBLGtFQUVFLFdBQVksQ0FEWixpQkFBa0IsQ0FFbEIsVUFDRixDQUNBLG9IQUVFLHNCQUF1QixDQUR2QixvQ0FBc0MsQ0FFdEMsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixlQUFnQixDQUNoQixXQUFZLENBQ1osVUFDRixDQUNBLDZFQUNFLGdCQUFpQixDQUNqQixRQUFTLENBR1QsZ0JBQWlCLENBQ2pCLGdCQUFpQixDQUhqQixpQkFBa0IsQ0FDbEIsVUFHRixDQUNBLGlGQUNFLGdCQUFpQixDQUNqQix5QkFBMEIsQ0FDMUIsV0FBWSxDQUVaLGdCQUFpQixDQURqQixVQUVGLENBQ0EsaUZBSUUsbUJBQW9CLENBQ3BCLDZCQUErQixDQUMvQixtQkFBb0IsQ0FMcEIsY0FBZSxDQU1mLGVBQWdCLENBSWhCLE1BQU8sQ0FUUCxnQkFBaUIsQ0FNakIsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUNsQixLQUFNLENBUE4sU0FTRixDQUNBLG9DQUNFLGlGQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsK0VBQ0UsWUFBYSxDQUNiLFVBQ0YsQ0FDQSxvQ0FDRSwrRUFDRSxZQUFhLENBRWIsTUFBTyxDQURQLHFCQUFzQixDQUd0Qix5QkFBMEIsQ0FEMUIsNkJBQThCLENBRTlCLGdCQUFpQixDQUNqQixZQUNGLENBQ0YsQ0FDQSw4R0FDRSxlQUNGLENBQ0EsZ0ZBSUUsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUNoQixvQkFBYSxDQUFiLFlBQWEsQ0FKYixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FJaEIsd0JBQXlCLENBQ3pCLGVBQWdCLENBQ2hCLHFCQUNGLENBQ0Esb0NBQ0UsZ0ZBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNGLENBQ0EsbUZBQ0UsWUFBYSxDQUNiLFFBQ0YsQ0FDQSxvQ0FDRSxtRkFJRSxhQUFjLENBSGQsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUVGLENBQ0YsQ0FDQSxzRkFHRSxvQkFBcUIsQ0FGckIsWUFBYSxDQUNiLGNBRUYsQ0FDQSxvQ0FDRSxzRkFDRSxnQkFDRixDQUNGLENBQ0Esc1FBRUUsbUJBQ0YsQ0FDQSx3U0FFRSxnQkFDRixDQUNBLG9DQUNFLHdTQUVFLGdCQUNGLENBQ0YsQ0FDQSxzSUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSxzSUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLGdJQUNFLGNBQWUsQ0FFZixlQUFnQixDQURoQixnQkFFRixDQW9WQSxzRUFHRSxvQ0FBc0MsQ0FDdEMsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsa0JBQW1CLENBQ25CLGlCQUNGLENBQ0Esb0NBQ0Usc0VBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFBbUIsQ0FDbkIsZUFDRixDQUNGLENBQ0EseURBTUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsZUFBZ0IsQ0FEaEIsU0FBVSxDQURWLFVBTUYsQ0FDQSxvQ0FDRSx5REFDRSxrQkFDRixDQUNGLENBQ0EsNkdBSUUscUJBQXNCLENBSHRCLGFBQWMsQ0FFZCxlQUFnQixDQURoQixlQUdGLENBQ0Esb0NBQ0UsNkdBR0UsaUJBQWtCLENBRGxCLGdCQUFpQixDQURqQixZQUdGLENBQ0YsQ0FDQSw0SUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSw0SUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLHFPQUdFLG9DQUFzQyxDQUZ0QyxjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxvQ0FDRSxxT0FDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLHFTQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNBLHFHQUNFLGVBQ0YsQ0FDQSxxR0FDRSxZQUNGLENBb1ZBLG9DQUNFLG1CQUNFLGNBQ0YsQ0FDRixDQUNBLCtDQUNFLFlBQWEsQ0FDYixjQUFlLENBRWYsY0FBZSxDQURmLFVBRUYsQ0FDQSxvQ0FDRSwrQ0FDRSxTQUNGLENBR0EsMkdBRUUsY0FDRixDQUxGLENBT0Esc0RBQ0UsWUFDRixDQUNBLG9DQUNFLHNEQUNFLGFBQWMsQ0FDZCxTQUNGLENBQ0YsQ0FDQSxxREFDRSxVQUNGLENBQ0Esb0NBQ0UscURBR0UsaUJBQWtCLENBRmxCLGlCQUFrQixDQUNsQixTQUVGLENBQ0YsQ0FDQSxnREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGVBQ0YsQ0FDQSxvQ0FDRSxnREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGtCQUNGLENBQ0YsQ0FDQSw2Q0FDRSxXQUNGLENBQ0EsaURBRUUsV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUdGLENBc3FCQSwwQkFDRSxVQUNGLENBQ0Esb0NBQ0UsMEJBQ0UsU0FDRixDQUNGLENBQ0EsZ0NBQ0UsWUFDRixDQUNBLG9DQUNFLHVDQUNFLHNCQUNGLENBQ0YsQ0FDQSx3RUFDRSxZQUFhLENBQ2IsY0FBZSxDQUNmLDZCQUNGLENBQ0Esb0NBQ0Usd0VBQ0UsVUFDRixDQUNGLENBQ0EsK0dBQ0UsVUFDRixDQUNBLG9DQUNFLCtHQUNFLHFCQUNGLENBQ0YsQ0FDQSw0REFHRSxhQUFjLENBRmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUlqQixtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDQSxvQ0FDRSw0REFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLG1CQUFvQixDQURwQixnQkFFRixDQUNGLENBQ0EsMkRBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FDQSxrR0FFRSxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLHlJQUNFLG9DQUFzQyxDQUN0QyxlQUFnQixDQUNoQixlQUFnQixDQUNoQixnQ0FDRixDQUNBLDhSQUNFLGtDQUNGLENBRUEsMkJBSUUsWUFBYSxDQUNiLGNBQWUsQ0FDZixRQUFTLENBRVQscUJBQW1CLENBUG5CLGdCQUFpQixDQVFqQixpQkFBa0IsQ0FDbEIsa0JBQW1CLENBUG5CLFVBUUYsQ0FvVkEsc0JBQ0UsaUJBQWtCLENBQ2xCLFVBQ0YsQ0FDQSxpQ0FDRSxrQkFDRixDQUNBLG9DQUNFLGlDQUNFLGlCQUNGLENBR0EsOERBQ0UsbUJBQW9CLENBQ3BCLGVBQ0YsQ0FMRixDQU9BLGtFQUNFLGVBQ0YsQ0FDQSw4QkFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FJZixlQUFnQixDQUhoQixnQkFBaUIsQ0FJakIsd0JBQ0YsQ0FDQSxvQ0FDRSw4QkFDRSxjQUFlLENBRWYsb0JBQXNCLENBRHRCLGdCQUVGLENBQ0YsQ0FDQSxtREFHRSxvQ0FBc0MsQ0FFdEMsYUFBYyxDQUpkLGNBQWUsQ0FHZixlQUFnQixDQUZoQixnQkFBaUIsQ0FJakIsY0FDRixDQUNBLG9DQUNFLG1EQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOERBQ0UsWUFDRixDQW9WQSxxQkFLRSxZQUFhLENBQ2IsY0FBZSxDQUpmLGFBQWMsQ0FEZCxlQUFnQixDQUdoQixnQkFBaUIsQ0FEakIsVUFJRixDQUNBLG9DQUNFLHFCQUVFLGtCQUFtQixDQURuQixhQUVGLENBQ0YsQ0FDQSxtSEFFRSxVQUNGLENBQ0Esb0NBQ0UsbUhBRUUsYUFBYyxDQUNkLGtCQUNGLENBQ0YsQ0FDQSwwREFFRSxtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDQSxvQ0FDRSwwREFHRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLHNCQUF1QixDQUp2QixpQkFBa0IsQ0FDbEIsZUFJRixDQUNGLENBQ0Esc0VBQ0UsZUFDRixDQUNBLGlEQUNFLGNBQWUsQ0FDZixXQUNGLENBQ0EscURBQ0UsY0FBZSxDQUVmLFdBQVksQ0FDWixnQkFBaUIsQ0FGakIsVUFHRixDQUNBLGlEQUdFLGFBQWMsQ0FGZCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBR2pCLGtCQUNGLENBQ0Esb0NBQ0UsaURBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixrQkFDRixDQUNGLENBQ0EsdURBQ0Usa0JBQ0YsQ0FDQSx5REFFRSxnQkFBaUIsQ0FEakIsUUFFRixDQUNBLG9DQUNFLHlEQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0Esa0RBQ0UsWUFBYSxDQUNiLGtCQUNGLENBQ0Esb0VBRUUsV0FBWSxDQURaLFVBRUYsQ0FDQSxvQ0FDRSxvRUFFRSxXQUFZLENBRFosVUFFRixDQUNGLENBQ0EsNkZBQ0UsY0FBZSxDQUVmLGVBQWdCLENBRGhCLGdCQUVGLENBQ0Esb0NBQ0UsNkZBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUNGLENBQ0YsQ0FDQSxxRkFDRSxnQkFDRixDQUNBLG9DQUNFLHFGQUNFLGVBQ0YsQ0FDRixDQUNBLHNEQUVFLFdBQVksQ0FEWixVQUVGLENBQ0Esb0NBQ0Usc0dBRUUsY0FDRixDQUNGLENBQ0Esb0RBQ0UsaUJBQ0YsQ0FDQSx5Q0FDRSxlQUNGLENBRUEsZ0JBQ0UsYUFDRixDQUNBLG9CQUNFLGlCQUNGLENBb1ZBLG9CQUNFLFlBQWEsQ0FDYixnQkFBaUIsQ0FDakIsaUJBQ0YsQ0FDQSxpREFDRSxXQUNGLENBQ0EsZ0RBSUUsV0FBWSxDQURaLE1BQU8sQ0FGUCxpQkFBa0IsQ0FDbEIsS0FBTSxDQUdOLFVBQ0YsQ0FDQSxtREFDRSxpQkFBa0IsQ0FDbEIsVUFDRixDQUNBLDBEQUNFLGlCQUFrQixDQUVsQixpQ0FBbUMsQ0FEbkMsVUFFRixDQUVBLG1CQUNFLGFBQWMsQ0FFZCxXQUFZLENBRFosY0FFRixDQUVBLDZCQUNFLGFBQWMsQ0FDZCxXQUFZLENBRVosZ0JBQWlCLENBRGpCLFVBRUYsQ0FFQSxrQ0FDRSxHQUNFLDBCQUNGLENBQ0YsQ0FDQSx3QkFDRSxvQkFBcUIsQ0FDckIseUJBQTBCLENBQzFCLHlCQUEwQixDQUMxQiw0QkFBNkIsQ0FDN0IsOEJBQStCLENBRS9CLGtDQUFtQyxDQUVuQyxvQkFBc0IsQ0FDdEIsbUJBQW9CLENBQ3BCLGFBQWMsQ0FFZCxlQUFnQixDQURoQixpQkFBa0IsQ0FKbEIsVUFBVyxDQU1YLFNBRUYsQ0FDQSw4QkFZRSw4Q0FBK0MsQ0FDL0MsNENBQTZDLENBRTdDLGtDQUFtQyxDQUpuQyxxQ0FBc0MsQ0FHdEMscUNBQXNDLENBTHRDLGtHQUFzRyxDQUR0RywyQkFBNEIsQ0FQNUIsV0FBWSxDQUNaLHFDQUFzQyxDQVF0QywyQkFNRixDQUVBLGtEQVhFLFdBQVksQ0FGWixNQUFPLENBRlAsaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixLQW9CRixDQUNBLHlCQUNFLGFBQWMsQ0FDZCxXQUFZLENBQ1osVUFDRixDQXNxQkEsZ0NBRUUsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUZsQixVQUdGLENBQ0EsdUNBQ0UsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUNuQixlQUFnQixDQUNoQixVQUNGLENBQ0Esb0NBQ0UsdUNBQ0Usa0JBQ0YsQ0FDRixDQUNBLDJDQUNFLGlCQUFrQixDQUNsQixpQkFBa0IsQ0FFbEIsV0FBWSxDQURaLFVBRUYsQ0FDQSx5RUFHRSxhQUFjLENBQ2QsYUFBYyxDQUhkLGNBQWUsQ0FDZixnQkFBaUIsQ0FHakIsb0JBQ0YsQ0FFQSwyREFHRSxvQ0FBc0MsQ0FDdEMsWUFBYSxDQUhiLGNBQWUsQ0FJZixzQkFBdUIsQ0FIdkIsZ0JBQWlCLENBSWpCLGtCQUNGLENBQ0Esb0NBQ0UsMkRBQ0Usa0JBQ0YsQ0FDRixDQUNBLHVDQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNBLG9DQUNFLHVDQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUNGLENBQ0EsMEVBRUUscUJBQ0YsQ0FDQSxvQ0FDRSwwRUFFRSxTQUNGLENBQ0YsQ0FFQSxPQUVFLFFBQVMsQ0FDVCxlQUFnQixDQUZoQixpQkFHRixDQUNBLGVBQ0UsYUFBYyxDQUNkLFdBQVksQ0FDWixVQUNGLENBQ0EsV0FDRSxhQUFjLENBRWQsV0FBWSxDQURaLGNBRUYsQ0FFQSw2QkFDRSxlQUNGLENBQ0EsK0RBQ0UsYUFDRixDQW9WQSw0VkFNRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDQSx3S0FHRSxrQkFDRixDQUNBLHFLQUlFLGtCQUFtQixDQURuQixlQUVGLENBQ0EsOEhBR0UsVUFDRixDQUNBLDBJQUdFLFlBQWEsQ0FDYixXQUNGLENBQ0EsdUxBR0UsU0FDRixDQUNBLG9DQUNFLHVMQUdFLFVBQ0YsQ0FDRixDQUNBLHVMQUdFLHFCQUNGLENBQ0Esb0NBQ0UsdUxBR0Usc0JBQ0YsQ0FDRixDQUVBLDZDQUNFLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsbUJBQW9CLENBQ3BCLGNBQWUsQ0FDZixZQUFhLENBRWIsY0FBZSxDQUNmLGlCQUFrQixDQUZsQixXQUdGLENBQ0Esb0NBQ0UsNkNBQ0UsWUFBYSxDQUNiLFVBQ0YsQ0FDRixDQUNBLGlEQUdFLFdBQVksQ0FGWixRQUFTLENBQ1QsZ0JBQWlCLENBRWpCLFVBQ0YsQ0FFQSw0Q0FJRSxZQUFhLENBQ2IsY0FBZSxDQUVmLGVBQWdCLENBTGhCLFFBQVMsQ0FNVCxlQUFnQixDQUZoQixZQUdGLENBQ0Esb0NBQ0UsNENBQ0UsZ0JBQWlCLENBQ2pCLGdCQUNGLENBQ0YsQ0FFQSx1Q0FFRSx3Q0FBMEMsQ0FEMUMsY0FBZSxDQUVmLFVBQ0YsQ0FDQSxvQ0FDRSx1Q0FDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLFdBQVksQ0FDWixlQUNGLENBQ0YsQ0FDQSxxREFDRSxzQkFDRixDQUNBLG9FQUNFLHNCQUF1QixDQUN2QixZQUFhLENBQ2IsY0FBZSxDQUNmLGlCQUFrQixDQUNsQixlQUNGLENBQ0Esb0NBQ0Usd0dBRUUsNkNBQStDLENBQy9DLGlCQUFrQixDQUZsQixVQUFXLENBR1gsYUFBYyxDQUNkLHVCQUF3QixDQUd4QixTQUFVLENBRFYsaUJBQWtCLENBRWxCLFFBQVMsQ0FIVCxzQkFJRixDQUNGLENBRUEseUNBTUUsa0JBQW1CLENBTG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsNkJBQThCLENBRTlCLDRCQUE2QixDQUU3QixpQkFBa0IsQ0FIbEIsV0FJRixDQUNBLG9DQUNFLHlDQUVFLHlCQUEwQixDQUQxQixjQUFlLENBRWYsY0FBZSxDQUNmLGlCQUNGLENBQ0YsQ0FDQSxpREFHRSxvQ0FBc0MsQ0FEdEMsaUJBQWtCLENBRGxCLGVBQWdCLENBR2hCLFVBQ0YsQ0FDQSxvQ0FDRSxpREFDRSxhQUFjLENBQ2QsYUFDRixDQUNGLENBQ0EsMkNBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUNGLENBQ0Esb0NBQ0UsMkNBQ0UsY0FDRixDQUNGLENBQ0Esb0NBQ0UsMkNBQ0UsY0FDRixDQUNGLENBQ0EsNENBQ0UsY0FBZSxDQUNmLFFBQ0YsQ0FFQSxnR0FFRSxjQUFlLENBRGYsVUFFRixDQUNBLHlIQUNFLGlCQUFrQixDQUNsQixrQkFDRixDQUVBLG9DQUNFLGdMQUVFLFdBQ0YsQ0FDQSw4SkFFRSxXQUNGLENBQ0Esb1FBR0UsZUFBZ0IsQ0FEaEIsV0FFRixDQUNBLGdlQUlFLGVBQ0YsQ0FDQSw2Q0FDRSxZQUNGLENBQ0EseUNBQ0UseUJBQ0YsQ0FDRixDQUNBLG9DQUNFLHlGQUNFLFdBQ0YsQ0FDQSxnRkFDRSxXQUNGLENBQ0EsdUZBQ0UsV0FDRixDQUNBLDhFQUNFLFdBQ0YsQ0FDQSxpSUFFRSxlQUFnQixDQURoQixXQUVGLENBQ0EsOE9BRUUsZUFDRixDQUNBLDZDQUNFLFlBQ0YsQ0FDQSx5Q0FDRSx5QkFDRixDQUNGLENBQ0EscUNBQ0UseUZBQ0UsV0FDRixDQUNBLGdGQUNFLFdBQ0YsQ0FDQSx1RkFDRSxXQUNGLENBQ0EsOEVBQ0UsV0FDRixDQUNBLGlJQUVFLGdCQUFpQixDQURqQixZQUVGLENBQ0EsOE9BRUUsZUFDRixDQUNGLENBbVZBLHdCQUlFLFlBQWEsQ0FDYixrQkFBZ0IsQ0FKaEIsZ0JBQWlCLENBS2pCLGlCQUFrQixDQUNsQixrQkFBbUIsQ0FKbkIsVUFLRixDQUNBLGlEQUNFLFlBQ0YsQ0FDQSwyQ0FDRSxhQUFjLENBQ2QsU0FDRixDQUNBLHVEQUlFLG1CQUFlLENBQWYsY0FBZSxDQUNmLG9CQUFnQixDQUFoQixlQUFnQixDQUpoQixlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FHRixDQUNBLG9DQUNFLHVEQUNFLG1CQUFlLENBQWYsY0FDRixDQUNGLENBQ0Esb0NBQ0UsdURBQ0UsbUJBQWUsQ0FBZixjQUNGLENBQ0YsQ0FDQSw0RkFDRSxlQUFnQixDQUNoQixjQUNGLENBQ0Esc0ZBQ0UsYUFDRixDQUNBLHdJQUdFLG9DQUFzQyxDQUZ0QyxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBR2pCLGVBQWdCLENBQ2hCLG9CQUFxQixDQUNyQixnQ0FDRixDQUNBLDRSQUNFLGtDQUNGLENBb1ZBLG1CQUVFLGdEQUFtRCxDQU9uRCxZQUFhLENBRmIsV0FBWSxDQUZaLE1BQU8sQ0FHUCxZQUFhLENBTGIsY0FBZSxDQUNmLEtBQU0sQ0FFTixVQUFXLENBTFgsYUFTRixDQUNBLDBDQUNFLFlBQ0YsQ0FDQSxvQ0FDRSw2QkFDRSxTQUNGLENBQ0EseURBQ0UsY0FBZSxDQUNmLGVBQ0YsQ0FDRixDQUNBLHVEQUNFLFlBQWEsQ0FDYixNQUFPLENBQ1AsV0FBWSxDQUNaLGNBQ0YsQ0FDQSw4Q0FHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixzQkFBdUIsQ0FFdkIsV0FBWSxDQUNaLGVBQWdCLENBRmhCLGVBQWdCLENBR2hCLFVBQ0YsQ0FDQSwrQ0FDRSx3Q0FBMEMsQ0FFMUMsd0JBQXlCLENBRHpCLHlCQUEwQixDQUUxQixZQUFhLENBRWIsYUFBYyxDQURkLG1CQUFvQixDQUVwQixVQUNGLENBQ0Esb0NBQ0UsK0NBQ0UsaUJBQWtCLENBQ2xCLGtCQUNGLENBQ0YsQ0FDQSw4Q0FPRSxrQkFBbUIsQ0FObkIsd0NBQTBDLENBRTFDLHdCQUF5QixDQUN6QixlQUFnQixDQUZoQix5QkFBMEIsQ0FHMUIsWUFBYSxDQUNiLGNBQWUsQ0FFZix3QkFBeUIsQ0FDekIsc0JBQXVCLENBQ3ZCLHVCQUFnQixDQUFoQixlQUFnQixDQUNoQixLQUFNLENBQ04sVUFBVyxDQUNYLFNBQ0YsQ0FDQSxvQ0FDRSw4Q0FDRSxzQkFDRixDQUNGLENBQ0Esd0VBR0Usb0NBQXNDLENBRXRDLE1BQU8sQ0FKUCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBSWpCLGtCQUNGLENBQ0Esb0NBQ0Usd0VBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSw0RkFDRSxvQ0FDRixDQXNxQkEsK0JBQ0UsZ0NBQWlDLENBSWpDLFFBQVMsQ0FLVCxjQUFlLENBTmYsVUFBVyxDQVFYLFNBQVUsQ0FMVixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBSmpCLGlCQUFrQixDQUNsQixRQUFTLENBTVQsMkJBQTZCLENBRTdCLGlCQUFrQixDQUVsQixVQUFXLENBQ1gsU0FDRixDQUNBLG9DQUNFLCtCQUNFLGdCQUFpQixDQUNqQixRQUNGLENBQ0YsQ0FDQSx1Q0FDRSxNQUFPLENBQ1AsU0FBVSxDQUNWLGtCQUNGLENBb1ZBLGlDQVNFLCtDQUFpRCxDQUpqRCxXQUFZLENBQ1osTUFBTyxDQUNQLGVBQWdCLENBQ2hCLDJCQUE0QixDQU41QixjQUFlLENBRWYsT0FBUSxDQURSLEtBQU0sQ0FPTiw2REFBa0UsQ0FUbEUsWUFVRixDQUNBLHVFQUVFLGdEQUFtRCxDQURuRCxRQUFTLENBRVQsbUJBQ0YsQ0FDQSxpSEFDRSx1QkFDRixDQUNBLDJFQU9FLGtDQUFvQyxDQUxwQyxPQUFRLENBSVIsZUFBZ0IsQ0FEaEIsZUFBZ0IsQ0FGaEIsYUFBYyxDQUZkLGNBQWUsQ0FPZixnQ0FBbUMsQ0FKbkMsVUFLRixDQUNBLDBFQUtFLGtCQUFtQixDQUpuQix1Q0FBeUMsQ0FDekMsNkJBQStCLENBQy9CLFlBQWEsQ0FHYixXQUFZLENBRlosNkJBQThCLENBRzlCLFVBQ0YsQ0FDQSxvQ0FDRSwwRUFDRSxXQUNGLENBQ0YsQ0FDQSwwSEFDRSxjQUFlLENBSWYsZUFBZ0IsQ0FDaEIsUUFBUyxDQUpULGVBQWdCLENBRWhCLHNCQUF1QixDQUR2QixrQkFJRixDQUNBLG9DQUNFLDBIQUNFLGNBQ0YsQ0FDRixDQUNBLHlHQUNFLFdBQ0YsQ0FDQSwySkFHRSxhQUFjLENBRmQsY0FBZSxDQUdmLFdBQVksQ0FGWixnQkFBaUIsQ0FHakIsVUFDRixDQUNBLGlNQUNFLGlCQUNGLENBQ0EsbU1BQ0Usa0JBQ0YsQ0FDQSxtRUFDRSx3QkFBNEIsQ0FJNUIsUUFBUyxDQUVULDRCQUE2QixDQUQ3Qiw0QkFBNkIsQ0FKN0IsaUJBQWtCLENBRWxCLE9BQVEsQ0FEUixLQUFNLENBS04sT0FDRixDQW9WQSw4QkFDRSxvREFBc0QsQ0FDdEQsWUFBYSxDQUNiLFFBQVMsQ0FDVCwyQkFDRixDQUNBLGtFQUNFLGlCQUNGLENBQ0EscUVBQ0UsTUFDRixDQUNBLHVFQUVFLGlCQUFrQixDQURsQixZQUVGLENBQ0EsaUhBQ0UsZ0JBQ0YsQ0FDQSwwRUFDRSxnQkFDRixDQUNBLDBIQUNFLGtCQUNGLENBQ0EscUNBQ0UsNkhBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FvVkEsMkRBR0UsYUFBYyxDQUZkLGNBQWUsQ0FHZixlQUFnQixDQUZoQixnQkFBaUIsQ0FHakIsa0JBQ0YsQ0FDQSwrQkFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxrRUFDRSxlQUFnQixDQUdoQixhQUFjLENBRGQsU0FFRixDQUNBLHFFQUdFLFlBQWEsQ0FGYixjQUFlLENBQ2YsZ0JBRUYsQ0FDQSxzRkFFRSxhQUFjLENBRGQsVUFFRixDQUNBLDJEQUVFLGVBQWdCLENBRGhCLFlBQWEsQ0FFYixVQUNGLENBQ0EscUNBQ0UsMkRBQ0UsV0FDRixDQUNGLENBb1ZBLCtCQUtFLGdCQUFtQixDQUpuQixlQUFnQixDQUVoQixVQUdGLENBQ0Esb0NBQ0UsK0JBQ0UsY0FDRixDQUNGLENBQ0Esc0VBQ0UsZ0JBQ0YsQ0FDQSx3RUFDRSxrQkFDRixDQUNBLDBFQUNFLFFBQ0YsQ0FDQSxxREFDRSxlQUNGLENBQ0EsNkRBRUUsYUFBYyxDQURkLGNBRUYsQ0FDQSxrRkFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGVBQ0YsQ0FDQSw4REFDRSxlQUNGLENBRUEscURBQ0UsZ0JBQ0YsQ0FDQSx3RUFDRSxRQUNGLENBb1ZBLGtCQUVFLFlBQWEsQ0FDYixjQUFlLENBQ2Ysa0JBQW1CLENBSG5CLFVBSUYsQ0FDQSxvQ0FDRSxrQkFDRSxrQkFDRixDQUNGLENBQ0EseUNBQ0Usa0JBQ0YsQ0FDQSw2QkFDRSxlQUNGLENBQ0EseUNBQ0UsZUFDRixDQUNBLHVDQUdFLDJCQUE0QixDQUY1QixpQkFBa0IsQ0FDbEIsVUFFRixDQUNBLG9DQUNFLHVDQUNFLGlCQUNGLENBQ0YsQ0FDQSxrRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLGNBQ0YsQ0FDQSxvQ0FDRSxrRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFlBQ0YsQ0FDRixDQUNBLHFFQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsZUFDRixDQUNBLG9DQUNFLHFFQUNFLGNBQ0YsQ0FDRixDQW9WQSx1REFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGNBQWUsQ0FEZixlQUVGLENBQ0Esc0RBQ0UsY0FDRixDQUNBLHdEQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FFakIsa0JBQW1CLENBRG5CLGVBRUYsQ0FDQSwwRUFDRSxjQUFlLENBQ2YsZUFDRixDQW9WQSx5QkFFRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLFFBQVMsQ0FDVCxVQUNGLENBQ0Esa0VBQ0UsaUJBQ0YsQ0FDQSx5SEFHRSxxQ0FBdUMsQ0FDdkMsWUFBYSxDQUViLE1BQU8sQ0FDUCxlQUFnQixDQUZoQixpQkFBa0IsQ0FIbEIsU0FNRixDQUNBLGdFQUVFLHVDQUF5QyxDQUR6QyxTQUVGLENBQ0EsK0RBQ0UsZUFDRixDQW9WQSx5QkFDRSxZQUNGLENBQ0EseURBQ0UscUJBQ0YsQ0FDQSwwREFTRSxrQkFBbUIsQ0FQbkIsd0JBQXlCLENBS3pCLGtCQUFtQixDQUpuQiw2QkFBK0IsQ0FLL0IsWUFBYSxDQVBiLGNBQWUsQ0FHZixlQUFnQixDQUVoQixXQUFZLENBSVosc0JBQXVCLENBQ3ZCLGtCQUFtQixDQU5uQixVQU9GLENBQ0Esd0RBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FHYixlQUFnQixDQURoQixPQUVGLENBQ0Esb0NBQ0Usd0RBQ0UsY0FDRixDQUNGLENBRUEsaUNBQ0UsUUFBUyxDQUNULG9CQUNGLENBb1ZBLG1CQUNFLFFBQ0YsQ0FDQSxrR0FDRSxtQkFBb0IsQ0FDcEIsb0JBQXFCLENBQ3JCLGVBQWdCO0VBQ2hCLCtCQUErQixDQUMvQiwyQkFDRixDQUNBLHNEQUNFLGlCQUFrQixDQUNsQixpQkFDRixDQUNBLDBCQUNFLGlCQUFrQixDQUNsQixRQUFTLENBQ1QsYUFBYyxDQUNkLFdBQVksQ0FDWixVQUNGLENBQ0EsK0NBSUUsb0NBQXNDLENBRHRDLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZ0JBQWlCLENBR2pCLGVBQ0YsQ0FDQSwyRUFNRSxXQUFZLENBSFosTUFBTyxDQUlQLGdCQUFpQixDQU5qQixpQkFBa0IsQ0FDbEIsS0FBTSxDQUdOLFVBQVcsQ0FEWCxTQUlGLENBQ0Esb0dBVUUsb0JBQXFCLENBVHJCLGlEQUFvRCxDQUNwRCw2QkFBK0IsQ0FNL0IsWUFBYSxDQUNiLGNBQWUsQ0FGZixXQUFZLENBSVosc0JBQXVCLENBTnZCLE1BQU8sQ0FPUCxlQUFnQixDQVRoQixpQkFBa0IsQ0FDbEIsS0FBTSxDQUVOLFVBQVcsQ0FPWCxTQUNGLENBQ0EseUpBQ0UsaUJBQ0YsQ0FDQSxvQ0FDRSx5SkFDRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDRixDQUNBLGlHQUNFLDZCQUNGLENBQ0Esb0NBQ0UsaUdBQ0UsbUJBQW9CLENBQ3BCLG9CQUFxQixDQUNyQixlQUFnQjtJQUNoQiwrQkFBK0IsQ0FDL0IsMkJBQ0YsQ0FDRixDQUNBLHVGQUNFLFVBQ0YsQ0FDQSxzSEFHRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUFpQixDQUdqQix5QkFDRixDQUNBLHFGQUNFLGVBQ0YsQ0FDQSxvQ0FDRSxxRkFDRSxlQUNGLENBQ0YsQ0FDQSxnREFDRSxrQkFDRixDQUVBLG9DQUNFLDRCQUNFLGlCQUNGLENBQ0YsQ0FDQSwrREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGlCQUFrQixDQURsQixZQUVGLENBQ0Esb0NBQ0UsK0RBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxxRUFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBRWpCLGVBQWdCLENBRGhCLFlBRUYsQ0FFQSwrREFDRSxZQUNGLENBQ0EsK0RBQ0UsZUFDRixDQUNBLHNFQUNFLGtCQUNGLENBQ0EsOERBQ0Usa0JBQ0YsQ0FDQSxnRUFDRSxrQkFBbUIsQ0FDbkIsZUFDRixDQUNBLGtHQUNFLGVBQ0YsQ0FvVkEscUJBQ0UsNkNBQ0YsQ0FFQSxpQ0FJRSw2QkFBK0IsQ0FDL0IsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixRQUFTLENBTFQsYUFBYyxDQURkLGdCQUFpQixDQU9qQixZQUFhLENBTGIsVUFNRixDQUNBLG9DQUNFLGlDQUNFLGtCQUFtQixDQUNuQixrQkFBbUIsQ0FDbkIsNkJBQ0YsQ0FDRixDQUNBLG1HQUNFLFFBQ0YsQ0FDQSx1SUFDRSxXQUNGLENBQ0EscUNBQ0UsNEJBQ0YsQ0FDQSx5RUFLRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLFFBQVMsQ0FMVCxlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FJRixDQUNBLHdJQUNFLDhDQUFnRCxDQUNoRCxrQkFDRixDQUNBLHdHQUNFLGFBQ0YsQ0FDQSx3R0FHRSw2QkFBK0IsQ0FGL0IsY0FBZSxDQUdmLGVBQWdCLENBRmhCLGdCQUdGLENBQ0Esb0NBQ0Usd0dBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSxrSUFDRSxlQUNGLENBb1ZBLHNFQUNFLGNBQWUsQ0FDZixrQkFDRixDQUNBLGtFQU1FLGtCQUFtQixDQUZuQixZQUFhLENBQ2IsY0FBZSxDQUVmLFFBQVMsQ0FOVCxlQUFnQixDQUNoQixRQUFTLENBQ1QsU0FLRixDQUNBLGtFQUNFLGFBQ0YsQ0FDQSxrRUFHRSxrQkFBbUIsQ0FFbkIsYUFBYyxDQUhkLG1CQUFvQixDQURwQixjQUFlLENBR2Ysb0JBRUYsQ0FDQSxzRUFDRSxhQUNGLENBQ0Esb0VBQ0UsZ0JBQ0YsQ0FzcUJBLDJCQUdFLGtCQUFtQixDQURuQixTQUFVLENBRVYsaUJBQWtCLENBSGxCLFdBSUYsQ0FDQSxvQ0FDRSwyQkFDRSxXQUNGLENBQ0YsQ0FDQSwrREFDRSxvQkFBcUIsQ0FHckIsWUFBYSxDQUZiLGVBQWdCLENBQ2hCLFdBRUYsQ0FDQSxvQ0FDRSwrREFFRSxZQUFhLENBRGIsV0FFRixDQUNGLENBQ0EsbUVBRUUsaUJBQWtCLENBRGxCLGdCQUFpQixDQUVqQixlQUNGLENBQ0EsbUVBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FFYixxQkFBc0IsQ0FDdEIsaUJBQ0YsQ0FDQSxpSkFDRSxvQ0FBc0MsQ0FDdEMsYUFBYyxDQUNkLFFBQ0YsQ0FDQSxvR0FDRSxjQUFlLENBRWYsZUFBZ0IsQ0FEaEIsZ0JBRUYsQ0FDQSxrRUFDRSxjQUFlLENBQ2Ysc0JBQ0YsQ0FDQSwrREFDRSxjQUNGLENBQ0EseUlBRUUsYUFBYyxDQURkLGNBQWUsQ0FFZixxQkFDRixDQUNBLDhGQUNFLG9CQUFxQixDQUNyQixhQUNGLENBQ0EscUNBQ0UsZ0hBSUUsWUFBYSxDQUZiLGVBQWdCLENBRGhCLGNBQWUsQ0FFZixVQUVGLENBR0Esd0xBQ0UsZUFDRixDQUdBLGdNQUdFLHNCQUF1QixDQUZ2QixNQUFPLENBR1Asc0JBQXVCLENBRnZCLGdCQUFpQixDQUdqQixlQUNGLENBYkYsQ0FrV0Esc0JBQ0UsbUJBQ0YsQ0FDQSwrQ0FDRSxZQUFhLENBQ2IscUJBQ0YsQ0FDQSw2REFDRSxlQUNGLENBQ0Esb0NBQ0Usb0NBRUUsYUFBYyxDQURkLGVBRUYsQ0FDRixDQUNBLHFDQUNFLG9DQUNFLGVBQ0YsQ0FDRixDQUNBLHFDQUNFLG9DQUNFLGdCQUNGLENBQ0YsQ0FDQSx5REFDRSxTQUFVLENBQ1YsdUJBQ0YsQ0FDQSxvRUFDRSwwQkFDRixDQUVBLGlDQUNFLGtCQUNGLENBb1ZBLDJCQUVFLGlCQUFrQixDQURsQixlQUFnQixDQUloQixlQUFnQixDQUZoQixpQkFBa0IsQ0FDbEIsVUFFRixDQUNBLHFDQUNFLHVGQUNFLDBCQUNGLENBQ0YsQ0FDQSwrRUFFRSxTQUFVLENBQ1Ysa0JBQW1CLENBRm5CLFNBR0YsQ0FDQSw2REFHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLGNBQWUsQ0FFZixzQkFDRixDQUNBLG1FQUNFLFdBQVksQ0FFWixlQUFnQixDQUNoQixnQkFBaUIsQ0FGakIsVUFHRixDQUNBLCtFQUNFLGFBQ0YsQ0FDQSw4RUFDRSxjQUNGLENBQ0Esa0dBRUUsZ0JBQWlCLENBRGpCLGdCQUVGLENBQ0EseUVBU0Usd0NBQTBDLENBTjFDLG1EQUFxRCxDQU9yRCxpQkFBa0IsQ0FSbEIsc0RBQXlELENBSXpELFFBQVMsQ0FTVCxnQkFBaUIsQ0FIakIsU0FBVSxDQVJWLGlCQUFrQixDQUdsQixPQUFRLENBT1IsZUFBZ0IsQ0FUaEIsS0FBTSxDQUdOLDBCQUEyQixDQUszQixpQkFBa0IsQ0FGbEIsdUJBQXdCLENBVnhCLFVBZUYsQ0FDQSxvQ0FDRSx5RUFDRSxXQUNGLENBQ0YsQ0FDQSxnRkFXRSw2Q0FBK0MsQ0FUL0MsaUJBQWtCLENBRGxCLFVBQVcsQ0FFWCxhQUFjLENBTWQsVUFBVyxDQUhYLE1BQU8sQ0FFUCxXQUFZLENBSlosaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixRQUFTLENBS1QsVUFFRixDQUNBLDhHQUNFLGdCQUFpQixDQUNqQixlQUFnQixDQUNoQixpQkFDRixDQUNBLGlIQUNFLGNBQWUsQ0FDZixRQUNGLENBRUEsa0JBRUUsYUFBYyxDQUNkLGlCQUFrQixDQUZsQixTQUdGLENBQ0EsOENBTUUsb0NBQXNDLENBSHRDLGFBQWMsQ0FGZCxjQUFlLENBR2YsZUFBZ0IsQ0FGaEIsZ0JBQWlCLENBTWpCLGlCQUFrQixDQUhsQixpQkFBa0IsQ0FFbEIsd0JBRUYsQ0FDQSxvQ0FDRSw4Q0FDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLGdEQUlFLG9DQUFzQyxDQUh0QyxjQUFlLENBSWYsZUFBZ0IsQ0FIaEIsZ0JBQWlCLENBSWpCLGtCQUFtQixDQUhuQixpQkFJRixDQUNBLG9DQUNFLGdEQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EscURBQ0Usb0JBQ0YsQ0FDQSxxREFDRSxvQkFBcUIsQ0FDckIsY0FDRixDQUNBLDREQWNFLG9CQUFxQixDQUNyQix1QkFBd0IsQ0FUeEIsc0JBQXVCLENBRnZCLFFBQVMsQ0FPVCx3REFBMEQsQ0FOMUQsa0NBQW9DLENBSXBDLDRDQUFrRCxDQVJsRCxjQUFlLENBT2YsZUFBZ0IsQ0FOaEIsZ0JBQWlCLENBQ2pCLFlBQWEsQ0FJYiwyQkFBNEIsQ0FLNUIsa0JBQW1CLENBRm5CLGlCQUFrQixDQUdsQixzQkFHRixDQUNBLG9DQUNFLDREQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOEZBQ0Usb0JBQXFCLENBQ3JCLGlDQUFtQyxDQUNuQyxpQkFBa0IsQ0FDbEIsbUJBQ0YsQ0FDQSx5Q0FDRSxpQkFBa0IsQ0FDbEIsU0FDRixDQW9WQSxhQUdFLDRCQUE2QixDQUQ3QixlQUFnQixDQURoQixXQUdGLENBQ0EsZ0NBR0Usa0NBQW1DLENBQ25DLG1DQUFvQyxDQUNwQyxZQUFhLENBQ2IsUUFBUyxDQUNULHlCQUEwQixDQUwxQixhQUFjLENBRGQsZ0JBT0YsQ0FDQSxpREFDRSxZQUNGLENBQ0EsdUNBQ0UsZUFDRixDQUNBLHdEQUNFLHlCQUNGLENBQ0Esb0NBQ0UsdUNBQ0UsNkJBQ0YsQ0FHQSx1Q0FDRSxpQ0FDRixDQUpGLENBU0Esd0RBQ0UsWUFDRixDQUVBLG9CQUtFLHNCQUF1QixDQUp2QixZQUFhLENBQ2IscUJBQXNCLENBRXRCLGtCQUFtQixDQURuQixlQUdGLENBQ0EsOENBQ0UscUpBQ0YsQ0FDQSxvQ0FDRSw2Q0FFRSxtQkFBb0IsQ0FEcEIsa0JBRUYsQ0FHQSw2RUFDRSwwQkFDRixDQUpGLENBTUEsbUZBQ0UsTUFDRixDQUNBLG9DQUNFLHVGQUNFLGNBQ0YsQ0FHQSwwRUFFRSxrQkFBbUIsQ0FEbkIsMEJBRUYsQ0FHQSwyRUFDRSxjQUNGLENBVkYsQ0FZQSw4RUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDQSxvQ0FDRSw4RUFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLDhFQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNBLG9DQUNFLDhFQUNFLGNBQWUsQ0FDZixnQkFDRixDQUNGLENBQ0EsOEVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0Esb0NBQ0UsOEVBQ0UsY0FBZSxDQUNmLGdCQUNGLENBQ0YsQ0FDQSwwREFDRSxVQUNGLENBQ0EsOERBQ0UsaUJBQWtCLENBRWxCLGdCQUFpQixDQURqQixVQUVGLENBQ0EsaURBQ0UsTUFBTyxDQUNQLFVBQ0YsQ0FDQSxvQ0FDRSxpREFDRSxZQUFhLENBQ2IsdUJBQ0YsQ0FDRixDQUNBLDBEQUVFLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsc0JBQXVCLENBR3ZCLFVBQ0YsQ0FDQSxrREFDRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQ0YsQ0FDQSxvQ0FDRSxrREFDRSxjQUFlLENBQ2YsZ0JBQ0YsQ0FDRixDQUNBLG9GQUNFLGtDQUNGLENBQ0EscURBQ0UsZUFDRixDQUNBLDZDQUNFLGVBQWdCLENBQ2hCLGdCQUNGLENBc3FCQSwrQkFDRSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLFFBQVMsQ0FFVCxrQkFBbUIsQ0FEbkIsZUFFRixDQUNBLG9DQUNFLCtCQUVFLGtCQUFtQixDQURuQixrQkFFRixDQUNGLENBQ0EscUNBQ0UsK0JBRUUsa0JBQW1CLENBRG5CLGVBRUYsQ0FDRixDQUNBLG9DQUNFLDhDQUNFLDBCQUNGLENBQ0YsQ0FDQSxxRUFJRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixzQkFBdUIsQ0FKdkIsUUFLRixDQUNBLG9DQUNFLHFFQUNFLGdCQUNGLENBQ0YsQ0FDQSxvQ0FDRSw0SUFFRSxNQUFPLENBQ1AsZUFDRixDQUdBLGtLQUVFLGNBQ0YsQ0FMRixDQU9BLDBFQUdFLG9DQUFzQyxDQUN0QyxhQUFjLENBSGQsY0FBZSxDQUlmLGVBQWdCLENBSGhCLGdCQUFpQixDQUlqQixpQkFBa0IsQ0FDbEIsd0JBQ0YsQ0FDQSx3RUFDRSxjQUFlLENBRWYsZUFBZ0IsQ0FEaEIsZ0JBQWlCLENBRWpCLGVBQ0YsQ0FDQSxvQ0FDRSwyRUFDRSxrQkFDRixDQUNGLENBQ0EsNEZBQ0Usa0JBQ0YsQ0FDQSwrREFDRSxhQUFjLENBQ2QsZUFDRixDQUNBLGlGQUNFLGNBQWUsQ0FDZixlQUNGLENBQ0Esb0NBQ0UsaUZBQ0UsY0FDRixDQUNGLENBQ0EsdUZBQ0UsVUFDRixDQUNBLG9DQUNFLHVGQUNFLFVBQ0YsQ0FDRixDQUVBLHlCQUVFLGFBQWMsQ0FEZCxlQUFnQixDQUVoQixVQUNGLENBRUEsNkhBT0UsWUFBYSxDQURiLHFCQUVGLENBQ0EsaURBQ0UsY0FDRixDQUNBLG1HQUNFLGlCQUFrQixDQUNsQixtQkFBb0IsQ0FDcEIsbUJBQ0YsQ0FDQSwwRUFDRSxhQUNGLENBb1ZBLHFCQUNFLG1CQUFvQixDQUNwQixpQkFDRixDQUNBLDZHQUNFLHNDQUF3QyxDQUN4QywyQ0FDRixDQUNBLDhKQUNFLFFBQ0YsQ0FDQSxxS0FDRSxtREFBc0QsQ0FDdEQsa0JBQ0YsQ0FDQSxvSEFHRSx3QkFBNkIsQ0FNN0IsaUJBQWtCLENBUGxCLFVBQVcsQ0FNWCxXQUFZLENBRlosTUFBTyxDQUZQLGlCQUFrQixDQUNsQixLQUFNLENBS04sa0JBQW1CLENBQ25CLHFFQUF5RSxDQUp6RSxVQUFXLENBTlgsVUFXRixDQUNBLG1EQUVFLGlEQUFvRCxDQU1wRCxXQUFZLENBSlosTUFBTyxDQUVQLFNBQVUsQ0FIVixjQUFlLENBRWYsS0FBTSxDQUVOLGlCQUFrQixDQUVsQixVQUFXLENBUlgsVUFTRixDQUNBLG9DQUNFLG1EQUVFLGlCQUFrQixDQURsQiwwSkFBbUssQ0FLbkssV0FBWSxDQURaLFVBQVcsQ0FGWCxpQkFBa0IsQ0FDbEIsUUFBUyxDQUdULHlCQUFrQixDQUFsQixzQkFBa0IsQ0FBbEIsaUJBQ0YsQ0FDRixDQUNBLDRKQUVFLHNDQUF3QyxDQUt4QyxXQUFZLENBRFosVUFBWSxDQUhaLGlCQUFrQixDQUVsQixVQUFXLENBRFgsUUFBUyxDQUlULGtDQUFvQyxDQUNwQyxVQUFXLENBUlgsU0FTRixDQUNBLG9DQUNFLDRKQUVFLFVBQVcsQ0FEWCxRQUVGLENBQ0YsQ0FDQSxrS0FDRSxTQUNGLENBQ0EsMEZBR0Usd0NBQTBDLENBTTFDLFFBQVMsQ0FMVCwwSkFBbUssQ0FIbkssY0FBZSxDQUlmLGVBQWdCLENBR2hCLE1BQU8sQ0FOUCxnQkFBaUIsQ0FTakIsY0FBZSxDQUxmLHNCQUF1QixDQUN2QixjQUFlLENBR2YsVUFFRixDQUNBLG9DQUNFLDBGQUNFLGlCQUFrQixDQUNsQixlQUFnQixDQUVoQixlQUFnQixDQURoQixlQUFnQixDQUtoQixtQkFBb0IsQ0FEcEIsZ0JBQWlCLENBRGpCLGlCQUFrQixDQURsQixVQUlGLENBQ0YsQ0FDQSxvQ0FDRSwwRkFDRSxlQUNGLENBQ0YsQ0FDQSxpR0FRRSx1Q0FBeUMsQ0FEekMsaUJBQWtCLENBTmxCLFVBQVcsQ0FLWCxVQUFXLENBRlgsU0FBVSxDQUZWLGlCQUFrQixDQUNsQixLQUFNLENBRU4sVUFJRixDQUNBLDBIQUNFLG1EQUFzRCxDQUN0RCxrQkFDRixDQUNBLHdHQUNFLG1EQUNGLENBQ0EsNEVBRUUsU0FBVSxDQUNWLGtCQUFtQixDQUZuQixVQUdGLENBQ0Esb0NBQ0UsZ0ZBQ0UsU0FBVSxDQUNWLFdBQ0YsQ0FDRixDQUNBLDhIQUNFLFNBQVUsQ0FDVixVQUNGLENBb1ZBLDZCQUNFLGlCQUNGLENBQ0EsbURBQ0Usa0JBQ0YsQ0FDQSxvQ0FDRSxtREFDRSxrQkFDRixDQUNGLENBQ0Esd0VBR0Usa0JBQW1CLENBRm5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FFdEIsUUFDRixDQUNBLG9DQUNFLHdFQUNFLHNCQUF1QixDQUV2QixrQkFBbUIsQ0FDbkIsUUFBUyxDQUZULHNCQUdGLENBQ0YsQ0FDQSxtRkFDRSxlQUNGLENBbVFBLE1BQ0UsdUJBQTBCLENBQzFCLGlDQUFvQyxDQUNwQyw0QkFBK0IsQ0FDL0IsNkJBQ0YsQ0FFQSxVQUNFLGFBQWMsQ0FDZCxVQUNGLENBRUEsaUNBR0UsV0FBWSxDQURaLGFBRUYsQ0FFQSxnQkFDRSxVQUNGLENBRUEsZ0JBQ0UscUJBQXNCLENBQ3RCLFVBQ0YsQ0FFQSwyQ0FJRSx3QkFBa0IsQ0FBbEIsa0NBQWtCLENBQWxCLG1DQUFrQixDQUFsQixxQkFDRixDQUVBLCtJQUdFLFVBQVcsQ0FEWCxVQUFXLENBRVgsVUFDRixDQVFBLFFBQ0Usc0JBQ0YsQ0FFQSwwQkFDRSxXQUNFLHNCQUNGLENBQ0YsQ0FFQSx5QkFDRSxVQUNFLHNCQUNGLENBQ0YsQ0FFQSx5QkFDRSxXQUNFLHNCQUNGLENBQ0YsQ0FFQSxxQ0FDRSxlQUNFLHNCQUNGLENBQ0YsQ0FFQSxvQ0FDRSxlQUNFLHNCQUNGLENBQ0YsQ0FFQSw0QkFDRSxlQUNGLENBQ0EsK0RBRUUsWUFBYSxDQURiLGVBQWdCLENBRWhCLFVBQ0YsQ0FDQSxtRUFDRSxpQkFBa0IsQ0FFbEIsV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUdGLENBQ0EsK0RBQ0UsY0FBZSxDQUNmLGdCQUFpQixDQUNqQixlQUNGLENBQ0EsMEVBQ0UsZUFDRixDQUNBLHFFQUNFLGNBQWUsQ0FDZixnQkFBaUIsQ0FDakIsUUFDRixDQUVBLHdCQUNFLGVBQ0YsQ0FDQSxxQ0FDRSx3QkFDRSxrQkFDRixDQUNGLENBRUEsMEVBR0UseUVBQ0YsQ0FDQSw0RkFFRSxpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSwwR0FFRSw2QkFBOEIsQ0FDOUIsUUFBUyxDQUNULGtDQUFtQyxDQUNuQyxVQUFXLENBQ1gsYUFBYyxDQUNkLDRCQUE2QixDQUM3QixjQUFlLENBQ2YsaUJBQWtCLENBQ2xCLEtBQU0sQ0FDTixVQUFXLENBQ1gsVUFDRixDQUVBLDhGQUNFLGdCQUNGLENBRUEsa0VBRUUsY0FDRixDQUNBLCtGQUNFLFlBQ0YsQ0FFQSxtRkFFRSxnQkFDRixDQUNBLCtGQUVFLGNBQWUsQ0FDZixjQUFlLENBQ2YsZUFDRixDQUVBLGdEQUVFLGtDQUFtQyxDQURuQyxpQkFFRiIsImZpbGUiOiJkaXN0L2FkaG9wL2NvbXBvbmVudHMvYWRob3AvYWRob3AuYnVuZGxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIHtcbiAgICBtYXJnaW46IDAgLTEycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlX19jb250ZW50X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2UgLmVyZ28tYWRob3BfX2Fib3V0LXNlcnZpY2VfX2NvbnRlbnRfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlIC5lcmdvLWFkaG9wX19hYm91dC1zZXJ2aWNlX19jb250ZW50X19sZWZ0LFxuICAuZXJnby1hZGhvcF9fYWJvdXQtc2VydmljZSAuZXJnby1hZGhvcF9fYWJvdXQtc2VydmljZV9fY29udGVudF9fcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIG1hcmdpbi10b3A6IDM5cHg7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIC5mb290ZXJfX2xpbmtzLWhlYWRpbmctLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSAuZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW1fX2FnZW5jeU5hbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbSAuZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW1fX2NvbnRhY3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtX19jb250YWN0IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fY29udGFjdCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW0gcCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19sYWJlbF9fd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2NoaXAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fY2hpcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDE4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX193cmFwcGVyIH4gLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX3dyYXBwZXIgfiAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX193cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDg3MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50X19sZWZ0LFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50X19yaWdodCB7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX2xlZnQsXG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19faXRlbV9fY29udGVudF9fcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50X19sZWZ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX2xlZnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX2xlZnQgLmVyZ28tYWRob3BfX29wZW5pbmdIb3Vyc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fZmF4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2FkZHJlc3MgLnJlYWN0LXN2Zy1pY29uLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSAucmVhY3Qtc3ZnLWljb24sXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2ZheCAucmVhY3Qtc3ZnLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyBkaXY6bm90KC5jbXAtdGV4dCkgcCxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fcGhvbmUgZGl2Om5vdCguY21wLXRleHQpIHAsXG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2ZheCBkaXY6bm90KC5jbXAtdGV4dCkgcCB7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyBkaXY6bm90KC5jbXAtdGV4dCkgcCxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSBkaXY6bm90KC5jbXAtdGV4dCkgcCxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19mYXggZGl2Om5vdCguY21wLXRleHQpIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19hZGRyZXNzIC5lcmdvLWFkaG9wX190ZXh0LFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSAuZXJnby1hZGhvcF9fdGV4dCxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fZmF4IC5lcmdvLWFkaG9wX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fcGhvbmUgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2FkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyAucmVhY3Qtc3ZnLWljb24ge1xuICB0b3A6IDNweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fYWRkcmVzcyAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9uc19fcGhvbmUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19waG9uZSAucmVhY3Qtc3ZnLWljb24ge1xuICB0b3A6IC0zcHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2ZheCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMgLmVyZ28tYWRob3BfX29wZW5pbmdIb3Vyc19fb3BlbmluZy1saXN0IGxpLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLmFkaG9wX190ZWFtLFxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZS0tc29sbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZS5hZGhvcF9fdGVhbSxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmFkaG9wX190ZWFtLS0xLWVtcGxveWVlcyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZS5hZGhvcF9fdGVhbSxcbi5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnMgLmFkaG9wX190ZWFtLS0yLWVtcGxveWVlcyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fcGljdHVyZS5hZGhvcF9fdGVhbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX3JpZ2h0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zIC5lcmdvLWFkaG9wX19hZ2VuY3lMb2NhdGlvbnNfX2l0ZW1fX2NvbnRlbnRfX3JpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUxvY2F0aW9ucyAuZXJnby1hZGhvcF9fYWdlbmN5TG9jYXRpb25zX19pdGVtX19jb250ZW50X19yaWdodCBpbWcge1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeURhdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgcGFkZGluZy10b3A6IDMxcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhX19jb250ZW50X193cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDM5cHg7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhX19jb250ZW50X193cmFwcGVyIHtcbiAgICBnYXA6IDEwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fYWdlbmN5TmFtZSxcbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjlweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19hZGRyZXNzSXRlbV9fYWdlbmN5TmFtZSxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX29wZW5pbmdIb3Vyc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5RGF0YSAuZXJnby1hZGhvcF9fYWRkcmVzc0l0ZW1fX2FnZW5jeVRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19iYWRnZXMuZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0ge1xuICBhc3BlY3QtcmF0aW86IGF1dG87XG4gIG1heC13aWR0aDogNzBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5RGF0YSAuZXJnby1hZGhvcF9fYmFkZ2VzLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5RGF0YSAuZXJnby1hZGhvcF9fYmFkZ2VzLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeURhdGEgLmVyZ28tYWRob3BfX2JhZGdlcy5lcmdvLWFkaG9wX19iYWRnZXMgLmVyZ28tYWRob3BfX2JhZGdlc19faXRlbSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDE0LzE5O1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgbWluLWhlaWdodDogNzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lEYXRhIC5lcmdvLWFkaG9wX19iYWRnZXMuZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0gaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmJvZHktc2Nyb2xsLWxvY2tlZCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0b3A6IDczcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbGlnaHQtZ3JheSwgI2Q5ZDlkOSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dC0tdmlzaWJsZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzNweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLnBhZ2VfX3NuaXBwZXRzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQge1xuICAgIHRvcDogODFweDtcbiAgfVxuICAucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0LS12aXNpYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODFweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAucGFnZV9fc25pcHBldHMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gICAgdG9wOiA5NXB4O1xuICB9XG4gIC5wYWdlX19zbmlwcGV0cyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQtLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk1cHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IGg0IHtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbG9jYXRpb24tZGV0YWlscyxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3Qge1xuICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbG9jYXRpb24tZGV0YWlscyxcbiAgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19jb250YWluZXIgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3Qge1xuICAgIHBhZGRpbmc6IDEwcHggNTBweDtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19waWN0dXJlIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gIGZsZXg6IDM7XG4gIG1hcmdpbjogMjVweCAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fcGljdHVyZSB7XG4gICAgbWFyZ2luOiA0MHB4IDUwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fcGljdHVyZSBpbWcge1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbG9jYXRpb24tZGV0YWlscyB7XG4gIGZsZXg6IDU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xvY2F0aW9uLWRldGFpbHMgYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19sb2NhdGlvbi1kZXRhaWxzIGFkZHJlc3MgLmVyZ28tYWRob3BfX2FkZHJlc3NJdGVtX19hZ2VuY3lOYW1lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19sb2NhdGlvbi1kZXRhaWxzIGFkZHJlc3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3Qge1xuICBmbGV4OiAzO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgbGkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0IGxpOm50aC1jaGlsZCgtbiszKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA3cHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19saW5rc19fbGlzdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbiAgfVxuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgdWwge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX2xpbmtzX19saXN0LmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgbGkge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMge1xuICBtYXJnaW46IDIwcHggMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyBoNCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19oZWFkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vyc19faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19oZWFkZXIgc3Ryb25nLFxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnNfX2hlYWRlciAucmVhY3Qtc3ZnLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0IC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vyc19faGVhZGVyIC5yZWFjdC1zdmctaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiByb3RhdGUgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3VycyAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzX19kZXRhaWxzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19vcGVuaW5nLWhvdXJzLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vycy0tdmlzaWJsZSAucmVhY3Qtc3ZnLWljb24ge1xuICByb3RhdGU6IDE4MGRlZztcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vycy5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXRfX29wZW5pbmctaG91cnMtLXZpc2libGUgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fb3BlbmluZy1ob3Vyc19fZGV0YWlscyB7XG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDAgNTBweCAzNXB4O1xuICBtYXJnaW46IDAgMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fY29udGFpbmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzMHB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dCAuZXJnby1hZGhvcF9fYWdlbmN5Rmx5b3V0X19waWN0dXJlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lGbHlvdXQgLmVyZ28tYWRob3BfX2FnZW5jeUZseW91dF9fbGlua3NfX2xpc3QgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24ge1xuICBtYXgtd2lkdGg6IDg3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uOm5vdCguc2hvdy1tb3JlKSAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyohIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB9XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb246bm90KC5zaG93LW1vcmUpIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2JlbmVmaXRzLFxuICAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uOm5vdCguc2hvdy1tb3JlKSAuZXJnby1hZGhvcF9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb246bm90KC5zaG93LW1vcmUpIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX3JlYWQtbW9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi0td2l0aC1yYXRpbmdzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24tLXdpdGgtcmF0aW5ncyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24tLXdpdGgtcmF0aW5ncyAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19hc2lkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24tLXdpdGgtcmF0aW5ncyAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19hc2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMzUlO1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2NvbnRlbnQgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fYXNpZGUge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19hc2lkZSAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX2JlbmVmaXRzIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbl9fcmVhZC1tb3JlLFxuLmVyZ28tYWRob3BfX2FnZW5jeVByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uX19yZWFkLWxlc3Mge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX19hZ2VuY3lQcmVzZW50YXRpb25fX3JlYWQtbGVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX2ltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9faW1hZ2Uge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX2NvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19jb250ZW50IC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzX19jdGEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX25vX19yYXRpbmdfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5ncyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MuZmFjZWJvb2sgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlX190ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzIC5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZS0td2l0aC10b29sdGlwIHtcbiAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlLS13aXRoLXRvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlLS13aXRoLXRvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlciB7XG4gIHdpZHRoOiA0MHB4O1xufVxuLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWwgLmVyZ28tYWRob3BfX2FnZW5jeVJhdGluZ0hvcml6b250YWxfX3JhdGluZ3MgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzX19zdGFyc19fdGV4dCxcbi5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsIC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzIC5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbGlnaHQtZ3JheSwgI2Q5ZDlkOSk7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbn1cbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbn1cbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMDtcbn1cbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX2hlYWRpbmcsXG4uYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWwgLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsX19zdWJoZWFkaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9faGVhZGluZzpub3QoOmZpcnN0LWNoaWxkKSxcbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX3N1YmhlYWRpbmc6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbCAuYWRob3AtZXJnb19fcmF0aW5nVmVydGljYWxfX2l0ZW0ge1xuICBwYWRkaW5nOiAzMHB4O1xufVxuLmFkaG9wLWVyZ29fX3JhdGluZ1ZlcnRpY2FsIC5hZGhvcC1lcmdvX19yYXRpbmdWZXJ0aWNhbF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uZXJnby1hZGhvcF9fYmFkZ2VzIC5lcmdvLWFkaG9wX19iYWRnZXNfX2l0ZW0gaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2JhZGdlcyAuZXJnby1hZGhvcF9fYmFkZ2VzX19pdGVtIC5lcmdvLWFkaG9wX19idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhbXBhaWduc19fY29udGVudCAuY2FtcGFpZ25fX3RlYXNlcl9fd3JhcHBlcjpudGgtY2hpbGQoZXZlbikgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYW1wYWlnbnNfX2NvbnRlbnQgLmNhbXBhaWduX190ZWFzZXJfX3dyYXBwZXI6bnRoLWNoaWxkKGV2ZW4pIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICB9XG59XG4uY2FtcGFpZ25zX19jb250ZW50IC5jYW1wYWlnbl9fdGVhc2VyX193cmFwcGVyOmxhc3QtY2hpbGQgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIHtcbiAgbWF4LXdpZHRoOiA4NzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDVweCAtMXB4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xNiksIDAgNnB4IDEwcHggMCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMTIpLCAwIDFweCAxOHB4IDAgcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEpO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMTdweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19pbWFnZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0MHB4IDQ4cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MjBweCk7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCA0cHg7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fZGVzY3JpcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG4uZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXIgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyX19kZXNjcmlwdGlvbiB1bCxcbi5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlciAuZXJnby1hZGhvcF9fY2FtcGFpZ25UZWFzZXJfX2Rlc2NyaXB0aW9uIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fY3RhX193cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NhbXBhaWduVGVhc2VyIC5lcmdvLWFkaG9wX19jYW1wYWlnblRlYXNlcl9fY3RhX193cmFwcGVyIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGdhcDogMTZweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5zbGljay10cmFjazphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGlyPXJ0bF0gLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnNsaWNrLXNsaWRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZXIge1xuICB1c2VyLXNlbGVjdDogYXV0bztcbn1cbi5zbGljay1zbGlkZXIuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLWxpc3QsXG4uc2xpY2stc2xpZGVyLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uc2xpY2stc2xpZGVyLnNsaWNrLXdpdGgtYXJyb3dzIHtcbiAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gIG1hcmdpbi1yaWdodDogMzZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGljay1zbGlkZXIuc2xpY2std2l0aC1hcnJvd3Mge1xuICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDhweDtcbiAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3ctLWN1c3RvbSB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLXByZXYge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQge1xuICBsZWZ0OiAxMDAlO1xufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY2hpcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWFkZGl0aW9uYWwtMiwgIzAwOTI4NCk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nOiA1cHggMTRweDtcbn1cbi5lcmdvLWFkaG9wX19jaGlwLmNoaXAtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4MDcxO1xufVxuLmVyZ28tYWRob3BfX2NoaXAuY2hpcC1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC0zLCAjMGY5NGE3KTtcbn1cbi5lcmdvLWFkaG9wX19jaGlwLmNoaXAtdmlvbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC0xLCAjYjMxNzY3KTtcbn1cbi5lcmdvLWFkaG9wX19jaGlwLmNoaXAtb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC01LCAjZTg3YTE2KTtcbn1cbi5lcmdvLWFkaG9wX19jaGlwLmNoaXAteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC00LCAjZjZjYjAwKTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXkge1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MjZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5IHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5IC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5X19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBib3gtc2hhZG93OiAwIDI0cHggMzhweCAzcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEyKSwgMCA5cHggNDZweCA4cHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEpLCAwIDExcHggMTVweCAtN3B4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xNik7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5IC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19sZWZ0LWljb24tY3RhIC5lcmdvLWFkaG9wX19idXR0b25fX3RleHQge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG5cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIGg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyIGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pdGVtIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluay5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBwYWRkaW5nOiAxNXB4IDI0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluay5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbms6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsgLnJlYWN0LXN2Zy1pY29uLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluayAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1jaGV2cm9uLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluayAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rX190ZXh0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmtfX3RleHQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI1cHg7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay0tcHJpbWFyeSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIHBhZGRpbmc6IDE1cHggMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1wcmltYXJ5IHtcbiAgICBoZWlnaHQ6IDkycHg7XG4gICAgbGluZS1oZWlnaHQ6IDkycHg7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay0tZXhwYW5kZWQge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX2ljb24tbGluay0tZXhwYW5kZWQuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1leHBhbmRlZCAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1jaGV2cm9uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19pY29uLWxpbmsuZXJnby1hZGhvcF9fY29udGFjdEJhcl9faWNvbi1saW5rLS1leHBhbmRlZCBzdmcge1xuICBmaWxsOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19waG9uZXMtYXJlYSAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbms6aG92ZXIgLnJlYWN0LXN2Zy1pY29uIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX3Bob25lcy1hcmVhIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayAucmVhY3Qtc3ZnLWljb24ge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5X19zbmlwcGV0LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMnB4KTtcbiAgcGFkZGluZzogMjRweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXIgLmVyZ28tYWRob3BfX2NvbnRhY3RCYXJfX292ZXJsYXlfX3NuaXBwZXQtY29udGVudCB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jb2x1bW5zKSAqIDQwMHB4LCAxMjY4cHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdEJhciAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9fb3ZlcmxheV9fc25pcHBldC1jb250ZW50IC50ZWFzZXJzR3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyIC5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5X19zbmlwcGV0LWNvbnRlbnQgLnRlYXNlcnNHcmlkIC50ZWFzZXJzR3JpZF9fbGlzdCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmN1c3RvbUNvbHVtblNuaXBwZXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtIHtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MjZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtIHtcbiAgICAtbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOiA0MjZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbTpsYXN0LWNoaWxkIGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tY29udGVudC1hcmVhIHtcbiAgcGFkZGluZzogMCAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSB+IC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1jb250ZW50LWFyZWEge1xuICBtYXJnaW4tdG9wOiAzNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSB+IC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1jb250ZW50LWFyZWEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1jb250ZW50LWFyZWEgLmNtcC10ZXh0IHAge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWNvbnRlbnQtYXJlYSAuZXJnby1hZGhvcF9fYnV0dG9uOm5vdCguZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmspIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdENvbHVtbiAuZXJnby1hZGhvcF9fY29udGFjdENvbHVtbl9faXRlbS0tYnV0dG9uLWFyZWEgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMjFweDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uIC5lcmdvLWFkaG9wX19jb250YWN0Q29sdW1uX19pdGVtLS1idXR0b24tYXJlYSAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX2l0ZW0tLWJ1dHRvbi1hcmVhIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW4gLmVyZ28tYWRob3BfX2NvbnRhY3RDb2x1bW5fX3Bob25lcy1hcmVhID4gZGl2Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX190ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fdGV4dCBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2NvbnRlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBnYXA6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY29udGVudF9fd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNDhweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ltYWdlIHtcbiAgaGVpZ2h0OiAxNzZweDtcbiAgd2lkdGg6IDE3NnB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19pbWFnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogMjY4cHg7XG4gICAgd2lkdGg6IDI2OHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9faW1hZ2UgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMyMHB4KTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FnZW50IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19jb250ZW50IC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZ2VudCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY29udGVudF9faW5uZXIge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZGRyZXNzLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3Bob25lLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX21vYmlsZSxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19mYXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2FkZHJlc3M6bm90KDpsYXN0LWNoaWxkKTpub3QoLndpdGgtcm91dGUtcGxhbmVuKSxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19waG9uZTpub3QoOmxhc3QtY2hpbGQpOm5vdCgud2l0aC1yb3V0ZS1wbGFuZW4pLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX21vYmlsZTpub3QoOmxhc3QtY2hpbGQpOm5vdCgud2l0aC1yb3V0ZS1wbGFuZW4pLFxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2ZheDpub3QoOmxhc3QtY2hpbGQpOm5vdCgud2l0aC1yb3V0ZS1wbGFuZW4pIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZGRyZXNzIHAsXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fcGhvbmUgcCxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19tb2JpbGUgcCxcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19mYXggcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZGRyZXNzIC5yZWFjdC1zdmctaWNvbixcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19waG9uZSAucmVhY3Qtc3ZnLWljb24sXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fbW9iaWxlIC5yZWFjdC1zdmctaWNvbixcbi5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19mYXggLnJlYWN0LXN2Zy1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IDA7XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fYWRkcmVzcyAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19hZGRyZXNzIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3Bob25lIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmssXG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fbW9iaWxlIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX3Bob25lIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmssXG4gIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyIC5lcmdvLWFkaG9wX19jb250YWN0VGVhc2VyX19tb2JpbGUgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9fY29udGFjdFRlYXNlcl9fY3Rhc19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXIgLmVyZ28tYWRob3BfX2NvbnRhY3RUZWFzZXJfX2N0YXNfX3dyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3guY29udGFpbmVyQm94LS1oYWxmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1pbi13aWR0aDogNTAlO1xuICB9XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3guY29udGFpbmVyQm94LS13cmFwcGVyID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94LmNvbnRhaW5lckJveC0td3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveC5jb250YWluZXJCb3gtLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94ID4gZGl2IC5jb250YWluZXJCb3gtLWhhbGYgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMjRweCk7XG4gIH1cbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmNvbnRhaW5lckJveC5jb250YWluZXJCb3gtLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94ID4gZGl2IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94ID4gZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgfVxuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94ID4gZGl2ID4gKiB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5jb250YWluZXJCb3ggLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b246bm90KC5lcmdvLWFkaG9wX19hZ2VuY3lSYXRpbmdIb3Jpem9udGFsX19yYXRpbmdzX19jdGEpOm5vdCguc2xpY2stYXJyb3cpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guY29udGFpbmVyQm94IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uOm5vdCguZXJnby1hZGhvcF9fYWdlbmN5UmF0aW5nSG9yaXpvbnRhbF9fcmF0aW5nc19fY3RhKTpub3QoLnNsaWNrLWFycm93KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgPiBkaXYge1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyIC5jb250YWluZXJCb3guYWdlbmN5LXJhdGluZy13cmFwcGVyID4gZGl2ID4gLmNvbnRhaW5lckJveCB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94ID4gZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94ID4gZGl2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyNHB4KTtcbiAgfVxufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgPiAuYWdlbmN5UmF0aW5nIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgPiAuYWdlbmN5UmF0aW5nIHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgfVxufVxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgPiAuYWdlbmN5UmF0aW5nICsgLmFnZW5jeVJhdGluZyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgPiBkaXYgPiAuY29udGFpbmVyQm94ID4gZGl2ID4gLmFnZW5jeVJhdGluZyArIC5hZ2VuY3lSYXRpbmcge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodC1ncmF5LCAjZDlkOWQ5KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiAuY29udGFpbmVyQm94LmFnZW5jeS1yYXRpbmctd3JhcHBlciA+IGRpdiA+IC5jb250YWluZXJCb3ggPiBkaXYgPiAuYWdlbmN5UmF0aW5nIC5lcmdvLWFkaG9wX19hZ2VuY3ktcmF0aW5nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgLmNvbnRhaW5lckJveC5hZ2VuY3ktcmF0aW5nLXdyYXBwZXIgLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19jb3Jwb3JhdGVMb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX19jb3Jwb3JhdGVMb2dvIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG59XG4uZXJnby1hZGhvcF9fY29ycG9yYXRlTG9nbyBpbWcge1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiA2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ28gaW1nIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ29zIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDIzcHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fY29ycG9yYXRlTG9nb3Mge1xuICAgIGdhcDogMzBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2NvcnBvcmF0ZUxvZ29zIC5lcmdvLWFkaG9wX19jb3Jwb3JhdGVMb2dvc19fbGVnYWwtbm90aWNlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJsYWNrLCAjMDAwKTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uIC5lcmdvLWFkaG9wX19oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2hlYWRsaW5lIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG4uZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uX19lbWFpbF9fd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uX19lbWFpbF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Rlc2NyaXB0aW9uIC5lcmdvLWFkaG9wX19kZXNjcmlwdGlvbl9fZW1haWxfX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZGVzY3JpcHRpb24gLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19la2lMZWdhbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2VraUxlZ2FsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgfVxufVxuLmFlbS1BdXRob3JMYXllci1FZGl0IC5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm1fX3N0ZXAge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY291bnRlciB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb3VudGVyIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyay1ncmF5LCAjYWVhZWFlKTtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9faWNvbiAucmVhY3Qtc3ZnLWljb24ge1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19pY29uIHAge1xuICBmbGV4OiAxO1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIHAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX3R4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fZG93bmxvYWRfX3N0ZXAgc3Ryb25nLFxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybV9fc3RlcCBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsID4gc3Bhbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsID4gc3Bhbjo6YmVmb3JlLCAuZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsID4gc3Bhbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGxhYmVsID4gc3Bhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMTgxODc7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY29uZmlybSBsYWJlbCA+IHNwYW46OmFmdGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsZWZ0OiA0cHg7XG4gIHRvcDogNHB4O1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gbGFiZWwgPiBzcGFuIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5lcmdvLWFkaG9wX19la2lMZWdhbCAuZXJnby1hZGhvcF9fZWtpTGVnYWxfX2NvbmZpcm0gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIHNwYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTgxODc7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jb25maXJtIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBzcGFuOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jdGFfX3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY3RhX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2VraUxlZ2FsIC5lcmdvLWFkaG9wX19la2lMZWdhbF9fY3RhX193cmFwcGVyIC5lcmdvLWFkaG9wX19idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZWtpTGVnYWwgLmVyZ28tYWRob3BfX2VraUxlZ2FsX19jdGFfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19faGVhZGxpbmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBncmlkLWFyZWE6IGhlYWRsaW5lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDI0cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3JhdGluZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXg6IDAgMCA0MTJweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3JhdGluZy1zZWFsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAyMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE2cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3JhdGluZy1zZWFsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fcmF0aW5nLXNlYWxfX2NvbnRhaW5lci10ZXh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAuZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fcmF0aW5nIC5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19yYXRpbmcgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzX19zdGFyc19fdGV4dC1yYXRpbmcge1xuICBmb250LXNpemU6IDI2cHg7XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fc2VhbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDI0cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmVyZ28tYWRob3BfX2Vrb21pU2VhbHNfX3NlYWxzIGltZyB7XG4gIHdpZHRoOiAxNzBweDtcbn1cbi5lcmdvLWFkaG9wX19la29taVNlYWxzX19jdGEge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uZXJnby1hZGhvcF9fZWtvbWlTZWFsc19fY3RhIGEge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAuZXJnby1hZGhvcF9fZWtvbWlTZWFscyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIH1cbn1cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5mZWF0dXJlZFByb2R1Y3RzX19jb250ZW50X193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbn1cblxuLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAyNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmVhdHVyZWRQcm9kdWN0c19fY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTE4MnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5mZWF0dXJlZFByb2R1Y3RzX19jb250ZW50ID4gZGl2LFxuLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgPiBkaXYgPiBkaXYge1xuICBtYXgtd2lkdGg6IDM3OHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mZWF0dXJlZFByb2R1Y3RzX19jb250ZW50IC5lcmdvLWFkaG9wX19mZWF0dXJlZC1wcm9kdWN0LXRlYXNlcixcbiAgLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcixcbiAgLmZlYXR1cmVkUHJvZHVjdHNfX2NvbnRlbnQgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciBkaXZbZGF0YS10aGVtZV0sXG4gIC5mZWF0dXJlZFByb2R1Y3RzX19jb250ZW50IC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgZGl2W2RhdGEtdGhlbWVdID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciB7XG4gICAgbWF4LXdpZHRoOiAzNzhweDtcbiAgICBtaW4taGVpZ2h0OiA0NDhweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMnB4IDJweCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMjUpO1xufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19pbWFnZSB7XG4gIGFzcGVjdC1yYXRpbzogMy8yO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDI1MnB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9faW1hZ2UgaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fYmVzdF9kZWFsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDA7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2Jlc3RfZGVhbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgIGZsZXg6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjUycHgpO1xuICAgIG1pbi1oZWlnaHQ6IDIwMXB4O1xuICAgIHBhZGRpbmc6IDMycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fY29udGVudCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBtYXJnaW4tdG9wOiAzNHB4O1xufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBoeXBoZW5zOiBhdXRvO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3RleHQsXG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX190ZXh0Om5vdCg6bGFzdC1jaGlsZCksXG4uZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSxcbiAgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fd3JhcHBlciAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyX19wcmljZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZmVhdHVyZWRQcm9kdWN0VGVhc2VyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX193cmFwcGVyIC5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXJfX3ByaWNlX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mZWF0dXJlZFByb2R1Y3RUZWFzZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2VfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2ZlYXR1cmVkUHJvZHVjdFRlYXNlcl9fcHJpY2Uge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mb19faGVhZGxpbmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMTBweCAwIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwIGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMzRweDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogNDRweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gcCwgLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIGRpdiA+IHNwYW4ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBwLCAuZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gZGl2ID4gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gcC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19uYW1lLCAuZXJnby1hZGhvcF9fZmlyc3RDb250YWN0SW5mbyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gZGl2ID4gc3Bhbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19uYW1lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19maXJzdENvbnRhY3RJbmZvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmVyZ28tYWRob3BfX2ZpcnN0Q29udGFjdEluZm8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2NvbnRhY3QuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fY29udGFjdCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb2N1cyB7XG4gICAgbWFyZ2luOiAwIC0xMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fcmlnaHQsXG4gIC5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX2NvbnRlbnRfX2xlZnQge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fcmlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19fY29udGVudF9fcmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1OCU7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX2NvbnRlbnRfX2xlZnQge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX2NvbnRlbnRfX2xlZnQge1xuICAgIHBhZGRpbmc6IDI0cHggMTJweDtcbiAgICB3aWR0aDogNDIlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19faGVhZGxpbmUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ZvY3VzIC5lcmdvLWFkaG9wX19mb2N1c19faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9jdXMgLmVyZ28tYWRob3BfX2ZvY3VzX19pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19mb2N1cyAuZXJnby1hZGhvcF9fZm9jdXNfX2ltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW46bnRoLWNoaWxkKDMpIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbjpudGgtY2hpbGQoMykgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW46bnRoLWNoaWxkKDMpIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIHtcbiAgICBnYXA6IDAgMTBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbjpudGgtY2hpbGQoMykgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3MgLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbl9fbGlua3NfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW46bnRoLWNoaWxkKDMpIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmVyZ28tYWRob3BfX2Zvb3RlckNvbHVtbiAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uX19saW5rcyAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uX19saW5rc19faXRlbSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19pdGVtIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19saW5rIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19pdGVtIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19saW5rOmhvdmVyLCAuZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1uIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19pdGVtIC5lcmdvLWFkaG9wX19mb290ZXJDb2x1bW5fX2xpbmtzX19saW5rOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuXG4uZXJnby1hZGhvcF9fZm9vdGVyQ29sdW1ucyB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tdG9wOiA0OHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19oZWFkbGluZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2FtcGFpZ25zIC5lcmdvLWFkaG9wX19oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FtcGFpZ25zIC5lcmdvLWFkaG9wX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FtcGFpZ25zIC5lcmdvLWFkaG9wX19oZWFkbGluZSAuZXJnby1hZGhvcF9faGVhZGxpbmVfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICB9XG59XG4uY29udGFjdFRlYXNlciAuZXJnby1hZGhvcF9faGVhZGxpbmUgLmVyZ28tYWRob3BfX2hlYWRsaW5lX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXJnby1hZGhvcF9faGVhZGxpbmUgLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjNWU1YjVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19oZWFkbGluZSAuaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5lcmdvLWFkaG9wX19oZWFkbGluZV9fdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19oZWFkbGluZSAuZXJnby1hZGhvcF9faGVhZGxpbmVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19oZWFkbGluZSAuZXJnby1hZGhvcF9faGVhZGxpbmVfX3RpdGxlOm9ubHktY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9faG90bGluZSB7XG4gIG1heC13aWR0aDogODcwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fY29udGVudF9fbGVmdCxcbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19jb250ZW50X19yaWdodCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX2xlZnQsXG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19jb250ZW50X19yaWdodCB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2NvbnRlbnRfX3JpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19jb250ZW50X19yaWdodCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19pbWFnZSB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2ltYWdlIGltZyB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fZGVzY3JpcHRpb24gcCB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fZGVzY3JpcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIucHJpbWFyeU51bWJlciBzdmcge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlci5wcmltYXJ5TnVtYmVyIHN2ZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyLnByaW1hcnlOdW1iZXIgLmVyZ28tYWRob3BfX3NtbF9faWNvbl9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyLnByaW1hcnlOdW1iZXIgLmVyZ28tYWRob3BfX3NtbF9faWNvbl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlcl9fdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX251bWJlciAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyX190ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbnVtYmVyIHN2ZyB7XG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDIxcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9faG90bGluZSAuZXJnby1hZGhvcF9faG90bGluZV9fbG9jYXRpb24sXG4gIC5lcmdvLWFkaG9wX19ob3RsaW5lIC5lcmdvLWFkaG9wX19ob3RsaW5lX19udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2hvdGxpbmVfX2xvY2F0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmVyZ28tYWRob3BfX2hvdGxpbmUgLmVyZ28tYWRob3BfX2J1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5yZWFjdC1zdmctaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLnJlYWN0LXN2Zy1pY29uIHN2ZyB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2lmcmFtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9faWZyYW1lOm5vdCgud2l0aC1weW0taWZyYW1lKSBpZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9faWZyYW1lIC5hZGhvcC1lcmdvX19jb250ZW50LWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2lmcmFtZSAuZXJnby1hZGhvcF9faWZyYW1lX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX2lmcmFtZSAuZXJnby1hZGhvcF9faWZyYW1lX19jb250YWluZXIgaWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5hZGhvcC1lcmdvX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmFkaG9wLWVyZ29fX2ZhbGxiYWNrX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuQGtleWZyYW1lcyByZWFjdC1sb2FkaW5nLXNrZWxldG9uIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG4ucmVhY3QtbG9hZGluZy1za2VsZXRvbiB7XG4gIC0tYmFzZS1jb2xvcjogI2ViZWJlYjtcbiAgLS1oaWdobGlnaHQtY29sb3I6ICNmNWY1ZjU7XG4gIC0tYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAtLWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLS1wc2V1ZG8tZWxlbWVudC1kaXNwbGF5OiBibG9jaztcbiAgLyogRW5hYmxlIGFuaW1hdGlvbiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNlLWNvbG9yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICAvKiBOZWNlc3NhcnkgZm9yIG92ZXJmbG93OiBoaWRkZW4gdG8gd29yayBjb3JyZWN0bHkgaW4gU2FmYXJpICovXG59XG4ucmVhY3QtbG9hZGluZy1za2VsZXRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdmFyKC0tcHNldWRvLWVsZW1lbnQtZGlzcGxheSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWJhc2UtY29sb3IpLCB2YXIoLS1oaWdobGlnaHQtY29sb3IpLCB2YXIoLS1iYXNlLWNvbG9yKSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIGFuaW1hdGlvbi1uYW1lOiByZWFjdC1sb2FkaW5nLXNrZWxldG9uO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1hbmltYXRpb24tZGlyZWN0aW9uKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hZGhvcC1lcmdvX19sb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5hZGhvcC1lcmdvX19sb2FkZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX3NsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX3NsaWRlIGZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbiAgbWF4LXdpZHRoOiA3MjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX3NsaWRlIGZpZ3VyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyX19zbGlkZSBmaWd1cmUgaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX3NsaWRlIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fc2xpZGVfX2NhcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogIzVlNWI1ZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlcl9fY291bnRlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19pbWFnZVNsaWRlciAuZXJnby1hZGhvcF9faW1hZ2VTbGlkZXJfX2NvdW50ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19pbWFnZVNsaWRlciAuc2xpY2stc2xpZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyIC5zbGljay1zbGlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTlweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOXB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLnNsaWNrLXByZXYsXG4uZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLnNsaWNrLW5leHQge1xuICB0b3A6IGNhbGMoMjV2dyAtIDI0cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX2ltYWdlU2xpZGVyIC5zbGljay1wcmV2LFxuICAuZXJnby1hZGhvcF9faW1hZ2VTbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHRvcDogMjAycHg7XG4gIH1cbn1cblxuZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5maWd1cmUgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuZmlndXJlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmVyZ28tYWRob3BfX2xlZ2FsLWRhdGEuYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZXJnby1hZGhvcF9fbGVnYWwtZGF0YS52ZXJ0aWNhbCAuZXJnby1hZGhvcF9fbGVnYWwtZGF0YV9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubG9jYXRpb24tc3dpdGNoIC5zbGljay1zbGlkZXIsXG4ubG9jYXRpb24tc3dpdGNoIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stc2xpZGVyLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lcixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuc2xpY2stc2xpZGVyLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogLTExcHg7XG4gIG1hcmdpbi1yaWdodDogLTExcHg7XG59XG4ubG9jYXRpb24tc3dpdGNoIC5lcmdvLWFkaG9wX19tb2RhbF9fY2xvc2VyLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX21vZGFsX19jbG9zZXIsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX21vZGFsX19jbG9zZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0xNHB4O1xufVxuLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyxcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5sb2NhdGlvbi1zd2l0Y2ggLnNsaWNrLXNsaWRlLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLnNsaWNrLXNsaWRlLFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stc2xpZGUgPiBkaXYsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stc2xpZGUgPiBkaXYsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLnNsaWNrLXNsaWRlID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1wcmV2LFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldixcbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1wcmV2IHtcbiAgbGVmdDogLTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5sb2NhdGlvbi1zd2l0Y2ggLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stcHJldixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0xMnB4O1xuICB9XG59XG4ubG9jYXRpb24tc3dpdGNoIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQsXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1uZXh0LFxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLW5leHQge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyA2cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmxvY2F0aW9uLXN3aXRjaCAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1uZXh0LFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuc2xpY2stYXJyb3ctLWN1c3RvbS5zbGljay1uZXh0LFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLnNsaWNrLWFycm93LS1jdXN0b20uc2xpY2stbmV4dCB7XG4gICAgbGVmdDogY2FsYygxMDAlICsgMTJweCk7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIge1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDE3NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lciBpbWcge1xuICBtYXJnaW46IDA7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHJvdy1nYXA6IDM2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAwIDAgMjRweDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogd3JhcCBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbi5zbGljay1zbGlkZXIgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtaXRlbSAuZXJnby1hZGhvcF9fYnV0dG9uLS13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWl0ZW0gLmVyZ28tYWRob3BfX2J1dHRvbi0td3JhcHBlci5lcmdvLWFkaG9wX19idXR0b24tLWRpc2FibGVkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtcHJpbWFyeSwgIzhlMDAzOCk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgNnB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTRweDtcbiAgICB0b3A6IC00cHg7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTc1cHgpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24gYWRkcmVzcyB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiBhZGRyZXNzIHtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24gcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiBoNCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyAuZXJnby1hZGhvcF9fbW9kYWxfX2JvZHkge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2csXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgICB3aWR0aDogNTY4cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lcixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1NDRweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdy5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDcyOHB4O1xuICAgIG1heC13aWR0aDogNzI4cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIsXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93LmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24sXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2ltYWdlLWNvbnRhaW5lcixcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogMjcwcHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTQwcHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxMnB4KSB7XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICAgIHdpZHRoOiA1ODhweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLW5hcnJvdyAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNTY0cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICAgIHdpZHRoOiA4NzBweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19saXN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDg0NnB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZy5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nIHtcbiAgICB3aWR0aDogODMycHg7XG4gICAgbWF4LXdpZHRoOiA4MzJweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19pbWFnZS1jb250YWluZXIsXG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZS5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2l0aC1jYXJvdXNlbCAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDMxNHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDE2NHB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fZGVzY3JpcHRpb24ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTY0cHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS1uYXJyb3cgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDY1MnB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0tbmFycm93IC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9fbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA2MjhweDtcbiAgfVxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cuZXJnby1hZGhvcF9fbW9kYWxfX2RpYWxvZyB7XG4gICAgd2lkdGg6IDk2NnB4O1xuICB9XG4gIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaC0td2lkZSAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2hfX2xpc3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTQycHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICAgIHdpZHRoOiAxMDc2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDc2cHg7XG4gIH1cbiAgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aWRlLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoLS13aXRoLWNhcm91c2VsIC5lcmdvLWFkaG9wX19sb2NhdGlvblN3aXRjaF9faW1hZ2UtY29udGFpbmVyLFxuICAuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpZGUuZXJnby1hZGhvcF9fbG9jYXRpb25Td2l0Y2gtLXdpdGgtY2Fyb3VzZWwgLmVyZ28tYWRob3BfX2xvY2F0aW9uU3dpdGNoX19kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAyODNweDtcbiAgfVxufVxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX21lZ2FGb290ZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG4uYWVtLUF1dGhvckxheWVyLVByZXZpZXcgLmVyZ28tYWRob3BfX21lZ2FGb290ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG4uZXJnby1hZGhvcF9fbWVnYUZvb3RlciAuZXJnby1hZGhvcF9fbWVnYUZvb3Rlcl9fbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbHVtbi1jb3VudDogMTtcbiAgY29sdW1uLWdhcDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fbWVnYUZvb3RlciAuZXJnby1hZGhvcF9fbWVnYUZvb3Rlcl9fbGlua3Mge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX21lZ2FGb290ZXIgLmVyZ28tYWRob3BfX21lZ2FGb290ZXJfX2xpbmtzIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rc19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cbi5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZXJnby1hZGhvcF9fbWVnYUZvb3RlciAuZXJnby1hZGhvcF9fbWVnYUZvb3Rlcl9fbGlua3MgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbms6aG92ZXIsIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyIC5lcmdvLWFkaG9wX19tZWdhRm9vdGVyX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbi5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluazpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX21vZGFsIHtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC40KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZXJnby1hZGhvcF9fbW9kYWwuZXJnby1hZGhvcF9fbW9kYWwtc2hvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fbW9kYWwub3RiLW1vZGFsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5lcmdvLWFkaG9wX19tb2RhbC5vdGItbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9fZGlhbG9nX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19kaWFsb2cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA5NjhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljNWM3O1xuICBib3JkZXItdG9wOiAwO1xuICBwYWRkaW5nOiAwIDE2cHggMjRweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOWM1Yzc7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMjRweCAxNnB4IDE1cHg7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCAyMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19oZWFkZXIgLmVyZ28tYWRob3BfX21vZGFsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmbGV4OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9faGVhZGVyIC5lcmdvLWFkaG9wX19tb2RhbF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX21vZGFsIC5lcmdvLWFkaG9wX19tb2RhbF9faGVhZGVyIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fbW9kYWxfX2Nsb3NlciB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fcGFuZWwge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2NHB4O1xuICBsZWZ0OiAtMTAwJTtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlIDBzO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTJweCkge1xuICAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fcGFuZWwge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHRvcDogNzJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3BhbmVsLmlzLW9wZW4ge1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciB7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDApO1xuICB0cmFuc2l0aW9uOiBib3R0b20gZWFzZSAwcyAwLjQ1cywgYmFja2dyb3VuZC1jb2xvciBlYXNlIDAuM3MgMC4xNXM7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhci5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyLS1vcGVuIHtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuOCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhci0tb3BlbiAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9fY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgbWF4LXdpZHRoOiA0MzJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9faGVhZGVyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXJfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTEycHgpIHtcbiAgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25fX3NpZGViYXJfX2hlYWRlciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9faGVhZGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhciAuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9faGVhZGVyIC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9fYmFjayB7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyX19oZWFkZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsuZXJnby1hZGhvcF9fbmF2aWdhdGlvbl9fc2lkZWJhcl9fY2xvc2VyIHtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19zaWRlYmFyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uX19iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMSwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDQzMnB4KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gIHdpZHRoOiAwJTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbGlnaHQtZ3JheSwgI2Q5ZDlkOSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTVweDtcbiAgcGFkZGluZzogNDhweCA0OHB4IDQ4cHggNjBweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2NvbnRlbnQge1xuICBmbGV4OiAxO1xufVxuLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXIgLmVyZ28tYWRob3BfX25hdmlnYXRpb25UZWFzZXJfX2NvbnRlbnQgcCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19jb250ZW50IHAuZXJnby1hZGhvcF9fbmF2aWdhdGlvblRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19jdGFfX3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cbi5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19jdGFfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50Om5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyIC5lcmdvLWFkaG9wX19uYXZpZ2F0aW9uVGVhc2VyX19jdGFfX3dyYXBwZXIgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IC5lcmdvLWFkaG9wX19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIC50eHQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xufVxuLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX19vcGVuaW5nLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMTRweCAwO1xufVxuLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX19vcGVuaW5nLWxpc3QgbGkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmVyZ28tYWRob3BfX29wZW5pbmdIb3VycyAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzX19vcGVuaW5nLWxpc3QgbGkgc3BhbjpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiAzM3B4O1xuICBmbGV4OiAwIDAgMzNweDtcbn1cbi5lcmdvLWFkaG9wX19jb250YWN0QmFyX19vdmVybGF5IC5lcmdvLWFkaG9wX19vcGVuaW5nSG91cnMge1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXgtd2lkdGg6IDQyNnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuZXJnby1hZGhvcF9fY29udGFjdEJhcl9fb3ZlcmxheSAuZXJnby1hZGhvcF9fb3BlbmluZ0hvdXJzIHtcbiAgICB3aWR0aDogNDI2cHg7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIHtcbiAgbWF4LXdpZHRoOiA4NzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIHtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lciAuZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXJfX2hlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIC5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lcl9fYm9keSA+IGRpdiB7XG4gIHBhZGRpbmc6IDEwcHggMCA1cHg7XG59XG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIgLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyX19ib2R5ID4gZGl2IHAge1xuICBtYXJnaW46IDA7XG59XG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIgLmVyZ28tYWRob3BfX2hlYWRsaW5lIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5lcmdvLWFkaG9wX19wcm9kdWN0RGlzY2xhaW1lciAuZXJnby1hZGhvcF9faGVhZGxpbmUgLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICNiZGJkYmQ7XG59XG4uZXJnby1hZGhvcF9fcHJvZHVjdERpc2NsYWltZXIgLmVyZ28tYWRob3BfX2hlYWRsaW5lIC5lcmdvLWFkaG9wX19oZWFkbGluZV9fdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuLmVyZ28tYWRob3BfX3Byb2R1Y3REaXNjbGFpbWVyIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5wcm9kdWN0RGlzY2xhaW1lckNvbnRhaW5lciAuY2FQYWdlRWxlbWVudCA+IC5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuLnByb2R1Y3REaXNjbGFpbWVyQ29udGFpbmVyIC5jYVBhZ2VFbGVtZW50ID4gLmFlbS1HcmlkID4gLnByb2R1Y3RkaXNjbGFpbWVyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ucHJvcG9zaXRpb24taXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvcG9zaXRpb24taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxufVxuLnByb3Bvc2l0aW9uLWl0ZW06bm90KC53aXRoLWRlc2NyaXB0aW9uKSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucHJvcG9zaXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wcm9wb3NpdGlvbi1pdGVtIC5wcm9wb3NpdGlvbi1pdGVtLWljb24ge1xuICBtYXgtaGVpZ2h0OiAzNHB4O1xufVxuLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuLnByb3Bvc2l0aW9uLWl0ZW0gLnByb3Bvc2l0aW9uLWNvbnRlbnQgLnByb3Bvc2l0aW9uLWl0ZW0taGVhZGxpbmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDVweCAwIDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvcG9zaXRpb24taXRlbSAucHJvcG9zaXRpb24tY29udGVudCAucHJvcG9zaXRpb24taXRlbS1oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi5wcm9wb3NpdGlvbi1pdGVtIC5wcm9wb3NpdGlvbi1jb250ZW50IC5wcm9wb3NpdGlvbi1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgbWFyZ2luOiAxOHB4IDAgMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9wb3NpdGlvbi1pdGVtIC5wcm9wb3NpdGlvbi1jb250ZW50IC5wcm9wb3NpdGlvbi1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3JhdGluZ0l0ZW0gLmVyZ28tYWRob3BfX3JhdGluZ0l0ZW1fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xufVxuLmVyZ28tYWRob3BfX3JhdGluZ0l0ZW0gLmVyZ28tYWRob3BfX3JhdGluZ0l0ZW1fX3RleHQge1xuICBtYXJnaW46IDVweCAwIDA7XG59XG4uZXJnby1hZGhvcF9fcmF0aW5nSXRlbSAuZXJnby1hZGhvcF9fcmF0aW5nSXRlbV9fdGV4dCBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdJdGVtIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fcmF0aW5nU3RhcnMgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzX19zdGFyc19fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzLFxuLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzIC5lcmdvLWFkaG9wX19yYXRpbmdTdGFyc19fc3RhcnMtZmlsbGVkIHtcbiAgei1pbmRleDogMDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0LWdyYXksICNkOWQ5ZDkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZXJnby1hZGhvcF9fcmF0aW5nU3RhcnMgLmVyZ28tYWRob3BfX3JhdGluZ1N0YXJzX19zdGFycy1maWxsZWQge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYWRkaXRpb25hbC00LCAjZjZjYjAwKTtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdTdGFycyAuZXJnby1hZGhvcF9fcmF0aW5nU3RhcnNfX3N0YXJzX190ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZS5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZS0tY2lyY2xlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5lcmdvLWFkaG9wX19yYXRpbmdWYWx1ZSAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWVfX2NpcmNsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhNjZhZDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZXJnby1hZGhvcF9fcmF0aW5nVmFsdWUgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlX190ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZXJnby1hZGhvcF9fcmF0aW5nVmFsdWUgLmVyZ28tYWRob3BfX3JhdGluZ1ZhbHVlX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3NpbXBsZV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3ZpZGVvIHtcbiAgbWFyZ2luOiAwO1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvLmVyZ28tYWRob3BfX3ZpZGVvLS1jb25zZW50LW92ZXJmbG93ZWQgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qISBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX2lmcmFtZV9fd3JhcHBlciB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvIGlmcmFtZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NhcHRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmtlc3QtZ3JheSwgIzMzMyk7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5hZGhvcC1lcmdvX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5X19pbm5lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYiksIDAuOCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheV9faW5uZXIgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5X19pbm5lcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDY2cHggMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5X19pbm5lciAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXlfX2lubmVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX192aWRlbyAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX292ZXJsYXkgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyohIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB9XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19yZWFkTW9yZV9fY3RhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19vdmVybGF5IC5lcmdvLWFkaG9wX19idXR0b24tLXByaW1hcnkge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3ZpZGVvIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdmlkZW8gLmVyZ28tYWRob3BfX2J1dHRvbi0tcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnQgLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fbW9kYWxfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fdmlkZW9fX2NvbnNlbnRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fbW9kYWwgLmVyZ28tYWRob3BfX21vZGFsX19jbG9zZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xufVxuLmVyZ28tYWRob3BfX3ZpZGVvX19jb25zZW50X19tb2RhbCAuZXJnby1hZGhvcF9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5lcmdvLWFkaG9wX192aWRlb19fY29uc2VudF9fbW9kYWwgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rOm5vdCguZXJnby1hZGhvcF9fbW9kYWxfX2Nsb3Nlcikge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc29jaWFsTWVkaWFBbmRMaW5rcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuXG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGdhcDogMjRweDtcbiAgcGFkZGluZzogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFMaW5rc19fbGlzdCB7XG4gIGdhcDogMjBweDtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzX19pdGVtIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzX19saW5rIHtcbiAgcGFkZGluZzogMnB4O1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3Mgc3ZnIHtcbiAgZmlsbDogdmFyKC0tdGhlbWUtd2hpdGUsICNmZmYpO1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3NfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3NfX2xpbmtzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS10aGVtZS13aGl0ZSwgI2ZmZik7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3MgLmVyZ28tYWRob3BfX2J1dHRvbl9fY29tcG9uZW50IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rcyAuZXJnby1hZGhvcF9fc29jaWFsTWVkaWFBbmRMaW5rc19fbGlua3MgLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUFuZExpbmtzX19saW5rcyAuZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhQW5kTGlua3NfX2xpbmtzIC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluayAuZXJnby1hZGhvcF9fYnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzMHB4O1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2l0ZW0ge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzX19saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzIC5lcmdvLWFkaG9wX19zb2NpYWxNZWRpYUxpbmtzX19pY29uIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3MgLmVyZ28tYWRob3BfX3NvY2lhbE1lZGlhTGlua3NfX2FuY2hvciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSB7XG4gIHdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIGF1dG8gODJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUge1xuICAgIHdpZHRoOiAyNDhweDtcbiAgfVxufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIHdpZHRoOiAxNzJweDtcbiAgaGVpZ2h0OiAxNzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlIHtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgfVxufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX3BpY3R1cmUgaW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19kZXNjcmlwdGlvbiBwLCAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24gZGl2ID4gc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXN0LWdyYXksICMzMzMpO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luOiAwO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19uYW1lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19vY2N1cGF0aW9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19jb250YWN0IHtcbiAgbWFyZ2luLXRvcDogN3B4O1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2NvbnRhY3QgcCwgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2NvbnRhY3QgZGl2ID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fY29udGFjdCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5hZGhvcF9fdGVhbS0tMS1lbXBsb3llZXMgLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUsIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUtLXNvbG8ge1xuICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICBtYXgtd2lkdGg6IDQ2NHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYWRob3BfX3RlYW0tLTEtZW1wbG95ZWVzIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlLCAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZS5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLS1zb2xvIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlX19waWN0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmFkaG9wX190ZWFtLS0xLWVtcGxveWVlcyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZSAuYWRob3BfX3RlYW0tZW1wbG95ZWUtdGlsZV9fZGVzY3JpcHRpb24sIC5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGUtLXNvbG8gLmFkaG9wX190ZWFtLWVtcGxveWVlLXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmFkaG9wX190ZWFtLS1yZWd1bGFyIHtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG59XG4uYWRob3BfX3RlYW0tLXJlZ3VsYXIuYWRob3BfX3RlYW0tLTEtZW1wbG95ZWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5hZGhvcF9fdGVhbS0tcmVndWxhci5hZGhvcF9fdGVhbS0tMi1lbXBsb3llZXMgLnNsaWNrLXNsaWRlciB7XG4gIG1heC13aWR0aDogNTQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWRob3BfX3RlYW0tLXJlZ3VsYXIgLnNsaWNrLXNsaWRlciB7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5hZGhvcF9fdGVhbS0tcmVndWxhciAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc4MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLmFkaG9wX190ZWFtLS1yZWd1bGFyIC5zbGljay1zbGlkZXIge1xuICAgIG1heC13aWR0aDogMTA0MHB4O1xuICB9XG59XG4uYWRob3BfX3RlYW0tLXJlZ3VsYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3ctLWN1c3RvbSB7XG4gIHRvcDogMTYwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5hZGhvcF9fdGVhbS0tcmVndWxhciAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy0tY3VzdG9tLnNsaWNrLXByZXYge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMCk7XG59XG5cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS10aWxlLS1zb2xvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjY1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLS0xLWVtcGxveWVlcyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZmxhZ3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmc6aG92ZXIgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duX193cmFwcGVyIHtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19mbGFncyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZmxhZ3MgLmZsYWcge1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19mbGFncyAuZmxhZzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2ZsYWdzIC5mbGFnOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZmxhZ3MgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2VsbGlwc2lzIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duX193cmFwcGVyIHtcbiAgei1pbmRleDogLTE7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbGlnaHRlc3QtZ3JheSwgI2YyZjJmMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMjhweCk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMTQ0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzZweCkge1xuICAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZyAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd25fX3dyYXBwZXIge1xuICAgIHdpZHRoOiAyNTVweDtcbiAgfVxufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duX193cmFwcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiA0OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19kcm9wZG93bl9fd3JhcHBlciAuYWRob3BfX3RlYW0tZW1wbG95ZWUtbGFuZ19fZHJvcGRvd24ge1xuICBtYXgtaGVpZ2h0OiAxNDRweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMjBweCAzMHB4O1xufVxuLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmcgLmFkaG9wX190ZWFtLWVtcGxveWVlLWxhbmdfX2Ryb3Bkb3duX193cmFwcGVyIC5hZGhvcF9fdGVhbS1lbXBsb3llZS1sYW5nX19kcm9wZG93biBoNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZXJnby1hZGhvcF9fdGVhbSB7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9faGVhZGxpbmUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyay1ncmF5LCAjYWVhZWFlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYW0gLmVyZ28tYWRob3BfX3RlYW1fX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFya2VzdC1ncmF5LCAjMzMzKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFtIC5lcmdvLWFkaG9wX190ZWFtX19zdWJoZWFkaW5nIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9fbG9jYXRpb24tcGlja2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9fbG9jYXRpb24tcGlja2VyIHNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiRlMgTWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIC0ycHggMCAwIHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpIGluc2V0O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9fbG9jYXRpb24tcGlja2VyIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdGVhbSAuZXJnby1hZGhvcF9fdGVhbV9fbG9jYXRpb24tcGlja2VyIC5lcmdvLWFkaG9wX190ZWFtX19sb2NhdGlvbi1waWNrZXJfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xuICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmVyZ28tYWRob3BfX3RlYW0gLmVyZ28tYWRob3BfX3RlYW1fX2N0YSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRlYXNlcnNHcmlkIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbn1cbi50ZWFzZXJzR3JpZCAudGVhc2Vyc0dyaWRfX2xpc3Qge1xuICBtYXgtd2lkdGg6IDEyMzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci1sZWZ0OiAyNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDI0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG4udGVhc2Vyc0dyaWQgLnRlYXNlcnNHcmlkX19saXN0ID4gW2RhdGEtbmM9VGVhc2VyXSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG4udGVhc2Vyc0dyaWQuY29scy0xIC50ZWFzZXJzR3JpZF9fbGlzdCB7XG4gIG1heC13aWR0aDogOTEycHg7XG59XG4udGVhc2Vyc0dyaWQ6bm90KC5jb2xzLTEpIC5lcmdvLWFkaG9wX190ZWFzZXJfX2hlYWRsaW5lIHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcnNHcmlkLmNvbHMtMiAudGVhc2Vyc0dyaWRfX2xpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcnNHcmlkLmNvbHMtMyAudGVhc2Vyc0dyaWRfX2xpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gIH1cbn1cbi50ZWFzZXJzR3JpZCAudGVhc2VyLmJhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRlYXNlcnNHcmlkIC50ZWFzZXIuYmFzZSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5lcmdvLWFkaG9wX190ZWFzZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIuZXJnby1hZGhvcF9fdGVhc2VyLS1mcmFtZSB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDVweCAtMXB4IHJnYmEodmFyKC0tdGhlbWUtYmxhY2stcmdiKSwgMC4xNiksIDAgNnB4IDEwcHggMCByZ2JhKHZhcigtLXRoZW1lLWJsYWNrLXJnYiksIDAuMTIpLCAwIDFweCAxOHB4IDAgcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXItdHlwZS0taG9yaXpvbnRhbCAuZXJnby1hZGhvcF9fdGVhc2VyLmVyZ28tYWRob3BfX3RlYXNlci0taW1hZ2UtcmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19pbWFnZSB7XG4gIGZsZXg6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VyLXR5cGUtLWhvcml6b250YWwgLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxufVxuLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDIge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxufVxuLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlci10eXBlLS1ob3Jpem9udGFsIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuaDUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJfX2NvbnRlbnQge1xuICBmbGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9fY29udGVudF9fd3JhcHBlciB7XG4gIHBhZGRpbmc6IDI0cHggMzJweCAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFzZXIgLmVyZ28tYWRob3BfX3RlYXNlcl9faGVhZGxpbmUuZXJnby1hZGhvcF9fdGVhc2VyX19oZWFkbGluZS0tcmVkIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLXByaW1hcnksICM4ZTAwMzgpO1xufVxuLmVyZ28tYWRob3BfX3RlYXNlciAuZXJnby1hZGhvcF9fdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uZXJnby1hZGhvcF9fdGVhc2VyIC5lcmdvLWFkaG9wX190ZWFzZXJfX2N0YSB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBnYXA6IDI0cHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19jb250ZW50LFxuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19pbWFnZSB7XG4gICAgZmxleDogMTtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW0gLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtX19jb250ZW50Om9ubHktY2hpbGQsXG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2ltYWdlOm9ubHktY2hpbGQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrLWdyYXksICNhZWFlYWUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9faGVhZGxpbmUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fdGVhc2Vyc0xpc3RfX2l0ZW1fX2Rlc2NyaXB0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmVyZ28tYWRob3BfX3RlYXNlcnNMaXN0X19pdGVtIC5lcmdvLWFkaG9wX19idXR0b246bm90KC5lcmdvLWFkaG9wX19idXR0b24tLXRleHQtbGluaykge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lcmdvLWFkaG9wX190ZWFzZXJzTGlzdF9faXRlbSAuZXJnby1hZGhvcF9fYnV0dG9uOm5vdCguZXJnby1hZGhvcF9fYnV0dG9uLS10ZXh0LWxpbmspIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uZXJnby1hZGhvcC10ZWFzZXJzLWxpc3Qge1xuICBtYXgtd2lkdGg6IDg3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5lcmdvLWFkaG9wX190ZXh0IGgxLFxuLmVyZ28tYWRob3BfX3RleHQgaDIsXG4uZXJnby1hZGhvcF9fdGV4dCBoMyxcbi5lcmdvLWFkaG9wX190ZXh0IGg0LFxuLmVyZ28tYWRob3BfX3RleHQgaDUsXG4uZXJnby1hZGhvcF9fdGV4dCBwIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5lcmdvLWFkaG9wX190ZXh0IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5lcmdvLWFkaG9wX190ZXh0IC5lcmdvLWFkaG9wX19idXR0b25fX2NvbXBvbmVudCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0tdGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4uZXJnby1hZGhvcF9fdGV4dCAuZXJnby1hZGhvcF9fYnV0dG9uX19jb21wb25lbnQgLmVyZ28tYWRob3BfX2J1dHRvbiBzcGFuIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5CZWNhdXNlIHotaW5kaWNlcyBjYW4gZ2V0IHRyaWNreSB3ZSBtYW5hZ2UgdGhlbSBpbiB0aGUgdGhlbWUuc2NzcyBnbG9iYWxseS5cblxuQWx3YXlzIHVzZSB0aGlzIG1peGluIHRvIHNldCBzZXQgYSB6LWluZGV4LlxuXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4telxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkZWxlbWVudCA9IE5hbWUgb2YgdGhlIGVsZW1lbnQgKG5vcm1hbGx5IHRoaXMgd2lsbCBiZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBtYWluIHN0YWNrKVxuQHBhcmFtZXRlciAkbGlzdCA9IE5hbWUgb2YgdGhlIGxpc3QgKGRlZmF1bHQgJHotaW5kaWNlcykuIE11c3QgYmUgb25seSBzZXQgZm9yIHN0YWNrIGNvbnRleHRcbkBwYXJhbWV0ZXIgJG1pbiA9IFNldCBhIG1pbmltdW0gei1pbmRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0LlxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG4kei1pbmRpY2VzIHZhcmlhYmxlIGluIHRoZSB0aGVtZS5zY3NzXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuXG4vLyBJbiB0aGUgU0FTUyB0aGVtZSBmaWxlXG5cbiR6LWluZGljZXM6IHNsaWRlciwgbW9kYWwsIGRpYWxvZywgbmF2aWdhdGlvbjtcblxuXG4vLyBJbiB0aGUgU0FTUyBtb2R1bGUgZmlsZVxuXG4ubW9kYWwge1xuICAgICZfX2Jhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IG5uLXotaW5kZXgobW9kYWwpO1xuICAgIH1cbn1cbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IHJlbW92ZSBldmVyeSB1bml0XG5uYW1lOiBzdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cbnJlbW92ZSBhbGwgdW5pdHNcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW1iZXIgPSBudW1iZXIgd2l0aCB1bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5zdHJpcC11bml0KDVweCkgLy8gT3V0cHV0OiA1XG5gYGBcbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IEZvbnRcbm5hbWU6IGZvbnRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5Vc2UgdGhpcyBtaXhpbmcgdG8gYWRkIGZvbnRzLlxuXG5Eb2N1bWVudGF0aW9uOlxuXG4tIGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0ZvbnQrbWFuYWdlbWVudCt3aXRoK1NDU1NcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGZvbnQtdHlwZVxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBmb2N1cyBjb2xvclxubmFtZTogZm9jdXMgY29sb3JcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5BZGQgYSBmb2N1cyBjb2xvciB3aGVuIGtleWJvYXJkLWZvY3VzIGlzIGFjdGl2YXRlZFxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJG51bWJlclxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBpZ25vcmUtY29udGFpbmVyXG5uYW1lOiBpZ25vcmUtY29udGFpbmVyXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuU2V0IGZ1bGwgcGFnZSB3aXRoIGZvciBzb21ldGhpbmcgaW5zaWRlIGEgY29udGFpbmVyXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRjb250YWluZXItc2l6ZVxuQHBhcmFtICRndXR0ZXJcblxuKi9cbjpyb290IHtcbiAgLS10aGVtZS1ibGFjay1yZ2I6IDAsIDAsIDA7XG4gIC0tdGhlbWUtZGFya2VzdC1ncmF5LXJnYjogNTEsIDUxLCA1MTtcbiAgLS10aGVtZS1wcmltYXJ5LXJnYjogMTQyLCAwLCA1NjtcbiAgLS10aGVtZS13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG59XG5cbi5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFlbS1HcmlkOjpiZWZvcmUsXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uYWVtLUdyaWQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZENvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWQtLTEyLFxuLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxMnB4O1xufVxuXG4uYWVtLUdyaWQuYWVtLUdyaWQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMixcbi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqIE5hdmlnYXRpb24gcGFkZGluZyB0b3AgYW5kIGJvdHRvbSAqL1xuLyoqIFNlYXJjaGJveCBzdWdnZXN0aW9ucyBvZmZzZXQgKi9cbi8qKiBIZWFkZXIgbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luLWJvdHRvbS4gKi9cbi8qKiBTZWFyY2hib3ggaGVpZ2h0LiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgKiovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgLmhpZGRlbi1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmhpZGRlbi1taW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLW1pbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lcmdvLWFkaG9wX190b29sdGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlciB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXItZ3JheSwgIzczNzM3Myk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlci5lcmdvLWFkaG9wX19idXR0b24tLXdpdGgtaWNvbi1vbmx5OmZvY3VzLXZpc2libGUge1xuICBib3JkZXI6IDA7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX3RyaWdnZXIuZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24tb25seTpmb2N1cy12aXNpYmxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRoZW1lLXByaW1hcnktcmdiKSwgMC4xNik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fYnV0dG9uLmVyZ28tYWRob3BfX2J1dHRvbi0td2l0aC1pY29uLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX3RyaWdnZXI6OmJlZm9yZSB7XG4gIHotaW5kZXg6IC0xO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5IHtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtd2hpdGUtcmdiKSwgMC44NSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggNnB4IC0zcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjIpLCAwIDEwcHggMTRweCAxcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE0KSwgMCA0cHggMThweCAzcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY2xvc2VyLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3NlciB7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrZXItZ3JheSwgIzczNzM3Myk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxOHB4O1xuICByaWdodDogMThweDtcbiAgb3BhY2l0eTogMC40O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY2xvc2VyLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3NlciB7XG4gICAgdG9wOiAxNHB4O1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY2xvc2VyLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2Nsb3Nlcjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXdoaXRlLCAjZmZmKTtcbiAgYm94LXNoYWRvdzogMCA2cHggNnB4IC0zcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjIpLCAwIDEwcHggMTRweCAxcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjE0KSwgMCA0cHggMThweCAzcHggcmdiYSh2YXIoLS10aGVtZS1ibGFjay1yZ2IpLCAwLjEyKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogNTBweCAxOHB4IDM2cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3Rvb2x0aXAgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2NvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcmdvLWFkaG9wX190b29sdGlwIC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5IC5lcmdvLWFkaG9wX190b29sdGlwX19vdmVybGF5X19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdG9vbHRpcCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fY29udGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1wcmltYXJ5LCAjOGUwMDM4KTtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwOmhvdmVyIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fYnV0dG9uLS13aXRoLWljb24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10aGVtZS1wcmltYXJ5LXJnYiksIDAuMDUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmVyZ28tYWRob3BfX3Rvb2x0aXAuZXJnby1hZGhvcF9fdG9vbHRpcC1vcGVuIC5lcmdvLWFkaG9wX19idXR0b24uZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheV9fdHJpZ2dlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtcHJpbWFyeS1yZ2IpLCAwLjE2KTtcbn1cbi5lcmdvLWFkaG9wX190b29sdGlwLmVyZ28tYWRob3BfX3Rvb2x0aXAtb3BlbiAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSB7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3Rvb2x0aXAuZXJnby1hZGhvcF9fdG9vbHRpcC1yZXZlcnNlZCAuZXJnby1hZGhvcF9fdG9vbHRpcF9fb3ZlcmxheSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTEwcHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX190b29sdGlwLmVyZ28tYWRob3BfX3Rvb2x0aXAtcmV2ZXJzZWQgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXkgLmVyZ28tYWRob3BfX3Rvb2x0aXBfX292ZXJsYXlfX2NvbnRlbnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gZW1cbm5hbWU6IG5uLXB4LXRvLWVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSBlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcbklmIHlvdSBkb24ndCBzZXQgYSAkYmFzZSB0aGUgJGJhc2UtZm9udC1zaXplIGlzIHVzZWQgYXMgdGhlIGNvbnRleHRcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1lbSg1KSAvLyBPdXRwdXQ6IDAuMzEyNWVtXG5ubi1weC10by1lbSg1LCAxMCkgLy8gT3V0cHV0OiAwLjVlbVxubm4tcHgtdG8tZW0oNSwgMjApIC8vIE91dHB1dDogMC4yNWVtXG5gYGBcbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gcmVtXG5uYW1lOiBubi1weC10by1yZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIHJlbSB3aXRoIGEgZ2l2ZW4gcGl4ZWwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBmb250IHNpemVcblxuSW46ICA1cHhcbk91dDogMC4zMTI1cmVtXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1yZW1cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLXJlbSg1KSAvLyBPdXRwdXQgMC4zMTI1cmVtXG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byB1bml0bGVzc1xubmFtZTogbm4tcHgtdG8tdW5pdGxlc3NcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5UaGlzIG1ha2VzIHRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIHB4IHRvIGVtLiBCdXQgaXQgZG9uJ3QgcHJpbnQgb3V0IHRoZSB1bml0LlxuXG5Vc2UgdGhpcyBmb3IgbGluZS1oZWlnaHRzLlxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cblxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbmxpbmUtaGVpZ2h0OiBubi1weC10by11bml0bGVzcyg1KSAvLyBPdXRwdXQ6IDAuMzEyNVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFN0cmlwIHVuaXRcbm5hbWU6IG5uLXN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5TdHJpcHMgb2YgdGhlIHVuaXQgb2YgYSBudW1iZXJcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bSA9IG51bWJlciB3aXRoIHVuaXQgKDVweCwgNWVtLCA1cmVtKVxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbm5uLXN0cmlwLXVuaXQoNXB4KSAvL091dHB1dDogNVxubm4tc3RyaXAtdW5pdCgxMGVtKSAvLyBPdXRwdXQ6IDEwXG5ubi1zdHJpcC11bml0KDE1cmVtKSAvLyBPdXRwdXQ6IDE1XG5gYGBcblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiB6LWluZGV4XG5uYW1lOiBubi16LWluZGV4XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cblxuUmVhZCB0aGUgQmVzdCBQcmFjdGljZSB0byBnZXQgYW4gZnVsbCBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvSG93K3RvK3NldCthK3otaW5kZXhcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXpcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuJHotaW5kaWNlcyB2YXJpYWJsZSBpbiB0aGUgdGhlbWUuc2Nzc1xuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuaHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE0LzA2LzEyL3Nhc3N5LXotaW5kZXgtbWFuYWdlbWVudC1mb3ItY29tcGxleC1sYXlvdXRzL1xuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiByZW1vdmUgZXZlcnkgdW5pdFxubmFtZTogc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5yZW1vdmUgYWxsIHVuaXRzXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtYmVyID0gbnVtYmVyIHdpdGggdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxuc3RyaXAtdW5pdCg1cHgpIC8vIE91dHB1dDogNVxuYGBgXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBGb250XG5uYW1lOiBmb250XG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuVXNlIHRoaXMgbWl4aW5nIHRvIGFkZCBmb250cy5cblxuRG9jdW1lbnRhdGlvbjpcblxuLSBodHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Gb250K21hbmFnZW1lbnQrd2l0aCtTQ1NTXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRmb250LXR5cGVcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2l0aCBmb3Igc29tZXRoaW5nIGluc2lkZSBhIGNvbnRhaW5lclxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkY29udGFpbmVyLXNpemVcbkBwYXJhbSAkZ3V0dGVyXG5cbiovXG46cm9vdCB7XG4gIC0tdGhlbWUtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLXRoZW1lLWRhcmtlc3QtZ3JheS1yZ2I6IDUxLCA1MSwgNTE7XG4gIC0tdGhlbWUtcHJpbWFyeS1yZ2I6IDE0MiwgMCwgNTY7XG4gIC0tdGhlbWUtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xufVxuXG4uYWVtLUdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZW0tR3JpZDo6YmVmb3JlLFxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmFlbS1HcmlkOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWVtLUdyaWRDb2x1bW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkLS0xMixcbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBib3JkZXItbGVmdDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMTJweDtcbn1cblxuLmFlbS1HcmlkLmFlbS1HcmlkLS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIsXG4uYWVtLUdyaWQuYWVtLUdyaWQtLWRlZmF1bHQtLTEyID4gLmFlbS1HcmlkQ29sdW1uLmFlbS1HcmlkQ29sdW1uLS1kZWZhdWx0LS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiBOYXZpZ2F0aW9uIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gKi9cbi8qKiBTZWFyY2hib3ggc3VnZ2VzdGlvbnMgb2Zmc2V0ICovXG4vKiogSGVhZGVyIG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IG1hcmdpbi1ib3R0b20uICovXG4vKiogU2VhcmNoYm94IGhlaWdodC4gKi9cbi8qKiBTZWFyY2hib3ggbWFyZ2luIGxlZnQgYW5kIHJpZ2h0ICoqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkxMXB4KSB7XG4gIC5oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5oaWRkZW4tbWluLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGRlbi1taW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZXJnby1hZGhvcF9fdXNwUHJlc2VudGF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9faGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbi5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb24gLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbl9fcHJvcG9zaXRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwIGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVyZ28tYWRob3BfX3VzcFByZXNlbnRhdGlvbiAuZXJnby1hZGhvcF9fdXNwUHJlc2VudGF0aW9uX19wcm9wb3NpdGlvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogd3JhcCByb3c7XG4gICAgZ2FwOiAyNHB4O1xuICB9XG59XG4uZXJnby1hZGhvcF9fdXNwUHJlc2VudGF0aW9uIC5lcmdvLWFkaG9wX191c3BQcmVzZW50YXRpb25fX2N0YSAuZXJnby1hZGhvcF9fYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIGVtXG5uYW1lOiBubi1weC10by1lbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5JZiB5b3UgZG9uJ3Qgc2V0IGEgJGJhc2UgdGhlICRiYXNlLWZvbnQtc2l6ZSBpcyB1c2VkIGFzIHRoZSBjb250ZXh0XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi1wdHVcblxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJHZhbHVlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5AcGFyYW1ldGVyICRiYXNlID0gcGl4ZWwgYmFzZWQgbnVtYmVyICh3aXRob3V0IHVuaXQpXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbm5uLXN0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tZW0oNSkgLy8gT3V0cHV0OiAwLjMxMjVlbVxubm4tcHgtdG8tZW0oNSwgMTApIC8vIE91dHB1dDogMC41ZW1cbm5uLXB4LXRvLWVtKDUsIDIwKSAvLyBPdXRwdXQ6IDAuMjVlbVxuYGBgXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHJlbVxubmFtZTogbm4tcHgtdG8tcmVtXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuQ2FsY3VsYXRlIHRoZSByZW0gd2l0aCBhIGdpdmVuIHBpeGVsIHdpdGggdGhlIGdpdmVuIGJhc2UgZm9udCBzaXplXG5cbkluOiAgNXB4XG5PdXQ6IDAuMzEyNXJlbVxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcmVtXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cbiMjIEV4YW1wbGVcbi0tLVxuYGBgaHRtbF9leGFtcGxlXG5ubi1weC10by1yZW0oNSkgLy8gT3V0cHV0IDAuMzEyNXJlbVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogUGl4ZWwgdG8gdW5pdGxlc3Ncbm5hbWU6IG5uLXB4LXRvLXVuaXRsZXNzXG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuVGhpcyBtYWtlcyB0aGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBweCB0byBlbS4gQnV0IGl0IGRvbid0IHByaW50IG91dCB0aGUgdW5pdC5cblxuVXNlIHRoaXMgZm9yIGxpbmUtaGVpZ2h0cy5cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5saW5lLWhlaWdodDogbm4tcHgtdG8tdW5pdGxlc3MoNSkgLy8gT3V0cHV0OiAwLjMxMjVcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5cblxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTdHJpcCB1bml0XG5uYW1lOiBubi1zdHJpcC11bml0XG5jYXRlZ29yeTogZnVuY3Rpb25zXG4tLS1cblxuU3RyaXBzIG9mIHRoZSB1bml0IG9mIGEgbnVtYmVyXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRudW0gPSBudW1iZXIgd2l0aCB1bml0ICg1cHgsIDVlbSwgNXJlbSlcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1zdHJpcC11bml0KDVweCkgLy9PdXRwdXQ6IDVcbm5uLXN0cmlwLXVuaXQoMTBlbSkgLy8gT3V0cHV0OiAxMFxubm4tc3RyaXAtdW5pdCgxNXJlbSkgLy8gT3V0cHV0OiAxNVxuYGBgXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogei1pbmRleFxubmFtZTogbm4tei1pbmRleFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkJlY2F1c2Ugei1pbmRpY2VzIGNhbiBnZXQgdHJpY2t5IHdlIG1hbmFnZSB0aGVtIGluIHRoZSB0aGVtZS5zY3NzIGdsb2JhbGx5LlxuXG5BbHdheXMgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHNldCBhIHotaW5kZXguXG5cblJlYWQgdGhlIEJlc3QgUHJhY3RpY2UgdG8gZ2V0IGFuIGZ1bGwgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0hvdyt0bytzZXQrYSt6LWluZGV4XG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRlbGVtZW50ID0gTmFtZSBvZiB0aGUgZWxlbWVudCAobm9ybWFsbHkgdGhpcyB3aWxsIGJlIHRoZSBtb2R1bGUgbmFtZSBmb3IgdGhlIG1haW4gc3RhY2spXG5AcGFyYW1ldGVyICRsaXN0ID0gTmFtZSBvZiB0aGUgbGlzdCAoZGVmYXVsdCAkei1pbmRpY2VzKS4gTXVzdCBiZSBvbmx5IHNldCBmb3Igc3RhY2sgY29udGV4dFxuQHBhcmFtZXRlciAkbWluID0gU2V0IGEgbWluaW11bSB6LWluZGV4IHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxpc3QuXG5cblxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5cbi8vIEluIHRoZSBTQVNTIHRoZW1lIGZpbGVcblxuJHotaW5kaWNlczogc2xpZGVyLCBtb2RhbCwgZGlhbG9nLCBuYXZpZ2F0aW9uO1xuXG5cbi8vIEluIHRoZSBTQVNTIG1vZHVsZSBmaWxlXG5cbi5tb2RhbCB7XG4gICAgJl9fYmFzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogbm4tei1pbmRleChtb2RhbCk7XG4gICAgfVxufVxuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogRm9udFxubmFtZTogZm9udFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblVzZSB0aGlzIG1peGluZyB0byBhZGQgZm9udHMuXG5cbkRvY3VtZW50YXRpb246XG5cbi0gaHR0cHM6Ly9wcm9qZWN0cy5uZXRjZW50cmljLmJpei93aWtpL2Rpc3BsYXkvRlJPTlRFTkQvRm9udCttYW5hZ2VtZW50K3dpdGgrU0NTU1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkZm9udC10eXBlXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGZvY3VzIGNvbG9yXG5uYW1lOiBmb2N1cyBjb2xvclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZCBhIGZvY3VzIGNvbG9yIHdoZW4ga2V5Ym9hcmQtZm9jdXMgaXMgYWN0aXZhdGVkXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkbnVtYmVyXG5cbiovXG4vKiBkb2Ncbi0tLVxudGl0bGU6IGlnbm9yZS1jb250YWluZXJcbm5hbWU6IGlnbm9yZS1jb250YWluZXJcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgZnVsbCBwYWdlIHdpdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuOnJvb3Qge1xuICAtLXRoZW1lLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS10aGVtZS1kYXJrZXN0LWdyYXktcmdiOiA1MSwgNTEsIDUxO1xuICAtLXRoZW1lLXByaW1hcnktcmdiOiAxNDIsIDAsIDU2O1xuICAtLXRoZW1lLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbn1cblxuLmFlbS1HcmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWVtLUdyaWQ6OmJlZm9yZSxcbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5hZW0tR3JpZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hZW0tR3JpZC0tMTIsXG4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEycHg7XG59XG5cbi5hZW0tR3JpZC5hZW0tR3JpZC0tMTIgPiAuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyLFxuLmFlbS1HcmlkLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiA+IC5hZW0tR3JpZENvbHVtbi5hZW0tR3JpZENvbHVtbi0tZGVmYXVsdC0tMTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogTmF2aWdhdGlvbiBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4vKiogU2VhcmNoYm94IHN1Z2dlc3Rpb25zIG9mZnNldCAqL1xuLyoqIEhlYWRlciBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBtYXJnaW4tYm90dG9tLiAqL1xuLyoqIFNlYXJjaGJveCBoZWlnaHQuICovXG4vKiogU2VhcmNoYm94IG1hcmdpbiBsZWZ0IGFuZCByaWdodCAqKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MTFweCkge1xuICAuaGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuaGlkZGVuLW1pbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWluLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uIHtcbiAgbWF4LXdpZHRoOiAyNzJweDtcbn1cbi5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbiAuZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb25fX2ltYWdlIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgaGVpZ2h0OiAyMTJweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb24gLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uX19pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uIC5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbl9fdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uIC5lcmdvLWFkaG9wX191c3BQcm9wb3NpdGlvbl9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXJnby1hZGhvcF9fdXNwUHJvcG9zaXRpb24gLmVyZ28tYWRob3BfX3VzcFByb3Bvc2l0aW9uX19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuYm9keS5ib2R5LXNjcm9sbC1sb2NrZWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIGJvZHkuYm9keS1zY3JvbGwtbG9ja2VkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi54Zi13ZWItY29udGFpbmVyIC50ZXh0W2NsYXNzKj1iZy1dLFxuLmV4cGVyaWVuY2VGcmFnbWVudCAudGV4dFtjbGFzcyo9YmctXSB7XG4gIC1vLWJvcmRlci1pbWFnZTogY29uaWMtZ3JhZGllbnQodmFyKC0tYmFja2dyb3VuZC1jb2xvcikgMCAwKSAwLzAvMCAxMDB2dztcbiAgYm9yZGVyLWltYWdlOiBjb25pYy1ncmFkaWVudCh2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKSAwIDApIGZpbGwgMC8wLzAgMTAwdnc7XG59XG5ib2R5LmRrdiAueGYtd2ViLWNvbnRhaW5lciAudGV4dFtjbGFzcyo9YmctXSxcbmJvZHkuZGt2IC5leHBlcmllbmNlRnJhZ21lbnQgLnRleHRbY2xhc3MqPWJnLV0ge1xuICBib3JkZXItaW1hZ2U6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmJvZHkuZGt2IC54Zi13ZWItY29udGFpbmVyIC50ZXh0W2NsYXNzKj1iZy1dOmJlZm9yZSxcbmJvZHkuZGt2IC5leHBlcmllbmNlRnJhZ21lbnQgLnRleHRbY2xhc3MqPWJnLV06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3R0b206IDA7XG4gIGJveC1zaGFkb3c6IDEwdncgMCAwIDAgY3VycmVudENvbG9yO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1heC13aWR0aDogOTB2dztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA5MHZ3O1xuICB6LWluZGV4OiAtMTtcbn1cblxuLmNtcC1jYXJvdXNlbF9fY29udGFpbmVyIC5leHBlcmllbmNlZnJhZ21lbnQgPiBkaXYgPiAuYWVtLUdyaWQuYWVtLUdyaWQtLTEyLmFlbS1HcmlkLS1kZWZhdWx0LS0xMiB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uZXhwZXJpZW5jZWZyYWdtZW50IC5hZW0tR3JpZCxcbi5leHBlcmllbmNlZnJhZ21lbnQgLmFlbS1HcmlkQ29sdW1uIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuLmV4cGVyaWVuY2VmcmFnbWVudCAuaGVyby5hZW0tR3JpZENvbHVtbjpiZWZvcmUsIC5leHBlcmllbmNlZnJhZ21lbnQgLmhlcm8uYWVtLUdyaWRDb2x1bW46YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ueGYtd2ViLWNvbnRhaW5lciA+IC5jb250YWluZXIgPiAucmVzcG9uc2l2ZWdyaWQgPiAuYWVtLUdyaWQsXG4uZXJnby1hZGhvcF9faHRtbCA+IC5hZW0tR3JpZCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuLnhmLXdlYi1jb250YWluZXIgPiAuY29udGFpbmVyID4gLnJlc3BvbnNpdmVncmlkIC5hZW0tR3JpZENvbHVtbixcbi5lcmdvLWFkaG9wX19odG1sIC5hZW0tR3JpZENvbHVtbiB7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uY29sdW1uQ29udHJvbCAuZXhwZXJpZW5jZWZyYWdtZW50IFtjbGFzcyo9YmctXSB7XG4gIGJvcmRlci1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWFkaG9wLmJ1bmRsZS5jc3MubWFwICovIl19 */