button,[type='button'],[type='reset'],[type='submit']{background-color:#233a78;border:0;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1;padding:.75em 1.5em;text-align:center;text-decoration:none;transition:background-color 150ms ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-font-smoothing:antialiased}button:hover,button:focus,[type='button']:hover,[type='button']:focus,[type='reset']:hover,[type='reset']:focus,[type='submit']:hover,[type='submit']:focus{background-color:#1c2e60;color:#fff}button.search-submit,[type='button'].search-submit,[type='reset'].search-submit,[type='submit'].search-submit{background:linear-gradient(#d21334 45%, #c81231 52%);border:none;border-radius:0 5px 5px 0;color:#fff;flex:1 0 auto;font-size:1.056em;height:100%;outline:none}.container-search-field button.search-submit,.container-search-field [type='button'].search-submit,.container-search-field [type='reset'].search-submit,.container-search-field [type='submit'].search-submit{font-size:1.333em}.container-sub-column-search button.search-submit,.container-sub-column-search [type='button'].search-submit,.container-sub-column-search [type='reset'].search-submit,.container-sub-column-search [type='submit'].search-submit{padding:0}.inner-billboard button.search-submit,.inner-billboard [type='button'].search-submit,.inner-billboard [type='reset'].search-submit,.inner-billboard [type='submit'].search-submit{font-size:1.667em}@media (max-width: 37.5em){.inner-billboard button.search-submit,.inner-billboard [type='button'].search-submit,.inner-billboard [type='reset'].search-submit,.inner-billboard [type='submit'].search-submit{font-size:1rem;text-align:center}}button.search-submit:hover,[type='button'].search-submit:hover,[type='reset'].search-submit:hover,[type='submit'].search-submit:hover{background:linear-gradient(#bb112e 50%, #b1102b 51%)}.ctaAdd button,.containSelectAll button,.ctaAdd [type='button'],.containSelectAll [type='button'],.ctaAdd [type='reset'],.containSelectAll [type='reset'],.ctaAdd [type='submit'],.containSelectAll [type='submit']{font-size:12px;font-weight:600;text-transform:uppercase}.ctaAdd button:hover,.containSelectAll button:hover,.ctaAdd [type='button']:hover,.containSelectAll [type='button']:hover,.ctaAdd [type='reset']:hover,.containSelectAll [type='reset']:hover,.ctaAdd [type='submit']:hover,.containSelectAll [type='submit']:hover{background:#2f4d9f}.ctaAdd button.btnGray,.containSelectAll button.btnGray,.ctaAdd [type='button'].btnGray,.containSelectAll [type='button'].btnGray,.ctaAdd [type='reset'].btnGray,.containSelectAll [type='reset'].btnGray,.ctaAdd [type='submit'].btnGray,.containSelectAll [type='submit'].btnGray{background:#7c7c7c}.ctaAdd button.btnGray:hover,.containSelectAll button.btnGray:hover,.ctaAdd [type='button'].btnGray:hover,.containSelectAll [type='button'].btnGray:hover,.ctaAdd [type='reset'].btnGray:hover,.containSelectAll [type='reset'].btnGray:hover,.ctaAdd [type='submit'].btnGray:hover,.containSelectAll [type='submit'].btnGray:hover{background:#959595}button.btnBulkBuy,button.btnBulkInquire,button.btnSubmitBulkInquire,[type='button'].btnBulkBuy,[type='button'].btnBulkInquire,[type='button'].btnSubmitBulkInquire,[type='reset'].btnBulkBuy,[type='reset'].btnBulkInquire,[type='reset'].btnSubmitBulkInquire,[type='submit'].btnBulkBuy,[type='submit'].btnBulkInquire,[type='submit'].btnSubmitBulkInquire{box-shadow:0 3px 5px rgba(0,0,0,0.25);font-size:13px;text-transform:uppercase;width:49%}.inactive button.btnBulkBuy,.inactive button.btnBulkInquire,.inactive button.btnSubmitBulkInquire,.inactive [type='button'].btnBulkBuy,.inactive [type='button'].btnBulkInquire,.inactive [type='button'].btnSubmitBulkInquire,.inactive [type='reset'].btnBulkBuy,.inactive [type='reset'].btnBulkInquire,.inactive [type='reset'].btnSubmitBulkInquire,.inactive [type='submit'].btnBulkBuy,.inactive [type='submit'].btnBulkInquire,.inactive [type='submit'].btnSubmitBulkInquire{background:#ccc;box-shadow:none;cursor:text;opacity:.5}.inactive button.btnBulkBuy:hover,.inactive button.btnBulkInquire:hover,.inactive button.btnSubmitBulkInquire:hover,.inactive [type='button'].btnBulkBuy:hover,.inactive [type='button'].btnBulkInquire:hover,.inactive [type='button'].btnSubmitBulkInquire:hover,.inactive [type='reset'].btnBulkBuy:hover,.inactive [type='reset'].btnBulkInquire:hover,.inactive [type='reset'].btnSubmitBulkInquire:hover,.inactive [type='submit'].btnBulkBuy:hover,.inactive [type='submit'].btnBulkInquire:hover,.inactive [type='submit'].btnSubmitBulkInquire:hover{background:#ccc;box-shadow:none;opacity:.5}button.btnSubmitBulkInquire,button.continueBrowsing,[type='button'].btnSubmitBulkInquire,[type='button'].continueBrowsing,[type='reset'].btnSubmitBulkInquire,[type='reset'].continueBrowsing,[type='submit'].btnSubmitBulkInquire,[type='submit'].continueBrowsing{font-size:14px;width:auto}button.btnBulkBuy,button.btnSubmitBulkInquire,[type='button'].btnBulkBuy,[type='button'].btnSubmitBulkInquire,[type='reset'].btnBulkBuy,[type='reset'].btnSubmitBulkInquire,[type='submit'].btnBulkBuy,[type='submit'].btnSubmitBulkInquire{background:#d21334}button.btnBulkBuy:hover,button.btnSubmitBulkInquire:hover,[type='button'].btnBulkBuy:hover,[type='button'].btnSubmitBulkInquire:hover,[type='reset'].btnBulkBuy:hover,[type='reset'].btnSubmitBulkInquire:hover,[type='submit'].btnBulkBuy:hover,[type='submit'].btnSubmitBulkInquire:hover{background:#bb112e}button.btnBulkInquire,button.continueBrowsing,[type='button'].btnBulkInquire,[type='button'].continueBrowsing,[type='reset'].btnBulkInquire,[type='reset'].continueBrowsing,[type='submit'].btnBulkInquire,[type='submit'].continueBrowsing{background:#507ec0}button.btnBulkInquire:hover,button.continueBrowsing:hover,[type='button'].btnBulkInquire:hover,[type='button'].continueBrowsing:hover,[type='reset'].btnBulkInquire:hover,[type='reset'].continueBrowsing:hover,[type='submit'].btnBulkInquire:hover,[type='submit'].continueBrowsing:hover{background:#4171b5}.btn-buy-now,.btn-make-offer,.btn-request-price,.btn-secondary{border-radius:5px;color:#fff;display:inline-block;font-size:0.833em;font-weight:700;opacity:.7;padding:.5em 0;position:relative;text-align:center;transition:all 200ms ease-in-out;width:120px}.btn-buy-now:hover,.btn-make-offer:hover,.btn-request-price:hover,.btn-secondary:hover{box-shadow:inset 0 -3px 0px rgba(0,0,0,0.25),0 5px 10px rgba(0,0,0,0.3);opacity:1;top:-1px}.btn-buy-now,.btn-make-offer{background:linear-gradient(#d21334 45%, #c81231 52%)}@media (max-width: 37.5em){.btn-buy-now,.btn-make-offer{width:48%}}.btn-buy-now:active,.btn-make-offer:active{position:relative;top:1px}.column-container-domains .btn-buy-now,.column-container-domains .btn-make-offer{border-radius:10px;font-size:0.722em;font-weight:700;opacity:.7;padding:.5em 0;text-align:center;width:110px}.column-container-domains .btn-buy-now:hover,.column-container-domains .btn-make-offer:hover{opacity:1;transition:opacity, 1s, linear}.btn-make-offer{background:linear-gradient(#507ec0 45%, #4978bd 52%)}.btn-request-price,.btn-secondary{background:linear-gradient(#46c5f7 45%, #37c0f6 52%)}@media (max-width: 37.5em){.btn-request-price{width:48%}}.btn-secondary{box-shadow:0 5px 10px rgba(0,0,0,0.2);font-size:1rem;font-weight:600;text-transform:capitalize;width:100%}@media (max-width: 37.5em){.btn-secondary{width:100%}}.btn-info{border-radius:100px;color:#6dcff6;font-size:1.5em;transition:all, 1s, ease}.btn-info:hover{color:#37c0f6}.column-container-domains .btn-info{font-size:1em;line-height:2.5em}.btn-read-more{background:rgba(255,255,255,0.5);border-radius:20px;color:#507ec0;font-weight:400;padding:.5em 1em}.btn-read-more:hover{background:#fff}.btn-checkout-cart{background:linear-gradient(#d21334 45%, #c81231 52%);border-radius:5px;color:#fff;font-size:1.222em;font-weight:600;padding:.5em 1em;position:relative;text-align:center;text-decoration:none}.btn-checkout-cart:hover{box-shadow:inset 0 -3px 0px rgba(0,0,0,0.25),0 5px 10px rgba(0,0,0,0.3);top:-1px}.form-whitepaper .btn-checkout-cart{border:none;box-shadow:0 0 10px rgba(0,0,0,0.2);font-size:1em}.container-btn-request .btn-checkout-cart{display:block}.contain-social-form-fill{margin-bottom:1.25em}.contain-social-form-fill li{float:left;padding:0 3% 0 0;width:49.5%}.btn-contact-social{align-items:center;border-radius:.3em;color:#fff;cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:.5em 1em;text-align:center;width:100%}.contain-social-form-fill .btn-contact-social{font-size:1rem}.btn-contact-social:hover{box-shadow:inset 0 0 100px rgba(0,0,0,0.1)}.btn-contact-social.in{background:linear-gradient(#287bbc 0%, #23639a 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.fb{background:linear-gradient(#4e69a2 0%, #3b5998 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.gp{background:linear-gradient(#42A5F5 0%, #2196F3 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.disabled{background:gray;cursor:default}.btn-contact-social .svgIcon{margin-right:5px}@media (max-width: 27.188em){.btn-contact-social .svgIcon{display:none}}@media (max-width: 480px){.btn-contact-social.fb,.btn-contact-social.in,.btn-contact-social.gp{font-size:85%}}.btn-cta-match,.btn-cta-match-request{border-radius:15px;color:#fff;display:block;font-weight:600;padding:1em;text-decoration:none}.btn-cta-match:hover,.btn-cta-match-request:hover{box-shadow:inset 0 2px 5px 0 rgba(255,255,255,0.5),inset 0 -5px 20px rgba(0,0,0,0.3),0 5px 15px rgba(0,0,0,0.3)}.btn-cta-match{background:linear-gradient(#d21334 50%, #c81231 51%)}.btn-cta-match-request{background:linear-gradient(#46c5f7 49%, #37c0f6 50%)}.btn-save-alert{background:linear-gradient(#e6e6e6 45%, #ddd 52%);border-radius:5px;color:#959595;font-size:.611em;font-weight:600;padding:.5em 1em}.btn-save-alert:hover{background:linear-gradient(#d5d5d5 45%, #ccc 52%)}.btn-most-relevant{background:rgba(173,255,47,0.2);border-radius:10px 0 0 10px;border-right:1px solid #ccc;box-shadow:inset -5px 0 8px rgba(0,0,0,0.1);color:green;padding:10px 15px 10px 20px;position:relative;transition:all, 1s, ease}.btn-most-relevant svg{width:1em;fill:currentColor}.btn-view-more,.btn-view-more-txt,.btn-view-more-txt-main{background:rgba(255,255,255,0);border-radius:10px 0 0 10px;box-shadow:0 0 0 rgba(255,255,255,0),-5px 2px 5px 0px rgba(206,204,204,0);display:inline-block;padding-left:20px;position:relative;transition:all, 1s, ease}.btn-view-more:hover,.btn-view-more-txt:hover,.btn-view-more-txt-main:hover{background:#fff;box-shadow:0 0 1px #fff,-5px 2px 5px 0px rgba(206,204,204,0.3)}.btn-view-more-txt,.btn-view-more-txt-main{border-right:1px solid #ccc;box-shadow:inset -5px 0 8px rgba(0,0,0,0.1);color:#bbbbbb;padding-right:5px;text-shadow:1px 0 #fff}.btn-view-more-txt:hover,.btn-view-more-txt-main:hover{box-shadow:inset -5px 0 8px rgba(0,0,0,0.1)}.btn-view-more-txt-main{padding:10px 5px 10px .5em}fieldset{background-color:transparent;border:0;margin:0;padding:0}legend{font-weight:600;margin-bottom:.375em;padding:0}label{display:block;font-weight:600}label.label-standard{font-size:0.778em;font-weight:600;padding-bottom:.5em;padding-left:5px}label.checkAddList{transition-duration:0.25s;background:#fff;border-radius:5px;border:2px solid #d5d5d5;color:rgba(255,255,255,0.1);cursor:pointer;display:inline-block;height:24px;margin:0;overflow:hidden;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:24px}label.checkAddList:after{content:url("/browser/img/checkmark-white.svg");display:block;line-height:.65em;padding:4px}label.checkAddList:hover{border:2px solid rgba(35,58,120,0.5);color:black}label.checkAddList:active{transition-duration:0;-webkit-filter:brightness(0.8)}.label-none{display:none}.label-style{display:block;font-size:0.778em;font-weight:600;padding-bottom:.5em;padding-left:5px}input,select,textarea{display:block;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px}[type='color'],[type='date'],[type='datetime'],[type='datetime-local'],[type='email'],[type='month'],[type='number'],[type='password'],[type='search'],[type='tel'],[type='text'],[type='time'],[type='url'],[type='week'],input:not([type]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #d5d5d5;border-radius:3px;box-shadow:none;box-sizing:border-box;margin-bottom:.75em;padding:.5em;transition:border-color 150ms ease;width:100%}[type='color']:hover,[type='date']:hover,[type='datetime']:hover,[type='datetime-local']:hover,[type='email']:hover,[type='month']:hover,[type='number']:hover,[type='password']:hover,[type='search']:hover,[type='tel']:hover,[type='text']:hover,[type='time']:hover,[type='url']:hover,[type='week']:hover,input:not([type]):hover,textarea:hover{border-color:#aaa}[type='color']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='email']:focus,[type='month']:focus,[type='number']:focus,[type='password']:focus,[type='search']:focus,[type='tel']:focus,[type='text']:focus,[type='time']:focus,[type='url']:focus,[type='week']:focus,input:not([type]):focus,textarea:focus{border-color:#233a78;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06),0 0 5px rgba(29,48,100,0.7);outline:none}[type='color']:disabled,[type='date']:disabled,[type='datetime']:disabled,[type='datetime-local']:disabled,[type='email']:disabled,[type='month']:disabled,[type='number']:disabled,[type='password']:disabled,[type='search']:disabled,[type='tel']:disabled,[type='text']:disabled,[type='time']:disabled,[type='url']:disabled,[type='week']:disabled,input:not([type]):disabled,textarea:disabled{background-color:#f2f2f2;cursor:not-allowed}[type='color']:disabled:hover,[type='date']:disabled:hover,[type='datetime']:disabled:hover,[type='datetime-local']:disabled:hover,[type='email']:disabled:hover,[type='month']:disabled:hover,[type='number']:disabled:hover,[type='password']:disabled:hover,[type='search']:disabled:hover,[type='tel']:disabled:hover,[type='text']:disabled:hover,[type='time']:disabled:hover,[type='url']:disabled:hover,[type='week']:disabled:hover,input:not([type]):disabled:hover,textarea:disabled:hover{border:1px solid #d5d5d5}[type='color']::-moz-placeholder, [type='date']::-moz-placeholder, [type='datetime']::-moz-placeholder, [type='datetime-local']::-moz-placeholder, [type='email']::-moz-placeholder, [type='month']::-moz-placeholder, [type='number']::-moz-placeholder, [type='password']::-moz-placeholder, [type='search']::-moz-placeholder, [type='tel']::-moz-placeholder, [type='text']::-moz-placeholder, [type='time']::-moz-placeholder, [type='url']::-moz-placeholder, [type='week']::-moz-placeholder, input:not([type])::-moz-placeholder, textarea::-moz-placeholder{color:#959595}[type='color']:-ms-input-placeholder, [type='date']:-ms-input-placeholder, [type='datetime']:-ms-input-placeholder, [type='datetime-local']:-ms-input-placeholder, [type='email']:-ms-input-placeholder, [type='month']:-ms-input-placeholder, [type='number']:-ms-input-placeholder, [type='password']:-ms-input-placeholder, [type='search']:-ms-input-placeholder, [type='tel']:-ms-input-placeholder, [type='text']:-ms-input-placeholder, [type='time']:-ms-input-placeholder, [type='url']:-ms-input-placeholder, [type='week']:-ms-input-placeholder, input:not([type]):-ms-input-placeholder, textarea:-ms-input-placeholder{color:#959595}[type='color']::placeholder,[type='date']::placeholder,[type='datetime']::placeholder,[type='datetime-local']::placeholder,[type='email']::placeholder,[type='month']::placeholder,[type='number']::placeholder,[type='password']::placeholder,[type='search']::placeholder,[type='tel']::placeholder,[type='text']::placeholder,[type='time']::placeholder,[type='url']::placeholder,[type='week']::placeholder,input:not([type])::placeholder,textarea::placeholder{color:#959595}[type='color'].search-field,[type='date'].search-field,[type='datetime'].search-field,[type='datetime-local'].search-field,[type='email'].search-field,[type='month'].search-field,[type='number'].search-field,[type='password'].search-field,[type='search'].search-field,[type='tel'].search-field,[type='text'].search-field,[type='time'].search-field,[type='url'].search-field,[type='week'].search-field,input:not([type]).search-field,textarea.search-field{align-self:stretch;background:none;border:none;box-shadow:none;color:#424242;font-weight:300;margin:0;outline:none;padding:0 1em;width:99%}[type='color'].search-field.error-tld-textbox,[type='date'].search-field.error-tld-textbox,[type='datetime'].search-field.error-tld-textbox,[type='datetime-local'].search-field.error-tld-textbox,[type='email'].search-field.error-tld-textbox,[type='month'].search-field.error-tld-textbox,[type='number'].search-field.error-tld-textbox,[type='password'].search-field.error-tld-textbox,[type='search'].search-field.error-tld-textbox,[type='tel'].search-field.error-tld-textbox,[type='text'].search-field.error-tld-textbox,[type='time'].search-field.error-tld-textbox,[type='url'].search-field.error-tld-textbox,[type='week'].search-field.error-tld-textbox,input:not([type]).search-field.error-tld-textbox,textarea.search-field.error-tld-textbox{background:linear-gradient(-45deg, transparent, rgba(210,19,52,0.1) 75%)}[type='color'].search-field.error-tld-textbox[placeholder],[type='date'].search-field.error-tld-textbox[placeholder],[type='datetime'].search-field.error-tld-textbox[placeholder],[type='datetime-local'].search-field.error-tld-textbox[placeholder],[type='email'].search-field.error-tld-textbox[placeholder],[type='month'].search-field.error-tld-textbox[placeholder],[type='number'].search-field.error-tld-textbox[placeholder],[type='password'].search-field.error-tld-textbox[placeholder],[type='search'].search-field.error-tld-textbox[placeholder],[type='tel'].search-field.error-tld-textbox[placeholder],[type='text'].search-field.error-tld-textbox[placeholder],[type='time'].search-field.error-tld-textbox[placeholder],[type='url'].search-field.error-tld-textbox[placeholder],[type='week'].search-field.error-tld-textbox[placeholder],input:not([type]).search-field.error-tld-textbox[placeholder],textarea.search-field.error-tld-textbox[placeholder]{color:#d21334 !important}[type='color'].input-standard,[type='color'].text-area-standard,[type='date'].input-standard,[type='date'].text-area-standard,[type='datetime'].input-standard,[type='datetime'].text-area-standard,[type='datetime-local'].input-standard,[type='datetime-local'].text-area-standard,[type='email'].input-standard,[type='email'].text-area-standard,[type='month'].input-standard,[type='month'].text-area-standard,[type='number'].input-standard,[type='number'].text-area-standard,[type='password'].input-standard,[type='password'].text-area-standard,[type='search'].input-standard,[type='search'].text-area-standard,[type='tel'].input-standard,[type='tel'].text-area-standard,[type='text'].input-standard,[type='text'].text-area-standard,[type='time'].input-standard,[type='time'].text-area-standard,[type='url'].input-standard,[type='url'].text-area-standard,[type='week'].input-standard,[type='week'].text-area-standard,input:not([type]).input-standard,input:not([type]).text-area-standard,textarea.input-standard,textarea.text-area-standard{border:1px solid #ccc;border-radius:3px;box-shadow:none;color:#424242;font-size:0.722em;height:32px;margin-bottom:0;padding:.2em 1em;width:100%}[type='color'].input-standard:focus,[type='color'].text-area-standard:focus,[type='date'].input-standard:focus,[type='date'].text-area-standard:focus,[type='datetime'].input-standard:focus,[type='datetime'].text-area-standard:focus,[type='datetime-local'].input-standard:focus,[type='datetime-local'].text-area-standard:focus,[type='email'].input-standard:focus,[type='email'].text-area-standard:focus,[type='month'].input-standard:focus,[type='month'].text-area-standard:focus,[type='number'].input-standard:focus,[type='number'].text-area-standard:focus,[type='password'].input-standard:focus,[type='password'].text-area-standard:focus,[type='search'].input-standard:focus,[type='search'].text-area-standard:focus,[type='tel'].input-standard:focus,[type='tel'].text-area-standard:focus,[type='text'].input-standard:focus,[type='text'].text-area-standard:focus,[type='time'].input-standard:focus,[type='time'].text-area-standard:focus,[type='url'].input-standard:focus,[type='url'].text-area-standard:focus,[type='week'].input-standard:focus,[type='week'].text-area-standard:focus,input:not([type]).input-standard:focus,input:not([type]).text-area-standard:focus,textarea.input-standard:focus,textarea.text-area-standard:focus{border-color:#fff;box-shadow:0 0px 10px rgba(70,197,247,0.5)}#choice-list-domains-portfolio [type='color'].input-standard,#choice-list-domains-portfolio [type='color'].text-area-standard,#choice-list-domains-portfolio [type='date'].input-standard,#choice-list-domains-portfolio [type='date'].text-area-standard,#choice-list-domains-portfolio [type='datetime'].input-standard,#choice-list-domains-portfolio [type='datetime'].text-area-standard,#choice-list-domains-portfolio [type='datetime-local'].input-standard,#choice-list-domains-portfolio [type='datetime-local'].text-area-standard,#choice-list-domains-portfolio [type='email'].input-standard,#choice-list-domains-portfolio [type='email'].text-area-standard,#choice-list-domains-portfolio [type='month'].input-standard,#choice-list-domains-portfolio [type='month'].text-area-standard,#choice-list-domains-portfolio [type='number'].input-standard,#choice-list-domains-portfolio [type='number'].text-area-standard,#choice-list-domains-portfolio [type='password'].input-standard,#choice-list-domains-portfolio [type='password'].text-area-standard,#choice-list-domains-portfolio [type='search'].input-standard,#choice-list-domains-portfolio [type='search'].text-area-standard,#choice-list-domains-portfolio [type='tel'].input-standard,#choice-list-domains-portfolio [type='tel'].text-area-standard,#choice-list-domains-portfolio [type='text'].input-standard,#choice-list-domains-portfolio [type='text'].text-area-standard,#choice-list-domains-portfolio [type='time'].input-standard,#choice-list-domains-portfolio [type='time'].text-area-standard,#choice-list-domains-portfolio [type='url'].input-standard,#choice-list-domains-portfolio [type='url'].text-area-standard,#choice-list-domains-portfolio [type='week'].input-standard,#choice-list-domains-portfolio [type='week'].text-area-standard,#choice-list-domains-portfolio input:not([type]).input-standard,#choice-list-domains-portfolio input:not([type]).text-area-standard,#choice-list-domains-portfolio textarea.input-standard,#choice-list-domains-portfolio textarea.text-area-standard{background:#fff}.container-boxes-exclude [type='color'].input-standard,.container-boxes-exclude [type='color'].text-area-standard,.container-boxes-exclude [type='date'].input-standard,.container-boxes-exclude [type='date'].text-area-standard,.container-boxes-exclude [type='datetime'].input-standard,.container-boxes-exclude [type='datetime'].text-area-standard,.container-boxes-exclude [type='datetime-local'].input-standard,.container-boxes-exclude [type='datetime-local'].text-area-standard,.container-boxes-exclude [type='email'].input-standard,.container-boxes-exclude [type='email'].text-area-standard,.container-boxes-exclude [type='month'].input-standard,.container-boxes-exclude [type='month'].text-area-standard,.container-boxes-exclude [type='number'].input-standard,.container-boxes-exclude [type='number'].text-area-standard,.container-boxes-exclude [type='password'].input-standard,.container-boxes-exclude [type='password'].text-area-standard,.container-boxes-exclude [type='search'].input-standard,.container-boxes-exclude [type='search'].text-area-standard,.container-boxes-exclude [type='tel'].input-standard,.container-boxes-exclude [type='tel'].text-area-standard,.container-boxes-exclude [type='text'].input-standard,.container-boxes-exclude [type='text'].text-area-standard,.container-boxes-exclude [type='time'].input-standard,.container-boxes-exclude [type='time'].text-area-standard,.container-boxes-exclude [type='url'].input-standard,.container-boxes-exclude [type='url'].text-area-standard,.container-boxes-exclude [type='week'].input-standard,.container-boxes-exclude [type='week'].text-area-standard,.container-boxes-exclude input:not([type]).input-standard,.container-boxes-exclude input:not([type]).text-area-standard,.container-boxes-exclude textarea.input-standard,.container-boxes-exclude textarea.text-area-standard{font-size:1em;font-stretch:normal;padding:1em}textarea{resize:vertical}[type="checkbox"],[type="radio"]{display:inline;margin-right:.375em}[type="checkbox"].checkAddList,[type="radio"].checkAddList{display:none}[type="checkbox"].checkAddList:checked+label,[type="radio"].checkAddList:checked+label{color:#233a78}[type="checkbox"].checkAddList:checked+.blue-background,[type="radio"].checkAddList:checked+.blue-background{border-color:#233a78;background:#233a78}[type="checkbox"].checkAddList:checked+.blue-background:after,[type="radio"].checkAddList:checked+.blue-background:after{display:block}[type="file"]{margin-bottom:.75em;width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ccc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06);color:#7c7c7c;height:100% !important;outline:none;width:100%}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){select{position:relative;z-index:2}}label[for=selectCountry],label[for=selectPriceHi],label[for=selectPriceLo],label[for=select-category-main],label[for=select-message-type],label[for=select-country-three],label[for=country]{border:none;border-radius:0 .3em .3em 0;color:#7c7c7c;cursor:pointer;display:block;overflow:hidden;position:relative}label[for=selectCountry]::after,label[for=selectPriceHi]::after,label[for=selectPriceLo]::after,label[for=select-category-main]::after,label[for=select-message-type]::after,label[for=select-country-three]::after,label[for=country]::after{background:#233a78 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOBAMAAAGq7RFVAAAAJ1BMVEX///////////////////////////////////////////////////9Ruv0SAAAADHRSTlMACAoREoKDt7y9zc5qtZoyAAAAcklEQVQIHQXBsQnCUAAFwFOCCKbIABaWERzi1yaFAzmEpHYEC8GUKVQEkbyhvOOkZqdWt0/QYKqLzQeF7dv6y/RLwa2wYtk4Xxxe+t8yd1WuM/rcUc2gYHEeoP02umSgTR50ybBPRuiSZAS6ZAQ4jgCAPyjYJiRH4fymAAAAAElFTkSuQmCC") no-repeat center center;background-size:25%;border-radius:0 .3em .3em 0;content:' ';display:block;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:40px}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){label[for=selectCountry]::after,label[for=selectPriceHi]::after,label[for=selectPriceLo]::after,label[for=select-category-main]::after,label[for=select-message-type]::after,label[for=select-country-three]::after,label[for=country]::after{z-index:1}}label[for=selectCountry] select,label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select,label[for=select-country-three] select,label[for=country] select{background:#fff;border-radius:.3em;cursor:pointer;font-size:.9rem;padding:.5em;width:100%}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){label[for=selectCountry] select,label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select,label[for=select-country-three] select,label[for=country] select{z-index:1}}label[for=selectCountry] select::-ms-expand,label[for=selectPriceHi] select::-ms-expand,label[for=selectPriceLo] select::-ms-expand,label[for=select-category-main] select::-ms-expand,label[for=select-message-type] select::-ms-expand,label[for=select-country-three] select::-ms-expand,label[for=country] select::-ms-expand{display:none}label[for=selectCountry] :-moz-any(select),label[for=selectPriceHi] :-moz-any(select),label[for=selectPriceLo] :-moz-any(select),label[for=select-category-main] :-moz-any(select),label[for=select-message-type] :-moz-any(select),label[for=select-country-three] :-moz-any(select),label[for=country] :-moz-any(select){width:110%}label[for=selectCountry].ie9 select,label.ie9[for=selectPriceHi] select,label.ie9[for=selectPriceLo] select,label.ie9[for=select-category-main] select,label.ie9[for=select-message-type] select,label.ie9[for=select-country-three] select,label.ie9[for=country] select{width:110%}label[for=selectCountry] select:focus,label[for=selectPriceHi] select:focus,label[for=selectPriceLo] select:focus,label[for=select-category-main] select:focus,label[for=select-message-type] select:focus,label[for=select-country-three] select:focus,label[for=country] select:focus{outline:none}label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select{padding:.25em .5em}label[for=select-country-three] select{padding:.35em .5em}label[for=select-message-type] select{color:#233a78 !important;font-size:1.25rem;padding:.75em 1em}input#makeofferprice[placeholder],#makeofferprice[placeholder],*#makeofferprice[placeholder]{transition:all, 0.3s, ease;color:#d5d5d5;font-size:0.889em;font-style:normal !important;font-weight:300 !important;padding:0.875em 1.750em}#makeofferprice::-webkit-input-placeholder{color:#d5d5d5}#makeofferprice:-moz-placeholder{color:#d5d5d5}#makeofferprice::-moz-placeholder{color:#d5d5d5}#makeofferprice:-ms-input-placeholder{color:#d5d5d5}#makeofferprice:focus,#makeofferprice{transition:all, 0.3s, ease;color:#233a78 !important;height:auto}.form-mo{margin-bottom:.5em}.form-mo li{float:left;margin-bottom:.25em;padding:0 3% 0 0;width:33%}@media (min-width: 0em) and (max-width: 37.49em){.form-mo li{width:50%}.form-mo li.mo-offer,.form-mo li.mo-phone{width:100%}}.form-mo li.mo-country{padding:0 4% 0 0;width:100%}.form-mo input,.form-mo span.select{border:1px solid #ccc;border-radius:5px;box-shadow:inset 0 5px 18px rgba(0,0,0,0.2);color:#545454;font-size:.833rem;margin-bottom:0;padding:.5em 1em;width:100%}.form-mo input.valid,.form-mo span.select.valid{box-shadow:inset 0 0px 20px rgba(70,197,247,0.2);color:#233a78}.form-mo span.select{height:36px;padding:.25em 1em}.form-mo input#makeofferprice[placeholder],.form-mo #makeofferprice[placeholder],.form-mo *#makeofferprice[placeholder]{color:rgba(35,58,120,0.5);font-size:.833rem;font-style:normal !important;padding:.5em 1em}.mo-captcha{padding:0;width:100%}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html,body{margin:0}@media (min-width: 48em){html,body{height:100%}}body{display:flex;flex-direction:column;font-weight:400;background:#e6f1f5 url(/browser/img/main/bg-main-hilight-fade.jpg?) repeat-x top center;color:#424242;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 37.5em){body{font-size:15px}}#container-header,.contain-header{margin:0 auto;position:relative;text-align:center;z-index:2;width:100%}#container-header.home,.contain-header.home{background:#fff;box-shadow:0 5px 10px rgba(0,0,0,0.35);position:relative;z-index:4}#container-header.home .contain-search-form,#container-header.home .container-chat-btn,.contain-header.home .contain-search-form,.contain-header.home .container-chat-btn{display:none}@media (max-width: 37.5em){#container-header,.contain-header{height:auto;position:relative;z-index:36}#container-header.home,.contain-header.home{background:none;border-bottom:0;box-shadow:none;height:auto}}#header{margin:0 auto;padding-bottom:10px;text-align:left;width:100%}.bulkDealPage #header{padding-bottom:20px;padding-top:10px}#container-content,.contain-content{min-height:100%;margin:0 auto;position:relative;text-align:center;z-index:1}.containAll{flex:1 0 auto;margin:0 auto 120px;text-align:left;width:100%}@media (max-width: 37.5em){.containAll{padding-top:calc(2% + 30px) !important}}.inner-pad{padding:1em 2em}.container-layout{transition:all, 1s, ease-in-out;padding:0 5%}@media (min-width: 75em){.container-layout{padding:0 15%}}@media (min-width: 100em){.container-layout{padding:0 20%}}@media (max-width: 27.188em){.container-layout{padding:0 2%}}.container-inner{transition:all, 1s, ease-in-out;padding:2% 5%}@media (min-width: 27.198em) and (max-width: 48em){.container-inner{padding:2% 3%}}@media (min-width: 75em){.container-inner{padding:2% 15%}}@media (min-width: 100em){.container-inner{padding:2% 20%}}.contain-intro{display:flex;padding-top:20px}.introAbout{flex:0 1 50%}@media (max-width: 48em){.introAbout{flex:1}}.introAbout .introHeadline .resizeA{font-size:3rem}@media (max-width: 37.5em){.introAbout .introHeadline .resizeA{font-size:10vw}}.introImage{flex:0 1 50%}@media (max-width: 48em){.introImage{display:none}}.float-left{float:left}.float-right{float:right}.marg-bottom{margin-bottom:20px}.marg-left{margin-left:20px}.marg-right{margin-right:20px}.marg-top{margin-top:20px}.clearfix:before,.clearfix:after{content:'.';display:block;font-size:0;height:0;line-height:0;overflow:hidden;visibility:hidden;width:0}.clearfix:after{clear:both}#tdfsSpinner{display:none;margin:0;padding:0;position:absolute;width:100%;transition:all, 0.3s, ease-in-out}.spinner{margin:10px auto 0;width:100%;text-align:center}.spinner>div{width:18px;height:18px;background-color:#233a78;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out both;animation:bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.spinner .bounce2{-webkit-animation-delay:-0.16s;animation-delay:-0.16s}@-webkit-keyframes bouncedelay{0%,80%,100%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,80%,100%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{transition:opacity, 0.3s, ease-in;margin-bottom:-10%;opacity:0;-webkit-animation:fadeIn ease-in 1;animation:fadeIn ease-in 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:1s;animation-duration:1s}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fade-out{transition:all, 0.3s, ease-out;margin-top:-10%;opacity:1;-webkit-animation:fadeOut ease-out 1;animation:fadeOut ease-out 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:1s;animation-duration:1s}ul,ol{list-style-type:none;margin:0;padding:0}ul.decimal,ul.alphaLower,ul.alphaUpper,ul.romanLower,ul.romanUpper,ul.bulleted,ol.decimal,ol.alphaLower,ol.alphaUpper,ol.romanLower,ol.romanUpper,ol.bulleted{font-weight:500;margin-bottom:20px;margin-left:20px}ul.decimal li,ul.alphaLower li,ul.alphaUpper li,ul.romanLower li,ul.romanUpper li,ul.bulleted li,ol.decimal li,ol.alphaLower li,ol.alphaUpper li,ol.romanLower li,ol.romanUpper li,ol.bulleted li{margin-bottom:.5em}ul.decimal li ol,ul.decimal li li,ul.alphaLower li ol,ul.alphaLower li li,ul.alphaUpper li ol,ul.alphaUpper li li,ul.romanLower li ol,ul.romanLower li li,ul.romanUpper li ol,ul.romanUpper li li,ul.bulleted li ol,ul.bulleted li li,ol.decimal li ol,ol.decimal li li,ol.alphaLower li ol,ol.alphaLower li li,ol.alphaUpper li ol,ol.alphaUpper li li,ol.romanLower li ol,ol.romanLower li li,ol.romanUpper li ol,ol.romanUpper li li,ol.bulleted li ol,ol.bulleted li li{margin-top:10px}ul.bulleted,ol.bulleted{list-style-type:circle}ul.decimal,ol.decimal{list-style-type:decimal}ul.alphaLower,ol.alphaLower{list-style-type:lower-alpha}ul.alphaUpper,ol.alphaUpper{list-style-type:upper-alpha}ul.romanLower,ol.romanLower{list-style-type:lower-roman}ul.romanUpper,ol.romanUpper{list-style-type:upper-roman}dl{margin:0}dt{font-weight:600;margin:0}dd{margin:0}figure{margin:0}img,picture{margin:0;max-width:100%}table{border-collapse:collapse;margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #a0a0a0;font-weight:600;padding:.75em 0;text-align:left}td{border-bottom:1px solid #d5d5d5;padding:.75em 0}tr,td,th{vertical-align:middle}body{color:#424242;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}h1,.txt-h1-intro{color:#fff;font-size:2.556em;font-weight:300;text-transform:uppercase}.txt-h1-intro{margin-bottom:0}.txt-promo-h{color:#fff;font-size:1.333em;font-weight:300;margin:0;margin-bottom:.5em;text-shadow:0 0 0 rgba(0,0,0,0.7);text-transform:uppercase}.introHeadline{border-bottom:1px solid #c2c2c2;color:#424242;font-size:4.2rem;font-weight:600;line-height:1em;margin:0 0 20px;padding-bottom:20px;text-shadow:none}@media (max-width: 37.5em){.introHeadline{font-size:3em}}@media (max-width: 27.188em){.introHeadline{font-size:2.2em}}.introHeadline .resizeA{display:block;font-size:1.5rem;font-weight:300;line-height:1em}.introHeadline.faqs .resizeA{margin-top:1em}.introHeadline.contactUs,.introHeadline.policies{margin:0}.container-search-results h1,h2,h3,h4,h5,h6{color:#233a78;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:1.25em;font-weight:300;line-height:1.2;margin:0 0 .75em}.container-search-results h1,h2{font-size:2.111em;text-transform:uppercase}.container-search-results h1.large,h2.large{font-size:2.444em}.container-search-results h1.reg,h2.reg{text-transform:none}@media (max-width: 37.5em){.container-search-results h1,h2{line-height:1.2em}}h3{font-size:1.444em}h3.mo-h3{margin-bottom:0.2em}h4{font-size:1em}h5{font-size:0.833em}h6{color:#424242;font-size:0.722em;font-weight:600}a{color:#233a78;cursor:pointer;text-decoration:none;transition:color 150ms ease}.a-norm,.a-norm:visited{color:#507ec0;transition:all, 0.3s, ease}.a-norm:hover{color:#8ca7c6}.a-red{color:#d21334;font-weight:600}.a-red:hover{color:#c81231;text-decoration:underline}hr{border:0 #e2e2e2 solid;border-top-width:1px;box-shadow:0 1px 0 0 #fff;clear:both;height:0;margin:1.5em 0}.hr-form{margin:40px 0 .5em 310px}.weight-reg{font-weight:400}.weight-semi{font-weight:600}.txt-sm{font-size:0.667em}@media (max-width: 37.5em){.txt-sm{font-size:.9em}}.txt-sm-rem{font-size:0.667rem}.txt-sm-rem span{display:block;text-transform:uppercase}.txt-med-sm{font-size:0.722em}.txt-med{font-size:0.833em}.txt-h1-about{color:#424242;text-transform:none}.txt-h1-success{color:#233a78;font-size:1.3em;text-align:center}.txt-med-lg,.btn-cta-match,.btn-cta-match-request{font-size:1.111em}.txt-lg{font-size:1.556em}.txt-norml{font-weight:400}.txt-upper{text-transform:uppercase}.txt-center{margin:0 auto;text-align:center}.txt-no-case{text-transform:none}.txt-bd-blue{color:#233a78}.txt-bd-red{color:#d21334}.txt-bd-grey{color:#424242}.txt-drk-red{color:#bd112f}.txt-lght-blue{color:#8ca7c6}.txt-hilite-blue{color:#6dcff6}.txt-hilite-blue svg{fill:#6dcff6}.txt-med-blue{color:#507ec0}.txt-grey{color:#959595}.txt-green{color:#1d8502}html{height:100%}body{background:#E5F1F5 url(/browser/img/bg-gradient.png) repeat-x;font-size:16px}.contain-content{align-content:flex-start;display:grid;grid-template-columns:1fr;justify-content:center;margin:60px auto;max-width:960px;text-align:center;transition:all, 200ms, ease-in-out;width:100%;gap:30px}@media (max-width: 48em){.contain-content{margin:10px auto;max-width:760px;gap:20px}}@media (max-width: 27.188em){.contain-content{max-width:360px;padding:10px}}h1,h2,p{margin-bottom:1em}h1{color:#233A78;font-weight:400;line-height:1.357em;margin:0;text-align:center;text-transform:none;font-size:22px}@media (min-width: 360px){h1{font-size:calc(22px + 20 * (100vw - 360px) / 840)}}@media (min-width: 1200px){h1{font-size:42px}}h1 span{color:#C81231;font-size:16px}@media (min-width: 360px){h1 span{font-size:calc(16px + 8 * (100vw - 360px) / 840)}}@media (min-width: 1200px){h1 span{font-size:24px}}p{color:#6D7278;font-size:1.125rem;font-weight:400;margin:0 auto;max-width:490px;font-size:1rem}@media (min-width: 360px){p{font-size:calc(1rem + .125 * (100vw - 360px) / 840)}}@media (min-width: 1200px){p{font-size:1.125rem}}p.txt-need-price{font-size:1.5rem;font-size:1rem}@media (min-width: 360px){p.txt-need-price{font-size:calc(1rem + .5 * (100vw - 360px) / 840)}}@media (min-width: 1200px){p.txt-need-price{font-size:1.5rem}}@media (max-width: 27.188em){p.txt-need-price span{display:block}}a{color:#233A78}a.phoneLink{font-size:32px}@media (min-width: 360px){a.phoneLink{font-size:calc(32px + 10 * (100vw - 360px) / 840)}}@media (min-width: 1200px){a.phoneLink{font-size:42px}}.bcText a{color:#fff;font-weight:600}.bcText a:hover{color:#fff}#chat-button{color:#fff}#chat-button:hover{color:#fff}.contactLinks{align-items:center;padding:20px}.tdfs-logo{display:block;margin:0 auto;width:120px}button,.containChatButton{align-items:center;background:#37C0F6;border-radius:10px;box-shadow:0 5px 10px -5px rgba(0,0,0,0.3);display:grid;font-size:16px;font-weight:600;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;justify-content:center;padding:.5em 1em;gap:10px}button:hover,.containChatButton:hover{background:#30A9D9;box-shadow:none}.svgIcon{height:2em;width:2em}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGVyL2gvbGFuZGVyLXY4LmNzcyIsInNvdXJjZXMiOlsibGFuZGVyL2gvbGFuZGVyLXY4LnNjc3MiLCJub3JtYWxpemUvX25vcm1hbGl6ZS5zY3NzIiwibm9ybWFsaXplL19zdXBwb3J0LWZvci5zY3NzIiwibm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIm5vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiX2luY2x1ZGUtbWVkaWEuc2NzcyIsIl9ib3VyYm9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2J1dHRvbnMtbGlzdC5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zY2FsZXMuc2NzcyIsImJvdXJib24vaGVscGVycy9fdGV4dC1pbnB1dHMtbGlzdC5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fc2V0dGluZ3Muc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9fY29udGFpbnMtZmFsc3kuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9faXMtY29sb3Iuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9faXMtbGVuZ3RoLnNjc3MiLCJib3VyYm9uL3ZhbGlkYXRvcnMvX2lzLW51bWJlci5zY3NzIiwiYm91cmJvbi92YWxpZGF0b3JzL19pcy1zaXplLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fYXNzaWduLWlucHV0cy5zY3NzIiwiYm91cmJvbi91dGlsaXRpZXMvX2NvbXBhY3Qtc2hvcnRoYW5kLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fZGlyZWN0aW9uYWwtcHJvcGVydHkuc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL19mZXRjaC1ib3VyYm9uLXNldHRpbmcuc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiYm91cmJvbi91dGlsaXRpZXMvX2dhbW1hLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fbGlnaHRuZXNzLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fY29udHJhc3QtcmF0aW8uc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL191bnBhY2stc2hvcnRoYW5kLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1jb2xvci5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1zdHlsZS5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19ib3JkZXItd2lkdGguc2NzcyIsImJvdXJib24vbGlicmFyeS9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19jbGVhcmZpeC5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19jb250cmFzdC1zd2l0Y2guc2NzcyIsImJvdXJib24vbGlicmFyeS9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vbGlicmFyeS9fZm9udC1mYWNlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2ZvbnQtc3RhY2tzLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19oaWRlLXZpc3VhbGx5LnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX292ZXJmbG93LXdyYXAuc2NzcyIsImJvdXJib24vbGlicmFyeS9fcGFkZGluZy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19zaGFkZS5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19zaXplLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3N0cmlwLXVuaXQuc2NzcyIsImJvdXJib24vbGlicmFyeS9fdGV4dC1pbnB1dHMuc2NzcyIsImJvdXJib24vbGlicmFyeS9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L190aW50LnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3ZhbHVlLXByZWZpeGVyLnNjc3MiLCJiaXR0ZXJzL19iYXNlLnNjc3MiLCJiaXR0ZXJzL192YXJpYWJsZXMuc2NzcyIsImJpdHRlcnMvX2J1dHRvbnMuc2NzcyIsImJpdHRlcnMvX2Zvcm1zLnNjc3MiLCJiaXR0ZXJzL19sYXlvdXQuc2NzcyIsImJpdHRlcnMvX2xvYWRpbmcuc2NzcyIsImJpdHRlcnMvX2xpc3RzLnNjc3MiLCJiaXR0ZXJzL19tZWRpYS5zY3NzIiwiYml0dGVycy9fdGFibGVzLnNjc3MiLCJiaXR0ZXJzL190eXBvZ3JhcGh5LnNjc3MiLCJsYW5kZXIvX2ZsdWlkRm9udFNpemUuc2NzcyIsImxhbmRlci9oL19jdXN0b21MYW5kZXItSC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGZvciBhcHJ0ZXN0IHRlbXBsYXRlXG5cbkBpbXBvcnQgXCIuLi8uLi9ub3JtYWxpemUvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vaW5jbHVkZS1tZWRpYVwiO1xuQGltcG9ydCBcIi4uLy4uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi8uLi9iaXR0ZXJzL2Jhc2VcIjtcbkBpbXBvcnQgXCIuLi9mbHVpZEZvbnRTaXplXCI7XG5cbi8vIFRERlMgc3R5bGVcbkBpbXBvcnQgXCJjdXN0b21MYW5kZXItSFwiO1xuIiwiQGltcG9ydCAnc3VwcG9ydC1mb3InO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUtbWl4aW4nO1xuIiwiLy8gU3VwcG9ydCB0aGUgbGFzdCA0IHZlcnNpb25zIG9mIGFsbCBicm93c2VycyBleGNlcHQgSUUuXG4kc3VwcG9ydC1mb3I6IChcbiAgY2hyb21lOiAgLTQsXG4gIGVkZ2U6ICAgIC00LFxuICBmaXJlZm94OiAtNCxcbiAgaWU6ICAgICAgOSxcbiAgb3BlcmE6ICAgLTQsXG4gIHNhZmFyaTogIC00LFxuICAnKic6ICAgICAtNCxcbikgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlciBmb3IgYWxsIGJyb3dzZXJzLiBBcyBvZjogMjAxNi0wNC0zMFxuJHN1cHBvcnQtZm9yLWN1cnJlbnQtYnJvd3Nlci12ZXJzaW9uOiAoXG4gIGNocm9tZTogIDUwLCAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Hb29nbGVfQ2hyb21lX3JlbGVhc2VfaGlzdG9yeVxuICBlZGdlOiAgICAyNSwgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWljcm9zb2Z0X0VkZ2VcbiAgZmlyZWZveDogNDYsIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZpcmVmb3hfcmVsZWFzZV9oaXN0b3J5XG4gIGllOiAgICAgIDExLCAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5ldF9FeHBsb3Jlcl92ZXJzaW9uc1xuICBvcGVyYTogICAzNiwgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3BlcmFfKHdlYl9icm93c2VyKVxuICBzYWZhcmk6ICA5LCAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2FmYXJpX3ZlcnNpb25faGlzdG9yeVxuKSAhZGVmYXVsdDtcblxuXG4vLyBzdXBwb3J0LWZvcigpXG4vL1xuLy8gRGV0ZXJtaW5lcyBpZiB0aGUgcHJvamVjdCBoYXMgZGVjbGFyZWQgYSBtaW5pbXVtIHN1cHBvcnRlZCB2ZXJzaW9uIG51bWJlciBmb3Jcbi8vIHRoZSBzcGVjaWZpZWQgYnJvd3Nlci5cbi8vXG4vLyBJZiBjb25maWd1cmVkLCB0aGlzIGlzIGEgd3JhcHBlciBmdW5jdGlvbiB0aGF0IHVzZXMgQ29tcGFzcydcbi8vIHN1cHBvcnQtbGVnYWN5LWJyb3dzZXIoKS5cbi8vIEBzZWUgaHR0cDovL2NvbXBhc3Mtc3R5bGUub3JnL3JlZmVyZW5jZS9jb21wYXNzL3N1cHBvcnQvI2Z1bmN0aW9uLXN1cHBvcnQtbGVnYWN5LWJyb3dzZXJcbi8vXG5AZnVuY3Rpb24gc3VwcG9ydC1mb3IoJGJyb3dzZXIsICR2ZXJzaW9uKSB7XG4gIC8vIEVuc3VyZSAkdmVyc2lvbiBpcyBhbiBpbnRlZ2VyIChvciBudWxsKS5cbiAgQGlmIG5vdCAodHlwZS1vZigkdmVyc2lvbikgPT0gXCJudWxsXCIgb3IgdHlwZS1vZigkdmVyc2lvbikgPT0gXCJudW1iZXJcIiBhbmQgcm91bmQoJHZlcnNpb24pID09ICR2ZXJzaW9uKSB7XG4gICAgQGVycm9yIFwiVGhlICR2ZXJzaW9uIHBhcmFtZXRlciBvZiBzdXBwb3J0LWZvcigpIG11c3QgYmUgYW4gaW50ZWdlcjsgI3t0eXBlLW9mKCR2ZXJzaW9uKX0gZ2l2ZW4uXCI7XG4gIH1cblxuICAvLyBDaGVjayBhZ2FpbnN0IGRlY2xhcmVkIG1pbmltdW1zLlxuICAkbWluLXZlcnNpb246IG51bGw7XG4gIEBpZiBtYXAtaGFzLWtleSgkc3VwcG9ydC1mb3IsICRicm93c2VyKSB7XG4gICAgJG1pbi12ZXJzaW9uOiBtYXAtZ2V0KCRzdXBwb3J0LWZvciwgJGJyb3dzZXIpO1xuICB9XG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRzdXBwb3J0LWZvciwgJyonKSB7XG4gICAgJG1pbi12ZXJzaW9uOiBtYXAtZ2V0KCRzdXBwb3J0LWZvciwgJyonKTtcbiAgfVxuXG4gIC8vIEVuc3VyZSAkbWluLXZlcnNpb24gaXMgYW4gaW50ZWdlciAob3IgbnVsbCkuXG4gIEBpZiB0eXBlLW9mKCRtaW4tdmVyc2lvbikgIT0gXCJudWxsXCIgYW5kIHR5cGUtb2YoJG1pbi12ZXJzaW9uKSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCIkc3VwcG9ydC1mb3I6ICgjeyRicm93c2VyfTogI3skbWluLXZlcnNpb259KSBtdXN0IGJlIHNldCB0byBhbiBpbnRlZ2VyIChvciBudWxsKTsgI3skbWluLXZlcnNpb259IGlzIGEgI3t0eXBlLW9mKCRtaW4tdmVyc2lvbil9LlwiO1xuICB9XG4gIEBlbHNlaWYgdHlwZS1vZigkbWluLXZlcnNpb24pID09IFwibnVtYmVyXCIgYW5kIHJvdW5kKCRtaW4tdmVyc2lvbikgIT0gJG1pbi12ZXJzaW9uIHtcbiAgICBAZXJyb3IgXCIkc3VwcG9ydC1mb3I6ICgjeyRicm93c2VyfTogI3skbWluLXZlcnNpb259KSBtdXN0IGJlIHNldCB0byBhbiBpbnRlZ2VyIChvciBudWxsKTsgI3skbWluLXZlcnNpb259IGlzIG5vdCBhbiBpbnRlZ2VyLlwiO1xuICB9XG5cbiAgLy8gTmVnYXRpdmUgJG1pbi12ZXJzaW9uIG1lYW5zIFwiWCBtb3N0IHJlY2VudCB2ZXJzaW9uc1wiLlxuICBAaWYgdHlwZS1vZigkbWluLXZlcnNpb24pID09IFwibnVtYmVyXCIgYW5kICRtaW4tdmVyc2lvbiA8IDAge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJHN1cHBvcnQtZm9yLWN1cnJlbnQtYnJvd3Nlci12ZXJzaW9uLCAkYnJvd3Nlcikge1xuICAgICAgQGVycm9yIFwiI3skYnJvd3Nlcn0gbm90IGZvdW5kIGluICRzdXBwb3J0LWZvci1jdXJyZW50LWJyb3dzZXItdmVyc2lvbiBtYXA7IGl0IG11c3QgYmUgc2V0IHRvIGFuIGludGVnZXIuXCI7XG4gICAgfVxuICAgICRtaW4tdmVyc2lvbjogbWFwLWdldCgkc3VwcG9ydC1mb3ItY3VycmVudC1icm93c2VyLXZlcnNpb24sICRicm93c2VyKSArICRtaW4tdmVyc2lvbiArIDE7XG4gIH1cblxuICBAcmV0dXJuIGlmKCgkbWluLXZlcnNpb24gYW5kICgkdmVyc2lvbiA+PSAkbWluLXZlcnNpb24pKSwgdHJ1ZSwgZmFsc2UpO1xufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICAvLyBweCBmYWxsYmFjayBmb3IgSUUgOCBhbmQgZWFybGllci4gTm90ZTogSUUgOS8xMCBkb24ndCB1bmRlcnN0YW5kIHJlbVxuICAvLyBpbiBmb250IHNob3J0aGFuZCwgYnV0IGZvbnQtc2l6ZSBsb25naGFuZCBpcyBmaW5lLlxuICBAaWYgJGJhc2UtdW5pdCA9PSByZW0gYW5kIHN1cHBvcnQtZm9yKGllLCA4KSB7XG4gICAgZm9udC1zaXplOiAkdmFsdWU7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgJHB4LWZhbGxiYWNrOiAoKTtcblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgICRweC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgICAkcHgtdmFsdWU6ICRweC12YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10bywgcHgpO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gICAgJHB4LWZhbGxiYWNrOiBhcHBlbmQoJHB4LWZhbGxiYWNrLCAkcHgtdmFsdWUsICRzZXApO1xuICB9XG4gIEBpZiAkYmFzZS11bml0ID09IHJlbSBhbmQgc3VwcG9ydC1mb3IoaWUsIDgpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweC1mYWxsYmFjaztcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuJF9ub3JtYWxpemUtaW5jbHVkZTogKCk7XG4kX25vcm1hbGl6ZS1leGNsdWRlOiAoKTtcbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24pIHtcbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gX25vcm1hbGl6ZS1tb25vc3BhY2UoKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgQGlmIHN1cHBvcnQtZm9yKGllLCA2KSB7XG4gICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gIH1cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSWYgd2UgaGFkIGxvY2FsIGZ1bmN0aW9ucywgd2UgY291bGQgYWNjZXNzIG91ciBwYXJhbWV0ZXJzIGluc2lkZSB0aGVcbiAgLy8gZnVuY3Rpb24gd2l0aG91dCBwYXNzaW5nIHRoZW0gaW4gYXMgcGFyYW1ldGVycy4gVGhlIGhhY2t5IHdvcmstYXJvdW5kIGlzIHRvXG4gIC8vIHN0dWZmIHRoZW0gaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIGNhbiBhY2Nlc3MgdGhlbSBmcm9tIGEgZ2xvYmFsIGZ1bmN0aW9uLlxuICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaW5kZW50LWFtb3VudCAhPSA0MHB4IHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHJvb3QpIHtcbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgLy8gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gICAgICAgIC8vIGBlbWAgdW5pdHMuXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xuICAgICAgfVxuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGh0bWw1KSB7XG4gICAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTAuXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94IGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgLlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIGZvciBgbWFpbmAuXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGRldGFpbHMsXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBtYWluLFxuICAgIG1lbnUsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24sXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTAuXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICBjYW52YXMsXG4gICAgcHJvZ3Jlc3MsXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICp6b29tOiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGFuZCByZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTEsIFNhZmFyaSA8OCwgYW5kIEZpcmVmb3ggPDIyLlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUsIC8qIDEgKi9cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDw0MC5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIEBpbmNsdWRlIF9ub3JtYWxpemUtbW9ub3NwYWNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA8NC40LlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA8MTAuXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDwxMS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgLyogSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuICovXG4gICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIGRsLFxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBvbCxcbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gICAgICAgKi9cblxuICAgICAgbmF2IHVsLFxuICAgICAgbmF2IG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByZSB7XG4gICAgICBAaW5jbHVkZSBfbm9ybWFsaXplLW1vbm9zcGFjZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBLbm93biBpc3N1ZXM6XG4gICAgICogLSBCeSBkZWZhdWx0LCBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkIHN0eWxpbmcgb2ZcbiAgICAgKiAgIHNlbGVjdCwgdW5sZXNzIGEgYm9yZGVyIHByb3BlcnR5IGlzIHNldC4gVGhlIGRlZmF1bHQgZm9udCB3ZWlnaHQgb25cbiAgICAgKiAgIG9wdGdyb3VwIGVsZW1lbnRzIGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgb24gT1NYIGFuZCBTYWZhcmkgb25cbiAgICAgKiAgIE9TIFguXG4gICAgICogLSBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkbyBub3Qgc3R5bGUgY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cyBhc1xuICAgICAqICAgRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAgICogLSBDZXJ0YWluIGZvbnQgc2l6ZSB2YWx1ZXMgYXBwbGllZCB0byBudW1iZXIgaW5wdXRzIGNhdXNlIHRoZSBjdXJzb3Igc3R5bGUgb2ZcbiAgICAgKiAgIHRoZSBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGRlZmF1bHQgdG8gdGV4dC5cbiAgICAgKiAtIFRoZSBzZWFyY2ggaW5wdXQgaXMgbm90IGZ1bGx5IHN0eWxhYmxlIGJ5IGRlZmF1bHQuIEluIENocm9tZSBhbmQgU2FmYXJpIG9uXG4gICAgICogICBPU1gvaU9TIHlvdSBjYW4ndCBjb250cm9sIGZvbnQsIHBhZGRpbmcsIGJvcmRlciwgb3IgYmFja2dyb3VuZC4gSW4gQ2hyb21lXG4gICAgICogICBhbmQgU2FmYXJpIG9uIFdpbmRvd3MgeW91IGNhbid0IGNvbnRyb2wgYm9yZGVyIHByb3Blcmx5LiBJdCB3aWxsIGFwcGx5XG4gICAgICogICBib3JkZXItd2lkdGggYnV0IHdpbGwgb25seSBzaG93IGEgYm9yZGVyIGNvbG9yICh3aGljaCBjYW5ub3QgYmUgY29udHJvbGxlZClcbiAgICAgKiAgIGZvciB0aGUgb3V0ZXIgMXB4IG9mIHRoYXQgYm9yZGVyLiBBcHBseWluZyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZFxuICAgICAqICAgYWRkcmVzc2VzIHRoZXNlIGlzc3VlcyB3aXRob3V0IHJlbW92aW5nIHRoZSBiZW5lZml0cyBvZiBzZWFyY2ggaW5wdXRzIChlLmcuXG4gICAgICogICBzaG93aW5nIHBhc3Qgc2VhcmNoZXMpLiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSB3aWxsIGNsaXAgdGhlIGNhbmNlbCBidXR0b25cbiAgICAgKiAgIG9uIHdoZW4gaXQgaGFzIHBhZGRpbmcgKGFuZCB0ZXh0ZmllbGQgYXBwZWFyYW5jZSkuXG4gICAgICovXG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAgICAgICAqL1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKiAzLiBBZGRyZXNzIGBmb250LWZhbWlseWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGB0ZXh0YXJlYWAgYW5kIG90aGVyIGZvcm0gaW4gSUUgN1xuICAgICAqIDQuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgd2l0aCBJRSA2LzcuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICpmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDMgKi9cbiAgICAgICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDQgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihmaXJlZm94LCAyOSkge1xuICAgICAgICAvLyBGaXJlZm94IHNldHMgYGxpbmUtaGVpZ2h0YCB1c2luZyBgIWltcG9ydGFudGAgaW4gdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgPDExLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSA8MTEuXG4gICAgICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gICAgICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMC41NDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiA0LiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiA0ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgYSBwcmV2aW91cyBydWxlLlxuICAgICAqL1xuXG4gICAgb3B0Z3JvdXAge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuNlxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ21vYmlsZS1zbSc6IDIwZW0sIC8vMzIwcHhcbiAgJ21vYmlsZS1tZWQnOiAyMy40MzhlbSwgLy8gMzkwcHhcbiAgJ21vYmlsZS1sZyc6IDI3LjE4OGVtLCAvLzQzNXB4XG4gICdwaGFibGV0JzogMzcuNWVtLCAvLzYwMHB4XG4gICd0YWJsZXQnOiA0OGVtLCAvLzc2OHB4XG4gICdkZXNrdG9wJzogNjRlbSwgLy8xMDI0XG4gICdkZXNrdG9wLWxnJzogNzVlbSwgLy8xMjAwXG4gICdnaWFudC1zY3JlZW4nOiAxMDBlbSwgLy8xNjAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGxvZygnLi4nKSB7fWAgb3IgYCRfOiBsb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBsb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBsb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBsb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBsb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBsb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvdXJib24gNS4wLjBcbi8vIGh0dHBzOi8vd3d3LmJvdXJib24uaW8vXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE4IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJib3VyYm9uL2hlbHBlcnMvYnV0dG9ucy1saXN0XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9oZWxwZXJzL3NjYWxlc1wiO1xuQGltcG9ydCBcImJvdXJib24vaGVscGVycy90ZXh0LWlucHV0cy1saXN0XCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvaXMtY29sb3JcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImJvdXJib24vdmFsaWRhdG9ycy9pcy1zaXplXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvY29tcGFjdC1zaG9ydGhhbmRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9kaXJlY3Rpb25hbC1wcm9wZXJ0eVwiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2ZldGNoLWJvdXJib24tc2V0dGluZ1wiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvZ2FtbWFcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9jb250cmFzdC1yYXRpb1wiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL3VucGFjay1zaG9ydGhhbmRcIjtcblxuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvY29udHJhc3Qtc3dpdGNoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvaGlkZS12aXN1YWxseVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9tYXJnaW5cIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvbW9kdWxhci1zY2FsZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9vdmVyZmxvdy13cmFwXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvc2hhZGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvc2l6ZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9zdHJpcC11bml0XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvdGludFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS90cmlhbmdsZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS92YWx1ZS1wcmVmaXhlclwiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2J1dHRvbnMtbGlzdDogKFxuICBcImJ1dHRvblwiLFxuICBcIlt0eXBlPSdidXR0b24nXVwiLFxuICBcIlt0eXBlPSdyZXNldCddXCIsXG4gIFwiW3R5cGU9J3N1Ym1pdCddXCIsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gUHJlLWRlZmluZWQgc2NhbGVzIGZvciB1c2Ugd2l0aCB0aGUgYG1vZHVsYXItc2NhbGVgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHR5cGUgbnVtYmVyICh1bml0bGVzcylcbi8vL1xuLy8vIEBzZWUge2Z1bmN0aW9ufSBtb2R1bGFyLXNjYWxlXG4vLy8vXG5cbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzLlxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfdGV4dC1pbnB1dHMtbGlzdDogKFxuICBcIlt0eXBlPSdjb2xvciddXCIsXG4gIFwiW3R5cGU9J2RhdGUnXVwiLFxuICBcIlt0eXBlPSdkYXRldGltZSddXCIsXG4gIFwiW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ11cIixcbiAgXCJbdHlwZT0nZW1haWwnXVwiLFxuICBcIlt0eXBlPSdtb250aCddXCIsXG4gIFwiW3R5cGU9J251bWJlciddXCIsXG4gIFwiW3R5cGU9J3Bhc3N3b3JkJ11cIixcbiAgXCJbdHlwZT0nc2VhcmNoJ11cIixcbiAgXCJbdHlwZT0ndGVsJ11cIixcbiAgXCJbdHlwZT0ndGV4dCddXCIsXG4gIFwiW3R5cGU9J3RpbWUnXVwiLFxuICBcIlt0eXBlPSd1cmwnXVwiLFxuICBcIlt0eXBlPSd3ZWVrJ11cIixcbiAgXCJpbnB1dDpub3QoW3R5cGVdKVwiLFxuICBcInRleHRhcmVhXCIsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGVmYXVsdCBnbG9iYWwgQm91cmJvbiBzZXR0aW5ncy4gVmFsdWVzIGluIHRoaXMgbWFwIGFyZSBvdmVyd3JpdHRlbiBieSBhbnlcbi8vLyB2YWx1ZXMgc2V0IGluIHRoZSBgJGJvdXJib25gIG1hcC5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuLy8vXG4vLy8gQHByb3BlcnR5IHtjb2xvcn0gY29udHJhc3Qtc3dpdGNoLWRhcmstY29sb3IgWyMwMDBdXG4vLy8gICBHbG9iYWwgZGFyayBjb2xvciBmb3IgdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtjb2xvcn0gY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yIFsjZmZmXVxuLy8vICAgR2xvYmFsIGxpZ2h0IGNvbG9yIGZvciB0aGUgYGNvbnRyYXN0LXN3aXRjaGAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2xpc3R9IGdsb2JhbC1mb250LWZpbGUtZm9ybWF0cyBbKFwidHRmXCIsIFwid29mZjJcIiwgXCJ3b2ZmXCIpXVxuLy8vICAgR2xvYmFsIGZvbnQgZmlsZSBmb3JtYXRzIGZvciB0aGUgYGZvbnQtZmFjZWAgbWl4aW4uXG4vLy9cbi8vLyBAcHJvcGVydHkge251bWJlciAod2l0aCB1bml0KX0gbW9kdWxhci1zY2FsZS1iYXNlIFsxZW1dXG4vLy8gICBHbG9iYWwgYmFzZSB2YWx1ZSBmb3IgdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7bnVtYmVyICh1bml0bGVzcyl9IG1vZHVsYXItc2NhbGUtcmF0aW8gWyRtYWpvci10aGlyZCAoMS4yNSldXG4vLy8gICBHbG9iYWwgYmFzZSByYXRpbyBmb3IgdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcmFpbHMtYXNzZXQtcGlwZWxpbmUgW2ZhbHNlXVxuLy8vICAgU2V0IHRoaXMgdG8gYHRydWVgIHdoZW4gdXNpbmcgdGhlIFJhaWxzIEFzc2V0IFBpcGVsaW5lIGFuZCBCb3VyYm9uIHdpbGxcbi8vLyAgIHdyaXRlIGFzc2V0IHBhdGhzIHVzaW5nXG4vLy8gICBbc2Fzcy1yYWlsc+KAmSBhc3NldCBoZWxwZXJzXShodHRwczovL2dpdGh1Yi5jb20vcmFpbHMvc2Fzcy1yYWlscyNhc3NldC1oZWxwZXJzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2JvdXJib24tZGVmYXVsdHM6IChcbiAgXCJjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvclwiOiAjMDAwLFxuICBcImNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvclwiOiAjZmZmLFxuICBcImdsb2JhbC1mb250LWZpbGUtZm9ybWF0c1wiOiAoXCJ0dGZcIiwgXCJ3b2ZmMlwiLCBcIndvZmZcIiksXG4gIFwibW9kdWxhci1zY2FsZS1iYXNlXCI6IDFlbSxcbiAgXCJtb2R1bGFyLXNjYWxlLXJhdGlvXCI6ICRtYWpvci10aGlyZCxcbiAgXCJyYWlscy1hc3NldC1waXBlbGluZVwiOiBmYWxzZSxcbik7XG5cbi8vLyBHbG9iYWwgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBuYW1lIFNldHRpbmdzXG4vLy9cbi8vLyBAdHlwZSBtYXBcbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yIFsjMDAwXVxuLy8vICAgR2xvYmFsIGRhcmsgY29sb3IgZm9yIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvciBbI2ZmZl1cbi8vLyAgIEdsb2JhbCBsaWdodCBjb2xvciBmb3IgdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtsaXN0fSBnbG9iYWwtZm9udC1maWxlLWZvcm1hdHMgWyhcInR0ZlwiLCBcIndvZmYyXCIsIFwid29mZlwiKV1cbi8vLyAgIEdsb2JhbCBmb250IGZpbGUgZm9ybWF0cyBmb3IgdGhlIGBmb250LWZhY2VgIG1peGluLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtudW1iZXIgKHdpdGggdW5pdCl9IG1vZHVsYXItc2NhbGUtYmFzZSBbMWVtXVxuLy8vICAgR2xvYmFsIGJhc2UgdmFsdWUgZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge251bWJlciAodW5pdGxlc3MpfSBtb2R1bGFyLXNjYWxlLXJhdGlvIFskbWFqb3ItdGhpcmQgKDEuMjUpXVxuLy8vICAgR2xvYmFsIGJhc2UgcmF0aW8gZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2Jvb2xlYW59IHJhaWxzLWFzc2V0LXBpcGVsaW5lIFtmYWxzZV1cbi8vLyAgIFNldCB0aGlzIHRvIGB0cnVlYCB3aGVuIHVzaW5nIHRoZSBSYWlscyBBc3NldCBQaXBlbGluZSBhbmQgQm91cmJvbiB3aWxsXG4vLy8gICB3cml0ZSBhc3NldCBwYXRocyB1c2luZ1xuLy8vICAgW3Nhc3MtcmFpbHPigJkgYXNzZXQgaGVscGVyc10oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3Nhc3MtcmFpbHMjYXNzZXQtaGVscGVycykuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkYm91cmJvbjogKFxuLy8vICAgICBcImNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yXCI6ICMwMDAsXG4vLy8gICAgIFwiY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yXCI6ICNmZmYsXG4vLy8gICAgIFwiZ2xvYmFsLWZvbnQtZmlsZS1mb3JtYXRzXCI6IChcInR0ZlwiLCBcIndvZmYyXCIsIFwid29mZlwiKSxcbi8vLyAgICAgXCJtb2R1bGFyLXNjYWxlLWJhc2VcIjogMWVtLFxuLy8vICAgICBcIm1vZHVsYXItc2NhbGUtcmF0aW9cIjogJG1ham9yLXRoaXJkLFxuLy8vICAgICBcInJhaWxzLWFzc2V0LXBpcGVsaW5lXCI6IGZhbHNlLFxuLy8vICAgKTtcblxuJGJvdXJib246ICgpICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2NvbnRhaW5zKFxuICAkbGlzdCxcbiAgJHZhbHVlcy4uLlxuKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbiBhbnkgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9jb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgY29sb3IuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGNvbG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sZWFufVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfaXMtY29sb3IoJGNvbG9yKSB7XG4gIEByZXR1cm4gKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvcikgb3IgKCRjb2xvciA9PSBcImN1cnJlbnRDb2xvclwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2lzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb250YWluc1xuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2lzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBfY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb250YWluc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtbGVuZ3RoXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9pcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIF9pcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIF9jb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEFwcGVuZCBwc2V1ZG8tY2xhc3NlcyB0byBhIHNlbGVjdG9yKHMpLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0IHwgc3RyaW5nfSAkaW5wdXRzXG4vLy8gICBBIHNlbGVjdG9yLCBvciBsaXN0IG9mIHNlbGVjdG9ycywgdG8gYXBwbHkgdGhlIHBzZXVkby1jbGFzcyB0by5cbi8vL1xuLy8vIEBhcmd1bWVudCB7cHNldWRvLWNsYXNzfSAkcHNldWRvIFtudWxsXVxuLy8vICAgVGhlIHBzZXVkby1jbGFzcyB0byBiZSBhcHBlbmRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge2xpc3R9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9hc3NpZ24taW5wdXRzKFxuICAkaW5wdXRzLFxuICAkcHNldWRvOiBudWxsXG4pIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEVsc2VQbGFjZW1lbnRcblxuLy8vIFRyYW5zZm9ybXMgc2hvcnRoYW5kIHRvIGl0cyBzaG9ydGVzdCBwb3NzaWJsZSBmb3JtLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICR2YWx1ZXM6IF9jb21wYWN0LXNob3J0aGFuZCgxMHB4IDIwcHggMTBweCAyMHB4KTtcbi8vL1xuLy8vICAgLy8gT3V0cHV0XG4vLy8gICAkdmFsdWVzOiAxMHB4IDIwcHg7XG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfY29tcGFjdC1zaG9ydGhhbmQoJHZhbHVlcykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHVlcywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHVlcykgPCAyLCAkYSwgbnRoKCR2YWx1ZXMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFsdWVzKSA8IDMsICRhLCBudGgoJHZhbHVlcywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWx1ZXMpIDwgMiwgJGEsIG50aCgkdmFsdWVzLCBpZihsZW5ndGgoJHZhbHVlcykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG5cbi8vLyBCdWlsZHMgZGlyZWN0aW9uYWwgcHJvcGVydGllcyBieSBwYXJzaW5nIENTUyBzaG9ydGhhbmQgdmFsdWVzLiBGb3IgZXhhbXBsZSxcbi8vLyBhIHZhbHVlIG9mIGAxMHB4IG51bGxgIHdpbGwgb3V0cHV0IHRvcCBhbmQgYm90dG9tIGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsXG4vLy8gYnV0IHRoZSBgbnVsbGAgc2tpcHMgbGVmdCBhbmQgcmlnaHQgZnJvbSBiZWluZyBvdXRwdXQuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBCYXNlIHByb3BlcnR5LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRzdWZmaXhcbi8vLyAgIFN1ZmZpeCB0byBhcHBlbmQuIFVzZSBgbnVsbGAgdG8gb21pdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdG8gc2V0IGZvciB0aGUgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCBudWxsIDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1cHg7XG4vLy8gICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb21wYWN0LXNob3J0aGFuZFxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2RpcmVjdGlvbmFsLXByb3BlcnR5KFxuICAkcHJvcGVydHksXG4gICRzdWZmaXgsXG4gICR2YWx1ZXNcbikge1xuICAkdG9wOiAgICAkcHJvcGVydHkgKyBcIi10b3BcIiAgICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcm9wZXJ0eSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZmZpeCwgXCItI3skc3VmZml4fVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByb3BlcnR5ICsgXCItbGVmdFwiICAgKyBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJvcGVydHkgKyBcIi1yaWdodFwiICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcm9wZXJ0eSArICAgICAgICAgICAgIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG5cbiAgJHZhbHVlczogX2NvbXBhY3Qtc2hvcnRoYW5kKCR2YWx1ZXMpO1xuXG4gIEBpZiBfY29udGFpbnMtZmFsc3koJHZhbHVlcykge1xuICAgIEBpZiBudGgoJHZhbHVlcywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHVlcywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHVlcywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMikgeyAjeyRyaWdodH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWx1ZXMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDIpIHsgI3skbGVmdH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFsdWVzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFsdWVzLCAyKSB7ICN7JGxlZnR9OiBudGgoJHZhbHVlcywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHVlcywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHVlcywgNCkgeyAjeyRsZWZ0fTogbnRoKCR2YWx1ZXMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFsdWVzO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZXR1cm4gYSBCb3VyYm9uIHNldHRpbmcuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHNldHRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW4gfCBjb2xvciB8IGxpc3QgfCBudW1iZXIgfCBzdHJpbmd9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKHJhaWxzLWFzc2V0LXBpcGVsaW5lKVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKCRzZXR0aW5nKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtbWVyZ2UoJF9ib3VyYm9uLWRlZmF1bHRzLCAkYm91cmJvbiksICRzZXR0aW5nKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEJ1aWxkcyB0aGUgYHNyY2AgbGlzdCBmb3IgYW4gYEBmb250LWZhY2VgIGRlY2xhcmF0aW9uLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvUnUxYktQXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGZvbnQtZmFtaWx5XG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGZpbGUtcGF0aFxuLy8vXG4vLy8gQGFyZ3VtZW50IHtib29sZWFufSAkYXNzZXQtcGlwZWxpbmVcbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGZpbGUtZm9ybWF0c1xuLy8vXG4vLy8gQHJldHVybiB7bGlzdH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2NvbnRhaW5zXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9mb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHNcbikge1xuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKSxcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIF9jb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUGVyZm9ybXMgZ2FtbWEgY29ycmVjdGlvbiBvbiBhIHNpbmdsZSBjb2xvciBjaGFubmVsLlxuLy8vXG4vLy8gTm90ZSB0aGF0IFNhc3MgZG9lcyBub3QgaGF2ZSBhIGBwb3coKWAgZnVuY3Rpb24sIHNvIHRoZSBjYWxjdWxhdGlvblxuLy8vIGlzIGFwcHJveGltYXRlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKDAtMSl9ICRjaGFubmVsXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgKDAtMSl9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nYW1tYSgkY2hhbm5lbCkge1xuICBAaWYgJGNoYW5uZWwgPCAwLjAzOTI4IHtcbiAgICBAcmV0dXJuICRjaGFubmVsIC8gMTIuOTI7XG4gIH0gQGVsc2Uge1xuICAgICRjOiAoJGNoYW5uZWwgKyAwLjA1NSkgLyAxLjA1NTtcbiAgICBAcmV0dXJuICgxMzMgKiAkYyAqICRjICogJGMgKyAxNTUgKiAkYyAqICRjKSAvIDI4ODtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgdGhlIGxpZ2h0bmVzcyBvZiBhIGNvbG9yLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvciAoaGV4KX0gJGhleC1jb2xvclxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICgwLTEpfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgX2xpZ2h0bmVzcygkY29sb3IpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9saWdodG5lc3MoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZC1yYXc6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbi1yYXc6IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWUtcmF3OiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuXG4gICQtbG9jYWwtcmVkOiBfZ2FtbWEoJC1sb2NhbC1yZWQtcmF3IC8gMjU1KTtcbiAgJC1sb2NhbC1ncmVlbjogX2dhbW1hKCQtbG9jYWwtZ3JlZW4tcmF3IC8gMjU1KTtcbiAgJC1sb2NhbC1ibHVlOiBfZ2FtbWEoJC1sb2NhbC1ibHVlLXJhdyAvIDI1NSk7XG5cbiAgQHJldHVybiAkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjI7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB0aGUgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0d28gY29sb3JzLlxuLy8vXG4vLy8gTm90ZSB0aGF0IHRoZSBhbHBoYSBjaGFubmVsIGlzIGlnbm9yZWQuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC81NGh0TFZcbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3IgKGhleCl9ICRjb2xvci0xXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yIChoZXgpfSAkY29sb3ItMlxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICgxLTIxKX1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIF9jb250cmFzdC1yYXRpbyhibGFjaywgd2hpdGUpXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9saWdodG5lc3Ncbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2NvbnRyYXN0LXJhdGlvKCRjb2xvci0xLCAkY29sb3ItMikge1xuICAkLWxvY2FsLWxpZ2h0bmVzcy0xOiBfbGlnaHRuZXNzKCRjb2xvci0xKSArIDAuMDU7XG4gICQtbG9jYWwtbGlnaHRuZXNzLTI6IF9saWdodG5lc3MoJGNvbG9yLTIpICsgMC4wNTtcblxuICBAaWYgJC1sb2NhbC1saWdodG5lc3MtMSA+ICQtbG9jYWwtbGlnaHRuZXNzLTIge1xuICAgIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MtMSAvICQtbG9jYWwtbGlnaHRuZXNzLTI7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MtMiAvICQtbG9jYWwtbGlnaHRuZXNzLTE7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zZm9ybXMgc2hvcnRoYW5kIHRoYXQgY2FuIHJhbmdlIGZyb20gMS10by00IHZhbHVlcyB0byBiZSA0IHZhbHVlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IF91bnBhY2stc2hvcnRoYW5kKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfdW5wYWNrLXNob3J0aGFuZCgkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpY1xuLy8vIGVkZ2VzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBlZGdlcyBvZiB0aGUgYm94IHdpdGggc3RhbmRhcmRcbi8vLyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGNvbG9yczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHVlcyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCB0aGVcbi8vLyB0b3AtbGVmdCBhbmQgdG9wLXJpZ2h0IG9mIGEgYm94LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCl9ICRyYWRpaVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg0cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbi8vLyAgIH1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCB0aGVcbi8vLyB0b3AtcmlnaHQgYW5kIGJvdHRvbS1yaWdodCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gYm90dG9tLWxlZnQgYW5kIGJvdHRvbS1yaWdodCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMnB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gdG9wLWxlZnQgYW5kIGJvdHRvbS1sZWZ0IG9mIGEgYm94LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCl9ICRyYWRpaVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFweDtcbi8vLyAgIH1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpY1xuLy8vIGVkZ2VzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBlZGdlcyBvZiB0aGUgYm94IHdpdGggc3RhbmRhcmRcbi8vLyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGJvcmRlciBzdHlsZXM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFsdWVzKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgY29uY2lzZSwgb25lLWxpbmUgbWV0aG9kIGZvciBzZXR0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljXG4vLy8gZWRnZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGVkZ2VzIG9mIHRoZSBib3ggd2l0aCBzdGFuZGFyZFxuLy8vIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgYm9yZGVyIHdpZHRoczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFsdWVzKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2Fzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJF9idXR0b25zLWxpc3Rcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBhbGwgSFRNTCBidXR0b24gZWxlbWVudHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGVcbi8vLyB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2UgaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIFt0eXBlPSdidXR0b24nXSxcbi8vLyAgIFt0eXBlPSdyZXNldCddLFxuLy8vICAgW3R5cGU9J3N1Ym1pdCddIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zOiBfYXNzaWduLWlucHV0cygkX2J1dHRvbnMtbGlzdCk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIEhUTUwgYnV0dG9uIGVsZW1lbnRzIHdpdGggdGhlIGA6YWN0aXZlYCBwc2V1ZG8tY2xhc3MgYXBwbGllZC5cbi8vLyBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZSBpdCBhcyBhXG4vLy8gc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdidXR0b24nXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ncmVzZXQnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nc3VibWl0J106YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zLWFjdGl2ZTogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QsIGFjdGl2ZSk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIEhUTUwgYnV0dG9uIGVsZW1lbnRzIHdpdGggdGhlIGA6Zm9jdXNgIHBzZXVkby1jbGFzcyBhcHBsaWVkLlxuLy8vIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlIGl0IGFzIGFcbi8vLyBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIFt0eXBlPSdidXR0b24nXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdyZXNldCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3N1Ym1pdCddOmZvY3VzIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zLWZvY3VzOiBfYXNzaWduLWlucHV0cygkX2J1dHRvbnMtbGlzdCwgZm9jdXMpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cyB3aXRoIHRoZSBgOmhvdmVyYCBwc2V1ZG8tY2xhc3MgYXBwbGllZC5cbi8vLyBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZSBpdCBhcyBhXG4vLy8gc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBbdHlwZT0nYnV0dG9uJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ncmVzZXQnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdzdWJtaXQnXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG5cbiRhbGwtYnV0dG9ucy1ob3ZlcjogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC95UDVoaVpcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN3aXRjaGVzIGJldHdlZW4gdHdvIGNvbG9ycyBiYXNlZCBvbiB0aGUgY29udHJhc3QgdG8gYW5vdGhlciBjb2xvci4gSXTigJlzXG4vLy8gbGlrZSBhIFt0ZXJuYXJ5IG9wZXJhdG9yXSBmb3IgY29sb3IgY29udHJhc3QgYW5kIGNhbiBiZSB1c2VmdWwgZm9yIGJ1aWxkaW5nXG4vLy8gYSBidXR0b24gc3lzdGVtLlxuLy8vXG4vLy8gVGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBjb250cmFzdCByYXRpbyBpcyBiYXNlZCBvbiB0aGUgW1dDQUcgMi4wXG4vLy8gc3BlY2lmaWNhdGlvbl0uIEhvd2V2ZXIsIHdlIGNhbm5vdCBndWFyYW50ZWUgZnVsbCBjb21wbGlhbmNlLCB0aG91Z2ggYWxsIG9mXG4vLy8gb3VyIG1hbnVhbCB0ZXN0aW5nIHBhc3NlZC5cbi8vL1xuLy8vICAgW3Rlcm5hcnkgb3BlcmF0b3JdOiBodHRwczovL2dvby5nbC9jY2ZMcWlcbi8vLyAgIFtXQ0FHIDIuMCBzcGVjaWZpY2F0aW9uXTogaHR0cHM6Ly9nb28uZ2wvemhRdVlBXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yfSAkYmFzZS1jb2xvclxuLy8vICAgVGhlIGNvbG9yIHRvIGV2YWx1YXRlIGxpZ2h0bmVzcyBhZ2FpbnN0LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGRhcmstY29sb3IgWyMwMDBdXG4vLy8gICBUaGUgY29sb3IgdG8gYmUgb3V0cHV0IHdoZW4gYCRiYXNlLWNvbG9yYCBpcyBsaWdodC4gQ2FuIGFsc28gYmUgc2V0XG4vLy8gICBnbG9iYWxseSB1c2luZyB0aGUgYGNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yYCBrZXkgaW4gdGhlXG4vLy8gICBCb3VyYm9uIHNldHRpbmdzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGxpZ2h0LWNvbG9yIFsjZmZmXVxuLy8vICAgVGhlIGNvbG9yIHRvIGJlIG91dHB1dCB3aGVuIGAkYmFzZS1jb2xvcmAgaXMgZGFyay4gQ2FuIGFsc28gYmUgc2V0XG4vLy8gICBnbG9iYWxseSB1c2luZyB0aGUgYGNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvcmAga2V5IGluIHRoZVxuLy8vICAgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEByZXR1cm4ge2NvbG9yfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBjb2xvcjogY29udHJhc3Qtc3dpdGNoKCNiYWU2ZTYpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGNvbG9yOiAjMDAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAkYnV0dG9uLWNvbG9yOiAjMmQ3MmQ5O1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuLy8vICAgICBjb2xvcjogY29udHJhc3Qtc3dpdGNoKCRidXR0b24tY29sb3IsICMyMjIsICNlZWUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDcyZDk7XG4vLy8gICAgIGNvbG9yOiAjZWVlO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1jb2xvclxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udHJhc3QtcmF0aW9cbi8vL1xuLy8vIEBzaW5jZSA1LjAuMFxuXG5AZnVuY3Rpb24gY29udHJhc3Qtc3dpdGNoKFxuICAkYmFzZS1jb2xvcixcbiAgJGRhcmstY29sb3I6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvclwiKSxcbiAgJGxpZ2h0LWNvbG9yOiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKFwiY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yXCIpXG4pIHtcbiAgQGlmIG5vdCBfaXMtY29sb3IoJGJhc2UtY29sb3IpIHtcbiAgICBAZXJyb3IgXCJgI3skYmFzZS1jb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRiYXNlLWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIGlmIG5vdCBfaXMtY29sb3IoJGRhcmstY29sb3IpIHtcbiAgICBAZXJyb3IgXCJgI3skZGFyay1jb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRkYXJrLWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIGlmIG5vdCBfaXMtY29sb3IoJGxpZ2h0LWNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGxpZ2h0LWNvbG9yfWAgaXMgbm90IGEgdmFsaWQgY29sb3IgZm9yIHRoZSBgJGxpZ2h0LWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIHtcbiAgICAkLWNvbnRyYXN0LXRvLWRhcms6IF9jb250cmFzdC1yYXRpbygkYmFzZS1jb2xvciwgJGRhcmstY29sb3IpO1xuICAgICQtY29udHJhc3QtdG8tbGlnaHQ6IF9jb250cmFzdC1yYXRpbygkYmFzZS1jb2xvciwgJGxpZ2h0LWNvbG9yKTtcbiAgICAkLXByZWZlci1kYXJrOiAkLWNvbnRyYXN0LXRvLWRhcmsgPj0gJC1jb250cmFzdC10by1saWdodDtcblxuICAgIEByZXR1cm4gaWYoJC1wcmVmZXItZGFyaywgJGRhcmstY29sb3IsICRsaWdodC1jb2xvcik7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBUaGUgYG1heC13aWR0aGAgZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRkaXNwbGF5IFtpbmxpbmUtYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5LXZhbHVlIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuLy8vICAgfVxuXG5AbWl4aW4gZWxsaXBzaXMoXG4gICR3aWR0aDogMTAwJSxcbiAgJGRpc3BsYXk6IGlubGluZS1ibG9ja1xuKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRmaWxlLWZvcm1hdHM6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJnbG9iYWwtZm9udC1maWxlLWZvcm1hdHNcIiksXG4gICRhc3NldC1waXBlbGluZTogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcInJhaWxzLWFzc2V0LXBpcGVsaW5lXCIpXG4pIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBzcmM6IF9mb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzXG4gICAgKTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL3VTSnZaZVxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2staGVsdmV0aWNhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2staGVsdmV0aWNhOiAoXG4gIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgXCJIZWx2ZXRpY2FcIixcbiAgXCJBcmlhbFwiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvUjVVeVlFXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1sdWNpZGEtZ3JhbmRlO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiR2VuZXZhXCIsIFwiVmVyZGFuYVwiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1sdWNpZGEtZ3JhbmRlOiAoXG4gIFwiTHVjaWRhIEdyYW5kZVwiLFxuICBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIixcbiAgXCJHZW5ldmFcIixcbiAgXCJWZXJkYW5hXCIsXG4gIHNhbnMtc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC95R1hXU1Ncbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXZlcmRhbmE7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay12ZXJkYW5hOiAoXG4gIFwiVmVyZGFuYVwiLFxuICBcIkdlbmV2YVwiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgc3lzdGVtIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9MSFJaSWZcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXN5c3RlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIkF2ZW5pciBOZXh0XCIsIFwiQXZlbmlyXCIsIFwiU2Vnb2UgVUlcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJGaXJhIFNhbnNcIiwgXCJSb2JvdG9cIiwgXCJOb3RvXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkNhbnRhcmVsbFwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIiwgXCJDZW50dXJ5IEdvdGhpY1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1zeXN0ZW06IChcbiAgLWFwcGxlLXN5c3RlbSxcbiAgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICBcIkF2ZW5pciBOZXh0XCIsXG4gIFwiQXZlbmlyXCIsXG4gIFwiU2Vnb2UgVUlcIixcbiAgXCJMdWNpZGEgR3JhbmRlXCIsXG4gIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgXCJIZWx2ZXRpY2FcIixcbiAgXCJGaXJhIFNhbnNcIixcbiAgXCJSb2JvdG9cIixcbiAgXCJOb3RvXCIsXG4gIFwiRHJvaWQgU2Fuc1wiLFxuICBcIkNhbnRhcmVsbFwiLFxuICBcIk94eWdlblwiLFxuICBcIlVidW50dVwiLFxuICBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIixcbiAgXCJDZW50dXJ5IEdvdGhpY1wiLFxuICBcIkxpYmVyYXRpb24gU2Fuc1wiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgR2FyYW1vbmQgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1FRRkVrVlxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stZ2FyYW1vbmQ7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiR2FyYW1vbmRcIiwgXCJCYXNrZXJ2aWxsZVwiLCBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsIFwiSG9lZmxlciBUZXh0XCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1nYXJhbW9uZDogKFxuICBcIkdhcmFtb25kXCIsXG4gIFwiQmFza2VydmlsbGVcIixcbiAgXCJCYXNrZXJ2aWxsZSBPbGQgRmFjZVwiLFxuICBcIkhvZWZsZXIgVGV4dFwiLFxuICBcIlRpbWVzIE5ldyBSb21hblwiLFxuICBzZXJpZixcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL3d0elZQeVxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stZ2VvcmdpYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJHZW9yZ2lhXCIsIFwiVGltZXNcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWdlb3JnaWE6IChcbiAgXCJHZW9yZ2lhXCIsXG4gIFwiVGltZXNcIixcbiAgXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBIb2VmbGVyIFRleHQgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL243VTd6eFxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2staG9lZmxlci10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsIFwiR2FyYW1vbmRcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWhvZWZsZXItdGV4dDogKFxuICBcIkhvZWZsZXIgVGV4dFwiLFxuICBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsXG4gIFwiR2FyYW1vbmRcIixcbiAgXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBDb25zb2xhcyBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvaUtydHF2XG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1jb25zb2xhcztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJDb25zb2xhc1wiLCBcIm1vbmFjb1wiLCBtb25vc3BhY2U7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWNvbnNvbGFzOiAoXG4gIFwiQ29uc29sYXNcIixcbiAgXCJtb25hY29cIixcbiAgbW9ub3NwYWNlLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgQ291cmllciBOZXcgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL2JIZldNUFxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stY291cmllci1uZXc7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBcIkx1Y2lkYSBUeXBld3JpdGVyXCIsIG1vbm9zcGFjZTtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stY291cmllci1uZXc6IChcbiAgXCJDb3VyaWVyIE5ld1wiLFxuICBcIkNvdXJpZXJcIixcbiAgXCJMdWNpZGEgU2FucyBUeXBld3JpdGVyXCIsXG4gIFwiTHVjaWRhIFR5cGV3cml0ZXJcIixcbiAgbW9ub3NwYWNlLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgTW9uYWNvIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC85UGdLRE9cbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLW1vbmFjbztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJNb25hY29cIiwgXCJDb25zb2xhc1wiLCBcIkx1Y2lkYSBDb25zb2xlXCIsIG1vbm9zcGFjZTtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stbW9uYWNvOiAoXG4gIFwiTW9uYWNvXCIsXG4gIFwiQ29uc29sYXNcIixcbiAgXCJMdWNpZGEgQ29uc29sZVwiLFxuICBtb25vc3BhY2UsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlIGluc3RlYWQuIFNvbWVcbi8vLyBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9FdkxSSXVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBIaWRlcyBhbiBlbGVtZW50IHZpc3VhbGx5IHdoaWxlIHN0aWxsIGFsbG93aW5nIHRoZSBjb250ZW50IHRvIGJlIGFjY2Vzc2libGVcbi8vLyB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSwgZS5nLiBzY3JlZW4gcmVhZGVycy4gUGFzc2luZyBgdW5oaWRlYCB3aWxsIHJldmVyc2Vcbi8vLyB0aGUgYWZmZWN0cyBvZiB0aGUgaGlkaW5nLCB3aGljaCBpcyBoYW5keSBmb3Igc2hvd2luZyB0aGUgZWxlbWVudCBvbiBmb2N1cyxcbi8vLyBmb3IgZXhhbXBsZS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1ZmMVRHblxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR0b2dnbGUgW2hpZGVdXG4vLy8gICBBY2NlcHRzIGBoaWRlYCBvciBgdW5oaWRlYC4gYHVuaGlkZWAgcmV2ZXJzZXMgdGhlIGFmZmVjdHMgb2YgYGhpZGVgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXZpc3VhbGx5O1xuLy8vXG4vLy8gICAgICY6YWN0aXZlLFxuLy8vICAgICAmOmZvY3VzIHtcbi8vLyAgICAgICBAaW5jbHVkZSBoaWRlLXZpc3VhbGx5KFwidW5oaWRlXCIpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyOiAwO1xuLy8vICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4vLy8gICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4vLy8gICAgIGhlaWdodDogMXB4O1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICBwYWRkaW5nOiAwO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHdpZHRoOiAxcHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5oaWRlLXZpc3VhbGx5OmFjdGl2ZSxcbi8vLyAgIC5oaWRlLXZpc3VhbGx5OmZvY3VzIHtcbi8vLyAgICAgY2xpcDogYXV0bztcbi8vLyAgICAgY2xpcC1wYXRoOiBub25lO1xuLy8vICAgICBoZWlnaHQ6IGF1dG87XG4vLy8gICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuLy8vICAgICBwb3NpdGlvbjogc3RhdGljO1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSA1LjAuMFxuXG5AbWl4aW4gaGlkZS12aXN1YWxseSgkdG9nZ2xlOiBcImhpZGVcIikge1xuICBAaWYgbm90IGluZGV4KFwiaGlkZVwiIFwidW5oaWRlXCIsICR0b2dnbGUpIHtcbiAgICBAZXJyb3IgXCJgI3skdG9nZ2xlfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHRoZSBgJHRvZ2dsZWAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgaGlkZS12aXN1YWxseWAgbWl4aW4uIE11c3QgYmUgZWl0aGVyIGBoaWRlYCBvciBgdW5oaWRlYC5cIjtcbiAgfSBAZWxzZSBpZiAkdG9nZ2xlID09IFwiaGlkZVwiIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxcHg7XG4gIH0gQGVsc2UgaWYgJHRvZ2dsZSA9PSBcInVuaGlkZVwiIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgZWRnZXNcbi8vLyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gZWRnZXMgb2YgdGhlIGJveCB3aXRoIHN0YW5kYXJkXG4vLy8gQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBtYXJnaW4gdmFsdWVzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIGF1dG8pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbigxMHB4IDNlbSAyMHZoIG51bGwpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDIwdmg7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogM2VtO1xuLy8vICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIG1hcmdpbigkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIG51bGwsICR2YWx1ZXMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gSW5jcmVtZW50cyB1cCBvciBkb3duIGEgZGVmaW5lZCBzY2FsZSBhbmQgcmV0dXJucyBhbiBhZGp1c3RlZCB2YWx1ZS4gVGhpc1xuLy8vIGhlbHBzIGVzdGFibGlzaCBjb25zaXN0ZW50IG1lYXN1cmVtZW50cyBhbmQgc3BhY2lhbCByZWxhdGlvbnNoaXBzIHRocm91Z2hvdXRcbi8vLyB5b3VyIHByb2plY3QuIFdlIHByb3ZpZGUgYSBsaXN0IG9mIGNvbW1vbmx5IHVzZWQgc2NhbGVzIGFzXG4vLy8gW3ByZS1kZWZpbmVkIHZhcmlhYmxlc11bc2NhbGVzXS5cbi8vL1xuLy8vIFtzY2FsZXNdOiBodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2NvcmUvYm91cmJvbi9oZWxwZXJzL19zY2FsZXMuc2Nzc1xuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHVuaXRsZXNzKX0gJGluY3JlbWVudFxuLy8vICAgSG93IG1hbnkgc3RlcHMgdG8gaW5jcmVtZW50IHVwIG9yIGRvd24gdGhlIHNjYWxlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCkgfCBsaXN0fSAkdmFsdWUgWzFlbV1cbi8vLyAgIFRoZSBiYXNlIHZhbHVlIHRoZSBzY2FsZSBzdGFydHMgYXQuIENhbiBhbHNvIGJlIHNldCBnbG9iYWxseSB1c2luZyB0aGVcbi8vLyAgIGBtb2R1bGFyLXNjYWxlLWJhc2VgIGtleSBpbiB0aGUgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh1bml0bGVzcyl9ICRyYXRpbyBbMS4yNV1cbi8vLyAgIFRoZSByYXRpbyB0aGUgc2NhbGUgaXMgYnVpbHQgb24uIENhbiBhbHNvIGJlIHNldCBnbG9iYWxseSB1c2luZyB0aGVcbi8vLyAgIGBtb2R1bGFyLXNjYWxlLXJhdGlvYCBrZXkgaW4gdGhlIEJvdXJib24gc2V0dGluZ3MuXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgKHdpdGggdW5pdCl9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgyKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IG1vZHVsYXItc2NhbGUoMywgMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDMuOTA2MjVlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDMsIDFlbSAxLjZlbSwgJG1ham9yLXNldmVudGgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogM2VtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gR2xvYmFsbHkgY2hhbmdlIHRoZSBiYXNlIHJhdGlvXG4vLy8gICAkYm91cmJvbjogKFxuLy8vICAgICBcIm1vZHVsYXItc2NhbGUtcmF0aW9cIjogMS4yLFxuLy8vICAgKTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiAxLjcyOGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nXG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKFxuICAkaW5jcmVtZW50LFxuICAkdmFsdWU6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJtb2R1bGFyLXNjYWxlLWJhc2VcIiksXG4gICRyYXRpbzogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcIm1vZHVsYXItc2NhbGUtcmF0aW9cIilcbikge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgdGhlIGBvdmVyZmxvdy13cmFwYCBwcm9wZXJ0eSBhbmQgaXRzIGxlZ2FjeSBuYW1lIGB3b3JkLXdyYXBgIHRvXG4vLy8gc3VwcG9ydCBicm93c2VycyB0aGF0IGRvIG5vdCB5ZXQgdXNlIGBvdmVyZmxvdy13cmFwYC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIEFjY2VwdGVkIENTUyB2YWx1ZXMgYXJlIGBub3JtYWxgLCBgYnJlYWstd29yZGAsIGBpbmhlcml0YCwgYGluaXRpYWxgLFxuLy8vICAgb3IgYHVuc2V0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgb3ZlcmZsb3ctd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvdmVyZmxvdy13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhXG4vLy8gYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgcGFkZGluZyB2YWx1ZXM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCAxcmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuLy8vICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMHZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgX2RpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIG51bGwsICR2YWx1ZXMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb25pbmdcbi8vLyBwcm9wZXJ0aWVzOiBgcG9zaXRpb25gLCBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAgYW5kIGBsZWZ0YC4gVXNlIGEgYG51bGxgXG4vLy8gdmFsdWUgdG8g4oCcc2tpcOKAnSBhbiBlZGdlIG9mIHRoZSBib3guXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHBvc2l0aW9uXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGJveC1lZGdlLXZhbHVlc1xuLy8vICAgTGlzdCBvZiBsZW5ndGhzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDApO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgICByaWdodDogMDtcbi8vLyAgICAgYm90dG9tOiAwO1xuLy8vICAgICBsZWZ0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtbGVuZ3RoXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF91bnBhY2stc2hvcnRoYW5kXG5cbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkYm94LWVkZ2UtdmFsdWVzXG4pIHtcbiAgJGJveC1lZGdlLXZhbHVlczogX3VucGFjay1zaG9ydGhhbmQoJGJveC1lZGdlLXZhbHVlcyk7XG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGJveC1lZGdlLXZhbHVlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGJveC1lZGdlLXZhbHVlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGJveC1lZGdlLXZhbHVlcywgMyksXG4gICAgbGVmdDogICBudGgoJGJveC1lZGdlLXZhbHVlcywgNCksXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBfaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZlbmRvciBwcmVmaXhlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHByZWZpeGVzXG4vLy8gICBWZW5kb3IgcHJlZml4ZXMgdG8gb3V0cHV0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCBub25lLCAoXCJ3ZWJraXRcIiwgXCJtb3pcIikpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vLyAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuLy8vICAgICBhcHBlYXJhbmNlOiBub25lO1xuLy8vICAgfVxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cbkBtaXhpbiBwcmVmaXhlcihcbiAgJHByb3BlcnR5LFxuICAkdmFsdWUsXG4gICRwcmVmaXhlczogKClcbikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3tcIi1cIiArICRwcmVmaXggKyBcIi1cIiArICRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEByZXR1cm4ge2NvbG9yfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG5cbkBmdW5jdGlvbiBzaGFkZShcbiAgJGNvbG9yLFxuICAkcGVyY2VudFxuKSB7XG4gIEBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgc2hhZGVgIG1peGluLlwiO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQgaW4gb25lIHN0YXRlbWVudC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpIHwgc3RyaW5nfSAkd2lkdGhcbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpIHwgc3RyaW5nfSAkaGVpZ2h0IFskd2lkdGhdXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0bywgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1zaXplXG5cbkBtaXhpbiBzaXplKFxuICAkd2lkdGgsXG4gICRoZWlnaHQ6ICR3aWR0aFxuKSB7XG4gIEBpZiBfaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIGFyZ3VtZW50IFwiICtcbiAgICAgICAgICAgXCJpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIF9pcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIGFyZ3VtZW50IFwiICtcbiAgICAgICAgICAgXCJpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlciAodW5pdGxlc3MpfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdCgxMGVtKTtcbi8vL1xuLy8vICAgLy8gT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkX3RleHQtaW5wdXRzLWxpc3Rcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0XG4vLy8gaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlIGl0IGFzIGEgc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ10sXG4vLy8gICBbdHlwZT0nZGF0ZSddLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi8vLyAgIFt0eXBlPSdlbWFpbCddLFxuLy8vICAgW3R5cGU9J21vbnRoJ10sXG4vLy8gICBbdHlwZT0nbnVtYmVyJ10sXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXSxcbi8vLyAgIFt0eXBlPSdzZWFyY2gnXSxcbi8vLyAgIFt0eXBlPSd0ZWwnXSxcbi8vLyAgIFt0eXBlPSd0ZXh0J10sXG4vLy8gICBbdHlwZT0ndGltZSddLFxuLy8vICAgW3R5cGU9J3VybCddLFxuLy8vICAgW3R5cGU9J3dlZWsnXSxcbi8vLyAgIGlucHV0Om5vdChbdHlwZV0pLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzOiBfYXNzaWduLWlucHV0cygkX3RleHQtaW5wdXRzLWxpc3QpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMgd2l0aCB0aGUgYDphY3RpdmVgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J2RhdGUnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZW1haWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nbW9udGgnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nbnVtYmVyJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3Bhc3N3b3JkJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd0ZWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ndGV4dCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd0aW1lJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3VybCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd3ZWVrJ106YWN0aXZlLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cblxuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzIHdpdGggdGhlIGA6Zm9jdXNgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTU2NWMwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBbdHlwZT0nY29sb3InXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdkYXRlJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nbW9udGgnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdudW1iZXInXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3RlbCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3RleHQnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSd0aW1lJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0ndXJsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nd2VlayddOmZvY3VzLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTY1YzA7XG4vLy8gICB9XG5cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMgd2l0aCB0aGUgYDpob3ZlcmAgcHNldWRvLWNsYXNzXG4vLy8gYXBwbGllZC4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2Vcbi8vLyBpdCBhcyBhIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIFt0eXBlPSdjb2xvciddOmhvdmVyLFxuLy8vICAgW3R5cGU9J2RhdGUnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdkYXRldGltZSddOmhvdmVyLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nZW1haWwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdtb250aCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J251bWJlciddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3Bhc3N3b3JkJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nc2VhcmNoJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ndGVsJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ndGV4dCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3RpbWUnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd1cmwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd3ZWVrJ106aG92ZXIsXG4vLy8gICBpbnB1dDpub3QoW3R5cGVdKTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cblxuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogX2Fzc2lnbi1pbnB1dHMoJF90ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIF90ZXh0LWJhc2VkXyBIVE1MIGlucHV0cyB3aXRoIHRoZSBgOmludmFsaWRgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1pbnZhbGlkfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIFt0eXBlPSdjb2xvciddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nZGF0ZSddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdlbWFpbCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nbW9udGgnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J251bWJlciddOmludmFsaWQsXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0ndGVsJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd0ZXh0J106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd0aW1lJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd1cmwnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3dlZWsnXTppbnZhbGlkLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6aW52YWxpZCxcbi8vLyAgIHRleHRhcmVhOmludmFsaWQge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzLWludmFsaWQ6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgaW52YWxpZCk7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQWZ0ZXJDb21tYSwgVW5uZWNlc3NhcnlNYW50aXNzYSwgVHJhaWxpbmdaZXJvXG5cbi8vLy9cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9wOHU2U0tcbi8vL1xuLy8vIEB0eXBlIHN0cmluZ1xuLy8vL1xuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAocGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQHJldHVybiB7Y29sb3J9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdGludChcbiAgJGNvbG9yLFxuICAkcGVyY2VudFxuKSB7XG4gIEBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgdGludGAgbWl4aW4uXCI7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgYSB0cmlhbmdsZSBwb2ludGluZyBpbiBhIHNwZWNpZmllZCBkaXJlY3Rpb24uXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGRpcmVjdGlvblxuLy8vICAgVGhlIGRpcmVjdGlvbiB0aGUgdHJpYW5nbGUgc2hvdWxkIHBvaW50LiBBY2NlcHRzIGB1cGAsIGB1cC1yaWdodGAsXG4vLy8gICBgcmlnaHRgLCBgZG93bi1yaWdodGAsIGBkb3duYCwgYGRvd24tbGVmdGAsIGBsZWZ0YCBvciBgdXAtbGVmdGAuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJHdpZHRoXG4vLy8gICBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJGhlaWdodFxuLy8vICAgSGVpZ2h0IG9mIHRoZSB0cmlhbmdsZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRjb2xvclxuLy8vICAgQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAmOjpiZWZvcmUge1xuLy8vICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKFwidXBcIiwgMnJlbSwgMXJlbSwgI2IyNWM5Yyk7XG4vLy8gICAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YmVmb3JlIHtcbi8vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgaGVpZ2h0OiAwO1xuLy8vICAgICB3aWR0aDogMDtcbi8vLyAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYjI1YzljO1xuLy8vICAgICBib3JkZXItd2lkdGg6IDAgMXJlbSAxcmVtO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgfVxuXG5AbWl4aW4gdHJpYW5nbGUoXG4gICRkaXJlY3Rpb24sXG4gICR3aWR0aCxcbiAgJGhlaWdodCxcbiAgJGNvbG9yXG4pIHtcbiAgQGlmIG5vdCBpbmRleChcbiAgICBcInVwXCIgXCJ1cC1yaWdodFwiIFwicmlnaHRcIiBcImRvd24tcmlnaHRcIiBcImRvd25cIiBcImRvd24tbGVmdFwiIFwibGVmdFwiIFwidXAtbGVmdFwiLFxuICAgICRkaXJlY3Rpb25cbiAgKSB7XG4gICAgQGVycm9yIFwiRGlyZWN0aW9uIG11c3QgYmUgYHVwYCwgYHVwLXJpZ2h0YCwgYHJpZ2h0YCwgYGRvd24tcmlnaHRgLCBcIiArXG4gICAgICAgICAgIFwiYGRvd25gLCBgZG93bi1sZWZ0YCwgYGxlZnRgIG9yIGB1cC1sZWZ0YC5cIjtcbiAgfSBAZWxzZSBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgdHJpYW5nbGVgIG1peGluLlwiO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHdpZHRoIC8gMikgJGhlaWdodDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ1cC1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aCAkd2lkdGggMDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodCAvIDIpIDAgKCRoZWlnaHQgLyAyKSAkd2lkdGg7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93bi1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoICR3aWR0aDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgKCR3aWR0aCAvIDIpIDA7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93bi1sZWZ0XCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAwIDAgJHdpZHRoO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHQgLyAyKSAkd2lkdGggKCRoZWlnaHQgLyAyKSAwO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICR3aWR0aCAwIDA7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmVuZG9yIHByZWZpeGVzIGZvciB2YWx1ZXMuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byB1c2UuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byBwcmVmaXguXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICRwcmVmaXhlc1xuLy8vICAgVmVuZG9yIHByZWZpeGVzIHRvIG91dHB1dC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgdmFsdWUtcHJlZml4ZXIoY3Vyc29yLCBncmFiLCAoXCJ3ZWJraXRcIiwgXCJtb3pcIikpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuLy8vICAgICBjdXJzb3I6IC1tb3otZ3JhYjtcbi8vLyAgICAgY3Vyc29yOiBncmFiO1xuLy8vICAgfVxuLy8vXG4vLy8gQGF1dGhvciBNYXR0aGV3IFRvYmlhc3pcblxuQG1peGluIHZhbHVlLXByZWZpeGVyKFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJHByZWZpeGVzOiAoKVxuKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7XCItXCIgKyAkcHJlZml4ICsgXCItXCIgKyAkdmFsdWV9O1xuICB9XG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xufVxuIiwiLy8gQml0dGVycyAxLjMuMlxuLy8gaHR0cDovL2JpdHRlcnMuYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTMtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwibG9hZGluZ1wiO1xuQGltcG9ydCBcImxpc3RzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG4iLCIvLyBCcmVha3BvaW50c1xuJG1lZGl1bS1zY3JlZW46IDYwMHB4O1xuJGxhcmdlLXNjcmVlbjogOTAwcHg7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LXN0YWNrOiBcIk9wZW4gU2Fuc1wiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuJGJhc2UtZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuJGhlYWRpbmctZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuXG4vLyBGb250IFNpemVzXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIExpbmUgaGVpZ2h0XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gT3RoZXIgU2l6ZXNcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuJGJhc2Utei1pbmRleDogMDtcblxuLy8gQ29sb3JzXG4kYmx1ZTogIzIzM2E3ODtcbiRibHVlLXNreTogIzM3YzBmNjtcbiRibHVlLXNreS1saWdodDogbGlnaHRlbigkYmx1ZS1za3ksIDMlKTtcbiRyZWQ6ICNkMjEzMzQ7XG4kZGFyay1ncmF5OiAjNDI0MjQyO1xuJG1lZGl1bS1ncmF5OiAjOTU5NTk1O1xuJGdyYXk6ICNjY2M7XG4kZ3JlZW46ICMxZDg1MDI7XG4kbGlnaHQtZ3JheTogI2Q1ZDVkNTtcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcblxuLy8gQnJhbmQgY29sb3JzXG4kY29sb3ItYmFja2dyb3VuZDogI2U2ZjFmNTtcbiRjb2xvci1icmFuZDogJGJsdWU7IC8qIGJkLWJsdWUgKi9cbiRjb2xvci1icmFuZC1ob3ZlcjogIzNmNjlkOTtcbiRjb2xvci1icmFuZC1tZWQ6ICM1MDdlYzA7IC8qIG1lZC1ibHVlICovXG4kY29sb3ItYnJhbmQtbGlnaHQ6ICM4Y2E3YzY7IC8qIGxnaHQtYmx1ZSAqL1xuJGNvbG9yLWJyYW5kLWxpZ2h0ZXI6ICNhYWMwZDc7IC8qIGxnaHRlciBibHVlICovXG4kY29sb3ItYnJhbmQtbGlnaHRlc3Q6ICM2ZGNmZjY7IC8qIGxnaHRlc3QtYmx1ZSAqL1xuJGNvbG9yLWJyYW5kLTgwOiByZ2JhKCRjb2xvci1icmFuZCwgMC44KTtcblxuJGNvbG9yLWFjY2VudDogJHJlZDsgLyogYmQtcmVkICovXG4kY29sb3ItYWNjZW50LW1lZDogc2hhZGUoJHJlZCwgNSUpOyAvKiBtZWQtcmVkICovXG4kY29sb3ItYWNjZW50LWRhcms6IHNoYWRlKCRyZWQsIDEwJSk7IC8qIGRyay1yZWQgKi9cbi8vIEZvbnQgQ29sb3JzXG4kYmFzZS1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJGFjdGlvbi1jb2xvcjogJGNvbG9yLWJyYW5kO1xuJGNvbG9yLXR4dDogJGRhcmstZ3JheTtcbiRjb2xvci10eHQtbGdodDogJG1lZGl1bS1ncmF5O1xuJGNvbG9yLXR4dC1saWdodGVyOiAkZ3JheTtcbiRjb2xvci10eHQtbGlnaHRlc3Q6ICRsaWdodC1ncmF5O1xuJHdoaXRlOiAkd2hpdGU7XG4kY29sb3ItdHh0LWJsYWNrOiAkYmxhY2s7XG4kY29sb3ItdHh0LWNhbGxvdXQ6ICRncmVlbjtcbiRjb2xvci1tc2ctcG9zOiAkY29sb3ItYWNjZW50LWRhcms7XG5cbi8vIEJvcmRlclxuJGJhc2UtYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiRiYXNlLWJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcblxuLy8gQmFja2dyb3VuZCBDb2xvcnNcbiRiYXNlLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4kc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3I6IHRpbnQoJGJhc2UtYm9yZGVyLWNvbG9yLCA3NSUpO1xuXG4vLyBGb3Jtc1xuJGZvcm0tYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoJGJsYWNrLCAwLjA2KTtcbiRmb3JtLWJveC1zaGFkb3ctZm9jdXM6ICRmb3JtLWJveC1zaGFkb3csIDAgMCA1cHggYWRqdXN0LWNvbG9yKCRhY3Rpb24tY29sb3IsICRsaWdodG5lc3M6IC01JSwgJGFscGhhOiAtMC4zKTtcblxuLy8gQW5pbWF0aW9uc1xuJGJhc2UtZHVyYXRpb246IDE1MG1zO1xuJGJhc2UtdGltaW5nOiBlYXNlO1xuXG5cblxuXG5cblxuJGNvbG9yLWJvcmRlci1ib3R0b206ICNkOWU3ZjA7XG4kY29sb3ItYm9yZGVyLWxlZnQ6ICNmMWY0ZmE7XG5cbiRhc3NldHNfcGF0aDogXCJcIjtcbiRhc3NldHNfdmVyc2lvbjogXCJcIjsiLCIjeyRhbGwtYnV0dG9uc30ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nICRiYXNlLXNwYWNpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRhY3Rpb24tY29sb3IsIDIwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAvLyAmOmRpc2FibGVkIHtcbiAgLy8gICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAvLyAgIG9wYWNpdHk6IDAuNTtcblxuICAvLyAgICY6aG92ZXIge1xuICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgLy8gICB9XG4gIC8vIH1cbiAgJi5zZWFyY2gtc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLWFjY2VudCA0NSUsICRjb2xvci1hY2NlbnQtbWVkIDUyJSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxLjA1NmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLmNvbnRhaW5lci1zZWFyY2gtZmllbGQgICYge1xuICAgICAgZm9udC1zaXplOiAxLjMzM2VtO1xuICAgIH1cbiAgICAuY29udGFpbmVyLXN1Yi1jb2x1bW4tc2VhcmNoICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmlubmVyLWJpbGxib2FyZCAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42NjdlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCRjb2xvci1hY2NlbnQsIDUlKSA1MCUsIGRhcmtlbigkY29sb3ItYWNjZW50LW1lZCwgNSUpIDUxJSk7XG4gICAgfVxuICB9XG5cbiAgLmN0YUFkZCAmLFxuICAuY29udGFpblNlbGVjdEFsbCAmIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRibHVlLCAxMCUpO1xuICAgIH1cblxuICAgICYuYnRuR3JheSB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1lZGl1bS1ncmF5LCAxMCUpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuQnVsa0J1eSxcbiAgJi5idG5CdWxrSW5xdWlyZSxcbiAgJi5idG5TdWJtaXRCdWxrSW5xdWlyZSB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMjUpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiA0OSU7XG5cbiAgICAuaW5hY3RpdmUgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYnRuU3VibWl0QnVsa0lucXVpcmUsXG4gICYuY29udGludWVCcm93c2luZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gICYuYnRuQnVsa0J1eSxcbiAgJi5idG5TdWJtaXRCdWxrSW5xdWlyZSB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRyZWQsIDUlKTtcbiAgICB9XG4gIH1cbiAgJi5idG5CdWxrSW5xdWlyZSxcbiAgJi5jb250aW51ZUJyb3dzaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtbWVkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLWJyYW5kLW1lZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4lYnRuLWRlZmF1bHQge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjgzM2VtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBvcGFjaXR5OiAuNztcbiAgcGFkZGluZzogLjVlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTIwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTNweCAwcHggcmdiYSgkYmxhY2ssIDAuMjUpLCAwIDVweCAxMHB4IHJnYmEoJGJsYWNrLCAwLjMpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IC0xcHg7XG4gIH1cbn1cbi5idG4tYnV5LW5vdyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRjb2xvci1hY2NlbnQgNDUlLCAkY29sb3ItYWNjZW50LW1lZCA1MiUpO1xuICAgIEBleHRlbmQgJWJ0bi1kZWZhdWx0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cblxuICAgIC5jb2x1bW4tY29udGFpbmVyLWRvbWFpbnMgJiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjcyMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgcGFkZGluZzogLjVlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDExMHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIDFzLCBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxufVxuLmJ0bi1tYWtlLW9mZmVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRjb2xvci1icmFuZC1tZWQgNDUlLCBkYXJrZW4oJGNvbG9yLWJyYW5kLW1lZCwgMiUpIDUyJSk7XG4gIEBleHRlbmQgLmJ0bi1idXktbm93O1xufVxuLmJ0bi1yZXF1ZXN0LXByaWNlLFxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYmx1ZS1za3ktbGlnaHQgNDUlLCAkYmx1ZS1za3kgNTIlKTtcbiAgICBAZXh0ZW5kICVidG4tZGVmYXVsdDtcbn1cblxuLmJ0bi1yZXF1ZXN0LXByaWNlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICB3aWR0aDogNDglO1xuICB9XG59XG4uYnRuLXNlY29uZGFyeSB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgkYmxhY2ssIDAuMik7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtZWRpYSgnPD1waGFibGV0Jykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vLyBlbmQgYnRuLWRlZmF1bHRzXG5cbi5idG4taW5mbyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZC1saWdodGVzdDtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIHRyYW5zaXRpb246IGFsbCwgMXMsIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlLXNreTtcbiAgICB9XG4gICAgLmNvbHVtbi1jb250YWluZXItZG9tYWlucyAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgIH1cbn1cblxuXG4uYnRuLXJlYWQtbW9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZC1tZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbn1cblxuLmJ0bi1jaGVja291dC1jYXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLWFjY2VudCA0NSUsICRjb2xvci1hY2NlbnQtbWVkIDUyJSk7XG4gICAgXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuMjIyZW07XG4gICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgIHBhZGRpbmc6LjVlbSAxZW07XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtM3B4IDBweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDEwcHggcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICB9XG5cbiAgICAuZm9ybS13aGl0ZXBhcGVyICYge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICAgIC5jb250YWluZXItYnRuLXJlcXVlc3QgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuXG4uY29udGFpbi1zb2NpYWwtZm9ybS1maWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAzJSAwIDA7XG4gICAgICAgIHdpZHRoOiA0OS41JTtcbiAgICB9XG59XG4uYnRuLWNvbnRhY3Qtc29jaWFsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IC41ZW0gMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb250YWluLXNvY2lhbC1mb3JtLWZpbGwgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwMHB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzI4N2JiYyAwJSwgIzIzNjM5YSAxMDAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWI1NDgwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAwLjM1KTtcbiAgICB9XG5cbiAgICAmLmZiIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM0ZTY5YTIgMCUsICMzYjU5OTggMTAwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFiNTQ4MDtcbiAgICAgICAgLyogSUU2LTkgKi9cbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCRibGFjaywgMC4zNSk7XG4gICAgICAgIC8vIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKCRjb2xvci10eHQtYmxhY2ssIC40KTtcbiAgICB9XG4gICAgJi5ncCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNDJBNUY1IDAlLCAjMjE5NkYzIDEwMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYjU0ODA7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgkYmxhY2ssIDAuMzUpO1xuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IGdyYXk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgLnN2Z0ljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUtbGcnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIHByZXZlbnQgYmxlZWRpbmcgRkIgdGV4dCBvbiB0aGUgc29jaWFsIGJ1dHRvbiBmb3IgbGFuZHNjYXBlIHBob25lcyBhbmQgc21hbGxlciAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5idG4tY29udGFjdC1zb2NpYWwuZmIsIC5idG4tY29udGFjdC1zb2NpYWwuaW4sIC5idG4tY29udGFjdC1zb2NpYWwuZ3Age1xuICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICB9XG59XG5cblxuJWJ0bi1tYXRjaC1hcmVhIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBleHRlbmQgLnR4dC1tZWQtbGc7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIC01cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIH1cbn1cblxuLmJ0bi1jdGEtbWF0Y2gge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkY29sb3ItYWNjZW50IDUwJSwgJGNvbG9yLWFjY2VudC1tZWQgNTElKTtcbiAgICBAZXh0ZW5kICVidG4tbWF0Y2gtYXJlYTtcbn1cblxuLmJ0bi1jdGEtbWF0Y2gtcmVxdWVzdCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRibHVlLXNreS1saWdodCA0OSUsICRibHVlLXNreSA1MCUpO1xuICAgIEBleHRlbmQgJWJ0bi1tYXRjaC1hcmVhO1xufVxuXG4uYnRuLXNhdmUtYWxlcnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2U2ZTZlNiA0NSUsICNkZGRkZGQgNTIlKTtcbiAgICBcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjb2xvcjogJGNvbG9yLXR4dC1sZ2h0O1xuICBmb250LXNpemU6IC42MTFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogLjVlbSAxZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkY29sb3ItdHh0LWxpZ2h0ZXN0IDQ1JSwgJGNvbG9yLXR4dC1saWdodGVyIDUyJSk7XG4gICAgfVxufVxuXG4uYnRuLW1vc3QtcmVsZXZhbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTczLCAyNTUsIDQ3LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC01cHggMCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiBncmVlbjtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDFzLCBlYXNlO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLmJ0bi12aWV3LW1vcmUsXG4uYnRuLXZpZXctbW9yZS10eHQsXG4uYnRuLXZpZXctbW9yZS10eHQtbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIC01cHggMnB4IDVweCAwcHggcmdiYSgyMDYsIDIwNCwgMjA0LCAwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDFzLCBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgLTVweCAycHggNXB4IDBweCByZ2JhKDIwNiwgMjA0LCAyMDQsIDAuMyk7XG4gICAgfVxufVxuXG4uYnRuLXZpZXctbW9yZS10eHQsXG4uYnRuLXZpZXctbW9yZS10eHQtbWFpbiB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC01cHggMCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjYmJiYmJiO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtNXB4IDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG59XG5cbi5idG4tdmlldy1tb3JlLXR4dC1tYWluIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IC41ZW07XG59XG4iLCJmaWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmcgLyAyO1xuICBwYWRkaW5nOiAwO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gICYubGFiZWwtc3RhbmRhcmQge1xuICAgIGZvbnQtc2l6ZTogMC43NzhlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG4gICYuY2hlY2tBZGRMaXN0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4xKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiI3skYXNzZXRzX3BhdGh9L2Jyb3dzZXIvaW1nL2NoZWNrbWFyay13aGl0ZS5zdmdcIik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNjVlbTtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6MnB4IHNvbGlkIHJnYmEoJGJsdWUsIDAuNSk7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDA7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwLjgpOyBcbiAgICB9XG4gIH1cbn1cbi5sYWJlbC1ub25lIHtcbiAgZGlzcGxheTpub25lO1xufVxuLmxhYmVsLXN0eWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NzhlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbiN7JGFsbC10ZXh0LWlucHV0c30ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJhc2UtYm9yZGVyLXJhZGl1cztcbiAgLy8gYm94LXNoYWRvdzogJGZvcm0tYm94LXNoYWRvdztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgLyAzO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHNoYWRlKCRiYXNlLWJvcmRlci1jb2xvciwgMjAlKTtcbiAgfVxuXG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGJhc2UtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIH1cblxuXG4gICYuc2VhcmNoLWZpZWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yLXR4dDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIHdpZHRoOiA5OSU7XG5cbiAgICAmLmVycm9yLXRsZC10ZXh0Ym94IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50LCByZ2JhKCRyZWQsIC4xKSA3NSUpO1xuXG4gICAgICAmW3BsYWNlaG9sZGVyXSB7XG4gICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAmLmlucHV0LXN0YW5kYXJkLFxuICAmLnRleHQtYXJlYS1zdGFuZGFyZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMC43MjJlbTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAuMmVtIDFlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDBweCAxMHB4IHJnYmEoJGJsdWUtc2t5LWxpZ2h0LCAuNSk7XG4gICAgfVxuXG5cbiAgICAjY2hvaWNlLWxpc3QtZG9tYWlucy1wb3J0Zm9saW8gJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cblxuICAgIC5jb250YWluZXItYm94ZXMtZXhjbHVkZSAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogJHNtYWxsLXNwYWNpbmcgLyAyO1xuXG4gICYuY2hlY2tBZGRMaXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmNoZWNrZWQgKyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLmJsdWUtYmFja2dyb3VuZHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5bdHlwZT1cImZpbGVcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3c7XG4gIGNvbG9yOiBkYXJrZW4oJG1lZGl1bS1ncmF5LCAxMCUpO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxubGFiZWxbZm9yPXNlbGVjdENvdW50cnldIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAuM2VtIC4zZW0gMDtcbiAgICBjb2xvcjogZGFya2VuKCRtZWRpdW0tZ3JheSwgMTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gd2lkdGg6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBcbiAgfVxufVxubGFiZWxbZm9yPXNlbGVjdENvdW50cnldOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICRibHVlIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFPQkFNQUFBR3E3UkZWQUFBQUoxQk1WRVgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy85UnV2MFNBQUFBREhSU1RsTUFDQW9SRW9LRHQ3eTl6YzVxdFpveUFBQUFja2xFUVZRSUhRWEJzUW5DVUFBRndGT0NDS2JJQUJhV0VSemkxeWFGQXptRXBIWUVDOEdVS1ZRRWtieWh2T09rWnFkV3QwL1FZS3FMelFlRjdkdjZ5L1JMd2Eyd1l0azRYeHhlK3Q4eWQxV3VNL3JjVWMyZ1lIRWVvUDAydW1TZ1RSNTB5YkJQUnVpU1pBUzZaQVE0amdDQVB5allKaVJINGZ5bUFBQUFBRWxGVGtTdVFtQ0MnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gIGJvcmRlci1yYWRpdXM6IDAgLjNlbSAuM2VtIDA7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDQwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgei1pbmRleDogMTtcbiAgfVxuXG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIHBhZGRpbmc6IC41ZW07XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbmxhYmVsW2Zvcj1zZWxlY3RDb3VudHJ5XSBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gOi1tb3otYW55KHNlbGVjdCkge1xuICB3aWR0aDogMTEwJTtcbn1cbmxhYmVsW2Zvcj1zZWxlY3RDb3VudHJ5XS5pZTkgc2VsZWN0IHtcbiAgd2lkdGg6IDExMCU7XG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxubGFiZWxbZm9yPXNlbGVjdFByaWNlSGldLFxubGFiZWxbZm9yPXNlbGVjdFByaWNlTG9dLFxubGFiZWxbZm9yPXNlbGVjdC1jYXRlZ29yeS1tYWluXSxcbmxhYmVsW2Zvcj1zZWxlY3QtbWVzc2FnZS10eXBlXSB7XG4gIEBleHRlbmQgbGFiZWxbZm9yPXNlbGVjdENvdW50cnldO1xuXG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZzogLjI1ZW0gLjVlbTtcbiAgfVxufVxubGFiZWxbZm9yPXNlbGVjdC1jb3VudHJ5LXRocmVlXSB7XG4gIEBleHRlbmQgbGFiZWxbZm9yPXNlbGVjdENvdW50cnldO1xuXG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZzogLjM1ZW0gLjVlbTtcbiAgfVxufVxubGFiZWxbZm9yPWNvdW50cnldIHtcbiAgQGV4dGVuZCBsYWJlbFtmb3I9c2VsZWN0Q291bnRyeV07XG59XG5sYWJlbFtmb3I9c2VsZWN0LW1lc3NhZ2UtdHlwZV0gc2VsZWN0IHtcbiAgY29sb3I6ICRjb2xvci1icmFuZCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHBhZGRpbmc6IC43NWVtIDFlbTtcbn1cblxuaW5wdXQjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAqI21ha2VvZmZlcnByaWNlW3BsYWNlaG9sZGVyXSB7XG4gIHRyYW5zaXRpb246IGFsbCwgMC4zcywgZWFzZTtcblxuICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDtcbiAgZm9udC1zaXplOiAwLjg4OWVtO1xuICBmb250LXN0eWxlOm5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuODc1ZW0gMS43NTBlbTtcbn1cbiNtYWtlb2ZmZXJwcmljZTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDtcbn1cblxuI21ha2VvZmZlcnByaWNlOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgY29sb3I6ICRjb2xvci10eHQtbGlnaHRlc3Q7ICBcbn1cblxuI21ha2VvZmZlcnByaWNlOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDsgIFxufVxuXG4jbWFrZW9mZmVycHJpY2U6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgIFxuICAgY29sb3I6ICRjb2xvci10eHQtbGlnaHRlc3Q7ICBcbn1cblxuI21ha2VvZmZlcnByaWNlOmZvY3VzLFxuI21ha2VvZmZlcnByaWNlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuM3MsIGVhc2U7XG5cbiAgICBjb2xvcjogJGNvbG9yLWJyYW5kICFpbXBvcnRhbnQ7XG4gICAgLypmb250LXNpemU6IDEuNWVtICFpbXBvcnRhbnQ7Ki9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gY2xlYW5lZCB1cCBtYWtlIG9mZmVyIGZvcm0gXG5cbi5mb3JtLW1vIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtO1xuICAgIHBhZGRpbmc6IDAgMyUgMCAwO1xuICAgIHdpZHRoOjMzJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0wZW1cIiwgXCI8cGhhYmxldFwiKSB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAmLm1vLW9mZmVyLFxuICAgICAgJi5tby1waG9uZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gICAgJi5tby1jb3VudHJ5IHtcbiAgICAgIHBhZGRpbmc6IDAgNCUgMCAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICBpbnB1dCxcbiAgc3Bhbi5zZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10eHQtbGlnaHRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA1cHggMThweCByZ2JhKCRibGFjaywgMC4yKTtcbiAgICBjb2xvcjogIzU0NTQ1NDtcbiAgICBmb250LXNpemU6IC44MzNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYudmFsaWQge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMjBweCByZ2JhKCRibHVlLXNreS1saWdodCwgMC4yKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5zZWxlY3Qge1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiAuMjVlbSAxZW07XG4gIH1cblxuICBpbnB1dCNtYWtlb2ZmZXJwcmljZVtwbGFjZWhvbGRlcl0sICNtYWtlb2ZmZXJwcmljZVtwbGFjZWhvbGRlcl0sICojbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdIHtcbiAgICBjb2xvcjogcmdiYSgkY29sb3ItYnJhbmQsIC41KTtcbiAgICBmb250LXNpemU6IC44MzNyZW07XG4gICAgZm9udC1zdHlsZTpub3JtYWwgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgfVxufVxuXG4ubW8tY2FwdGNoYSB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgXHRoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbmJvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZCB1cmwoI3skYXNzZXRzX3BhdGh9L2Jyb3dzZXIvaW1nL21haW4vYmctbWFpbi1oaWxpZ2h0LWZhZGUuanBnPyN7JGFzc2V0c192ZXJzaW9ufSkgcmVwZWF0LXggdG9wIGNlbnRlcjtcdFxuXHRjb2xvcjogJGNvbG9yLXR4dDtcblx0bWluLWhlaWdodDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuICBcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc8PXBoYWJsZXQnKSB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHR9XG59XG5cbiNjb250YWluZXItaGVhZGVyLFxuLmNvbnRhaW4taGVhZGVyIHtcblx0bWFyZ2luOjAgYXV0bztcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjI7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYuaG9tZSB7XG5cdGJhY2tncm91bmQ6JHdoaXRlO1xuXHRib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgkYmxhY2ssIC4zNSk7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjQ7XG5cblx0XHQuY29udGFpbi1zZWFyY2gtZm9ybSxcblx0XHQuY29udGFpbmVyLWNoYXQtYnRuIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPD1waGFibGV0Jykge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMzY7XG5cblx0XHQmLmhvbWUge1xuXHRcdCAgICBiYWNrZ3JvdW5kOiBub25lO1xuXHRcdCAgICBib3JkZXItYm90dG9tOiAwO1xuXHRcdCAgICBib3gtc2hhZG93OiBub25lO1xuXHRcdCAgICBoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5cdCNoZWFkZXIge1xuXHRcdG1hcmdpbjowIGF1dG87XG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0LmJ1bGtEZWFsUGFnZSAmIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XG5cdFx0fVxuXHR9XG5cbiNjb250YWluZXItY29udGVudCxcbi5jb250YWluLWNvbnRlbnQge1xuXHRtaW4taGVpZ2h0OjEwMCU7XG5cdG1hcmdpbjowIGF1dG87XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDoxO1xufVxuXHQuY29udGFpbkFsbCB7XG5cdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0bWFyZ2luOjAgYXV0byAxMjBweDtcblx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSggJzw9cGhhYmxldCcpIHtcblx0XHRcdHBhZGRpbmctdG9wOiBjYWxjKDIlICsgMzBweCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXG4uaW5uZXItcGFkIHtcblx0cGFkZGluZzoxZW0gMmVtO1xufVxuLmNvbnRhaW5lci1sYXlvdXR7XG5cdHRyYW5zaXRpb246IGFsbCwgMXMsIGVhc2UtaW4tb3V0O1xuXHRwYWRkaW5nOiAwIDUlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AtbGcnKSB7XG5cdFx0cGFkZGluZzogMCAxNSU7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJz49Z2lhbnQtc2NyZWVuJykge1xuXHRcdHBhZGRpbmc6IDAgMjAlO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZS1sZycpIHtcblx0XHRwYWRkaW5nOiAwIDIlO1xuXHR9XG59XG4uY29udGFpbmVyLWlubmVyIHtcblx0dHJhbnNpdGlvbjogYWxsLCAxcywgZWFzZS1pbi1vdXQ7XG5cblx0cGFkZGluZzogMiUgNSU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUtbGcnLCAnPD10YWJsZXQnKSB7XG5cdCAgICBwYWRkaW5nOiAyJSAzJTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLWxnJykge1xuXHRcdHBhZGRpbmc6IDIlIDE1JTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgnPj1naWFudC1zY3JlZW4nKSB7XG5cdFx0cGFkZGluZzogMiUgMjAlO1xuXHR9XG59XG5cbi5jb250YWluLWludHJvIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZy10b3A6IDIwcHg7XG59XG5cblx0LmludHJvQWJvdXQge1xuXHRcdGZsZXg6IDAgMSA1MCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdH1cblxuXHRcdC5pbnRyb0hlYWRsaW5lIC5yZXNpemVBIHtcblx0XHRcdGZvbnQtc2l6ZTogM3JlbTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXBoYWJsZXQnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTB2dztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaW50cm9JbWFnZSB7XG5cdFx0ZmxleDogMCAxIDUwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7O1xuXHRcdH1cblx0fVxuXG5cblxuXG4uZmxvYXQtbGVmdCB7XG5cdGZsb2F0OmxlZnQ7XG59XG4uZmxvYXQtcmlnaHQge1xuXHRmbG9hdDpyaWdodDtcbn1cblxuLm1hcmctYm90dG9tIHtcblx0bWFyZ2luLWJvdHRvbToyMHB4O1xufVxuLm1hcmctbGVmdCB7XG5cdG1hcmdpbi1sZWZ0OjIwcHg7XG59XG4ubWFyZy1yaWdodCB7XG5cdG1hcmdpbi1yaWdodDoyMHB4O1xufVxuLm1hcmctdG9wIHtcblx0bWFyZ2luLXRvcDoyMHB4O1xufVxuXG4vKiBgQ2xlYXIgRmxvYXRlZCBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIGh0dHA6Ly93d3cueXVpYmxvZy5jb20vYmxvZy8yMDEwLzA5LzI3L2NsZWFyZml4LXJlbG9hZGVkLW92ZXJmbG93aGlkZGVuLWRlbXlzdGlmaWVkICovXG5cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiAnLic7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDA7XG5cdGhlaWdodDogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0d2lkdGg6IDA7XG59XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuIiwiXG4vKiBzcGlubmVyIDMgYm91bmNlcyAtIGh0dHBzOi8vZ2l0aHViLmNvbS90b2JpYXNhaGxpbi9TcGluS2l0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiN0ZGZzU3Bpbm5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNpdGlvbjogYWxsLCAwLjNzLCBlYXNlLWluLW91dDtcbn1cbi5zcGlubmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc3Bpbm5lciA+IGRpdiB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZDtcblxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XG4gICAgICBhbmltYXRpb246IGJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbiAgICB9XG5cbiAgICAuc3Bpbm5lciAuYm91bmNlMSB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG4gICAgfVxuXG4gICAgLnNwaW5uZXIgLmJvdW5jZTIge1xuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xuICAgIH1cblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VkZWxheSB7XG4gICAgICAwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMCkgfVxuICAgICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgYm91bmNlZGVsYXkge1xuICAgICAgMCUsIDgwJSwgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMCk7XG4gICAgICB9IDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG4gICAgICB9XG4gICAgfVxuXHRcbi8qIG1ha2Uga2V5ZnJhbWVzIHRoYXQgdGVsbCB0aGUgc3RhcnQgc3RhdGUgYW5kIHRoZSBlbmQgc3RhdGUgb2Ygb3VyIG9iamVjdCAqL1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4geyBmcm9tIHsgb3BhY2l0eTowOyB9IHRvIHsgb3BhY2l0eToxOyB9IH1cbiAgICBALW1vei1rZXlmcmFtZXMgZmFkZUluIHsgZnJvbSB7IG9wYWNpdHk6MDsgfSB0byB7IG9wYWNpdHk6MTsgfSB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW4geyBmcm9tIHsgb3BhY2l0eTowOyB9IHRvIHsgb3BhY2l0eToxOyB9IH1cbiAgICAgXG4gICAgLmZhZGUtaW4ge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgMC4zcywgZWFzZS1pbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xMCU7XG4gICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgYW5pbWF0aW9uOmZhZGVJbiBlYXNlLWluIDE7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjoxcztcbiAgICB9XG4gICAgXG4gICAgLyogbWFrZSBrZXlmcmFtZXMgdGhhdCB0ZWxsIHRoZSBzdGFydCBzdGF0ZSBhbmQgdGhlIGVuZCBzdGF0ZSBvZiBvdXIgb2JqZWN0ICovXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgeyBmcm9tIHsgb3BhY2l0eToxOyB9IHRvIHsgb3BhY2l0eTowOyB9IH1cbiAgICBALW1vei1rZXlmcmFtZXMgZmFkZU91dCB7IGZyb20geyBvcGFjaXR5OjE7IH0gdG8geyBvcGFjaXR5OjA7IH0gfVxuICAgIEBrZXlmcmFtZXMgZmFkZU91dCB7IGZyb20geyBvcGFjaXR5OjE7IH0gdG8geyBvcGFjaXR5OjA7IH0gfVxuICAgICBcbiAgICAuZmFkZS1vdXQge1xuICAgICAgdHJhbnNpdGlvbjogYWxsLCAwLjNzLCBlYXNlLW91dDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMCU7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgYW5pbWF0aW9uOmZhZGVPdXQgZWFzZS1vdXQgMTtcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOjFzO1xuICAgIH0iLCJ1bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi5kZWNpbWFsLFxuICAmLmFscGhhTG93ZXIsXG4gICYuYWxwaGFVcHBlcixcbiAgJi5yb21hbkxvd2VyLFxuICAmLnJvbWFuVXBwZXIsXG4gICYuYnVsbGV0ZWQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206LjVlbTtcblxuICAgICAgb2wsXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5idWxsZXRlZCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG4gIH1cbiAgJi5kZWNpbWFsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cbiAgJi5hbHBoYUxvd2VyIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICB9XG4gICYuYWxwaGFVcHBlciB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcbiAgfVxuICAmLnJvbWFuTG93ZXIge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG4gIH1cbiAgJi5yb21hblVwcGVyIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1xuICB9XG59XG5cbmRsIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMDtcbn1cblxuZGQge1xuICBtYXJnaW46IDA7XG59XG4iLCJmaWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmltZyxcbnBpY3R1cmUge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiIsInRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAkc21hbGwtc3BhY2luZyAwO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cblxudGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgc2hhZGUoJGJhc2UtYm9yZGVyLWNvbG9yLCAyNSUpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50ZCB7XG4gIGJvcmRlci1ib3R0b206ICRiYXNlLWJvcmRlcjtcbiAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgMDtcbn1cblxudHIsXG50ZCxcbnRoIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsImJvZHkge1xuICBjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xufVxuXG5oMSxcbi50eHQtaDEtaW50cm8ge1xuICBjb2xvcjokd2hpdGU7XG4gIGZvbnQtc2l6ZTogLyo0NnB4Ki8gMi41NTZlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgLy8gdGV4dC1zaGFkb3c6MCAwIDAgcmdiYSgkYmxhY2ssIC43KTtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xufVxuLnR4dC1oMS1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50eHQtcHJvbW8taCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuMzMzZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uaW50cm9IZWFkbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRkYXJrLWdyYXksIDUwJSk7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBmb250LXNpemU6IDQuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRleHQtc2hhZG93OiBub25lO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8PXBoYWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IDNlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUtbGcnKSB7XG4gICAgICBmb250LXNpemU6IDIuMmVtO1xuICB9XG5cbiAgLnJlc2l6ZUEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgfVxuXG4gICYuZmFxcyB7XG4gICAgLnJlc2l6ZUEge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cbiAgfVxuICAmLmNvbnRhY3RVcyxcbiAgJi5wb2xpY2llcyB7XG4gICAgbWFyZ2luOjA7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1zZWFyY2gtcmVzdWx0cyBoMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjokY29sb3ItYnJhbmQ7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xufVxuLmNvbnRhaW5lci1zZWFyY2gtcmVzdWx0cyBoMSxcbmgyIHtcbiAgZm9udC1zaXplOiAvKjM4cHgqLyAyLjExMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cbiAgJi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAvKjQ0cHgqLyAyLjQ0NGVtO1xuICB9XG4gICYucmVnIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gIH1cbn1cblxuJWgzLXNpemUsIFxuaDMge1xuICBmb250LXNpemU6IC8qMjZweCovIDEuNDQ0ZW07XG4gICYubW8taDMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICB9XG59XG5cblxuaDQge1xuICBmb250LXNpemU6IC8qMThweCovIDFlbTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IC8qMTVweCovIDAuODMzZW07XG59XG5cbmg2IHtcbiAgY29sb3I6ICRjb2xvci10eHQ7XG4gIGZvbnQtc2l6ZTogLyoxM3B4Ki8gMC43MjJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbnAge1xuICAvLyBtYXJnaW46IDAgMCAkc21hbGwtc3BhY2luZztcbn1cblxuYSB7XG4gIGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICAvLyBjb2xvcjogc2hhZGUoJGFjdGlvbi1jb2xvciwgMjUlKTtcbiAgfVxufVxuLmEtbm9ybSxcbi5hLW5vcm06dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZC1tZWQ7XG4gICAgdHJhbnNpdGlvbjogYWxsLCAwLjNzLCBlYXNlO1xufVxuXG4uYS1ub3JtOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWJyYW5kLWxpZ2h0O1xufVxuXG5cbi5hLXJlZCB7XG4gICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1tZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuXG5cblxuaHIge1xuICBib3JkZXI6IDAgbGlnaHRlbigkbGlnaHQtZ3JheSwgNSUpIHNvbGlkO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkd2hpdGU7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJGJhc2Utc3BhY2luZyAwO1xufVxuICAuaHItZm9ybSB7XG4gICAgbWFyZ2luOjQwcHggMCAuNWVtIDMxMHB4O1xuICB9XG5cblxuLndlaWdodC1yZWcge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLndlaWdodC1zZW1pIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnR4dC1zbSB7XG4gIGZvbnQtc2l6ZTowLjY2N2VtO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8PXBoYWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICB9XG59XG4udHh0LXNtLXJlbSB7XG4gIGZvbnQtc2l6ZTowLjY2N3JlbTtcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG4udHh0LW1lZC1zbSB7XG4gIGZvbnQtc2l6ZTowLjcyMmVtO1xufVxuLnR4dC1tZWQge1xuICBmb250LXNpemU6MC44MzNlbTtcbn1cbi50eHQtaDEtYWJvdXQge1xuICBjb2xvcjogJGNvbG9yLXR4dDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4udHh0LWgxLXN1Y2Nlc3Mge1xuICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICBmb250LXNpemU6IDEuM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udHh0LW1lZC1sZyB7XG4gIGZvbnQtc2l6ZToxLjExMWVtO1xufVxuLnR4dC1sZyB7XG4gIGZvbnQtc2l6ZToxLjU1NmVtO1xufVxuXG4udHh0LW5vcm1sIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi50eHQtdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG59XG4udHh0LWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udHh0LW5vLWNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTpub25lO1xufVxuLnR4dC1iZC1ibHVlIHtcbiAgY29sb3I6JGNvbG9yLWJyYW5kO1xufVxuLnR4dC1iZC1yZWQge1xuICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbn1cbi50eHQtYmQtZ3JleSB7XG4gIGNvbG9yOiAgJGNvbG9yLXR4dDtcbn1cbi50eHQtZHJrLXJlZCB7XG4gIGNvbG9yOiAkY29sb3ItYWNjZW50LWRhcms7XG59XG4udHh0LWxnaHQtYmx1ZSB7XG4gIGNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHQ7XG59XG4udHh0LWhpbGl0ZS1ibHVlIHtcbiAgY29sb3I6ICRjb2xvci1icmFuZC1saWdodGVzdDtcblxuICBzdmcge1xuICAgIGZpbGw6ICRjb2xvci1icmFuZC1saWdodGVzdDtcbiAgfVxufVxuLnR4dC1tZWQtYmx1ZSB7XG4gIGNvbG9yOiAkY29sb3ItYnJhbmQtbWVkO1xufVxuLnR4dC1ncmV5IHtcbiAgY29sb3I6ICRjb2xvci10eHQtbGdodDtcbn1cbi50eHQtZ3JlZW4ge1xuICBjb2xvcjogJGNvbG9yLXR4dC1jYWxsb3V0O1xufSIsIkBtaXhpbiBmbHVpZC10eXBlKCRwcm9wZXJ0aWVzLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbHVlLCAkbWF4LXZhbHVlKSB7XG4gIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgI3skcHJvcGVydHl9OiAkbWluLXZhbHVlO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4tdncpIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiBjYWxjKCN7JG1pbi12YWx1ZX0gKyAje3N0cmlwLXVuaXQoJG1heC12YWx1ZSAtICRtaW4tdmFsdWUpfSAqICgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICN7JHByb3BlcnR5fTogJG1heC12YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyO1xufSIsImh0bWwge1xuICAgIGhlaWdodDogMTAwJTtcbn1cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICNFNUYxRjUgdXJsKC9icm93c2VyL2ltZy9iZy1ncmFkaWVudC5wbmcpIHJlcGVhdC14O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbi8qIG1haW4gbGF5b3V0cyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb250YWluLWNvbnRlbnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDYwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDIwMG1zLCBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IDMwcHg7XG4gICAgXG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUtbGcnKSB7XG4gICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxufVxuICAgIFxuXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuXG4vKiB0eXBvZ3JhcGh5IFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDEsXG5oMixcbnAge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBcbn1cblxuaDEge1xuICAgIGNvbG9yOiAjMjMzQTc4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU3ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKGZvbnQtc2l6ZSwgMzYwcHgsIDEyMDBweCwgMjJweCwgNDJweCk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogI0M4MTIzMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCAzNjBweCwgMTIwMHB4LCAxNnB4LCAyNHB4KTtcbiAgICAgICAgfVxuICAgIFxufVxucCB7XG4gICAgY29sb3I6ICM2RDcyNzg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgQGluY2x1ZGUgZmx1aWQtdHlwZShmb250LXNpemUsIDM2MHB4LCAxMjAwcHgsIDFyZW0sIDEuMTI1cmVtKTtcblxuICAgICYudHh0LW5lZWQtcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgLy8gMjRweFxuICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKGZvbnQtc2l6ZSwgMzYwcHgsIDEyMDBweCwgMXJlbSwgMS41cmVtKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZS1sZycpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5hIHtcbiAgICBjb2xvcjogIzIzM0E3ODtcblxuICAgICYucGhvbmVMaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShmb250LXNpemUsIDM2MHB4LCAxMjAwcHgsIDMycHgsIDQycHgpO1xuICAgIH1cbiAgICAuYmNUZXh0ICYge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiNjaGF0LWJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbn1cbi5jb250YWN0TGlua3Mge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gZGlzcGxheTogZ3JpZDtcbiAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IG1pbi1jb250ZW50O1xuICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgLy8gZ2FwOiAxMHB4O1xufVxuLnRkZnMtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEyMHB4O1xufVxuYnV0dG9uLFxuLmNvbnRhaW5DaGF0QnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMzN0MwRjY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbi1jb250ZW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IC41ZW0gMWVtO1xuICAgIGdhcDogMTBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzBBOUQ5O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxufVxuXG4uc3ZnSWNvbiB7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgd2lkdGg6IDJlbTtcbn1cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBdURBQSxBQUFBLE1BQU0sRUFBQyxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsR0FBZSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosR0FBYyxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBdkIsQ0FDZCxnQkFBZ0IsQ0RzQlgsT0FBTyxDQ3JCWixNQUFNLENBQUUsQ0FBQyxDQUNULGFBQWEsQ0RjTSxHQUFHLENDYnRC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 */
