@import url(https://fonts.googleapis.com/css?family=Lato:300,400,700);@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700);html{overflow-y:scroll;-webkit-overflow-scrolling:touch}@media (min-width:56.25em){html{overflow-x:hidden}}body{background:url(http://spirit.com/images/spiritway/home_background.png) no-repeat 50% 0 #f2f2e9;font-family:Lato,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;position:relative}ul{list-style-type:none}.button.button-primary{color:#fff;border:none;border-radius:0;margin:0;width:150px;width:15rem}.button.button-primary:focus{background-color:#f4031d}.wrapper{background:#fff;position:relative}@media (min-width:46.875em){.wrapper{max-width:960px;margin:0 auto}}.wrapper-fixed{top:96px;top:9.6rem}@media (min-width:25em){.wrapper-fixed{top:102px;top:10.2rem}}@media (min-width:34.375em){.wrapper-fixed{top:60px;top:6rem}}.wrapper-fixed{position:absolute;z-index:3;background:#fff;width:100%}.header{top:0;max-width:960px;z-index:5;padding:20px 20px 10px;padding:2rem 2rem 1rem;background-color:#fff32a;background-image:-webkit-linear-gradient(bottom,#fff32a,#fff32a);background-image:-webkit-linear-gradient(top,#fff32a left,#fff32a bottom);background-image:linear-gradient(180deg,#fff32a 0,#fff32a);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff32a",endColorstr="#fff32a",GradientType=0);z-index:2;border-bottom:5px solid #000}.logo{text-align:center}@media (min-width:34.375em){.logo{text-align:left}}div.custom-cart.column{text-align:center}@media (min-width:34.375em){div.custom-cart.column{text-align:right}}.bag-icon{background:url(/common/cap-responsive/assets/images/spirit/bag-icon.png) no-repeat;width:40px;height:46px;margin-right:20px;margin-right:2rem;vertical-align:bottom;display:inline-block;text-align:center;color:#fff;font-weight:700;line-height:4em}.button-checkout.button{background-color:#fc2e44;background-image:-webkit-linear-gradient(bottom,#fc2e44,#fc2e44);background-image:-webkit-linear-gradient(top,#fc2e44 left,#fc2e44 bottom);background-image:linear-gradient(180deg,#fc2e44 0,#fc2e44);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fc2e44",endColorstr="#fc2e44",GradientType=0);width:140px;width:14rem;font-size:14px;font-size:1.4rem;font-weight:700;border:none}.button-checkout.button:hover{background:#f4031d}.button-cancel.button{background-color:#ececec;background-image:-webkit-linear-gradient(bottom,#ececec,#d2d2d2);background-image:-webkit-linear-gradient(top,#ececec left,#d2d2d2 bottom);background-image:linear-gradient(180deg,#ececec 0,#d2d2d2);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ECECEC",endColorstr="#D2D2D2",GradientType=0);border:none;background:#000;color:#fff}.button-cancel.button:hover{color:#fff;background:#b9b9b9}.button-checkout-large.button{width:auto;font-size:18px;font-size:1.8rem;line-height:50px;line-height:5rem;height:auto}@media (min-width:25em){.container.main{width:90%}}.nowrap{white-space:nowrap}.search{vertical-align:middle;margin-left:5%}@media (min-width:34.375em){.search{display:none}}.search-field{display:none}.search-field input{margin:10px 0 0;margin:1rem 0 0;width:100%}.search-field input::-webkit-input-placeholder{text-transform:capitalize}.search-field input::-moz-placeholder{text-transform:capitalize}.search-field input:-ms-input-placeholder,.search-field input::-ms-input-placeholder{text-transform:capitalize}.search-field input::placeholder{text-transform:capitalize}@media (max-width:34.375em){.search-field input::-webkit-input-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.search-field input::-moz-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.search-field input:-ms-input-placeholder,.search-field input::-ms-input-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.search-field input::placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.search-field input:focus::-webkit-input-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.search-field input:focus::-moz-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.search-field input:focus:-ms-input-placeholder,.search-field input:focus::-ms-input-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.search-field input:focus::placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.search-field input.hideLabel::-webkit-input-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.search-field input.hideLabel::-moz-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.search-field input.hideLabel:-ms-input-placeholder,.search-field input.hideLabel::-ms-input-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.search-field input.hideLabel::placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}}.search-field .search-field-results-container{background:#fff;display:none}.search-field .search-field-results-container .search-field-results{margin:0}.search-field .search-field-results-container .search-field-results li a{padding:2% 5%;display:block}.search-field .search-field-results-container .search-field-results li a:hover{background-color:#f2f2f2}.search-field .search-field-results-container .search-field-results li.not-found{color:#999;text-align:center}.client-case{text-transform:capitalize;font-weight:600}.client-case-value{text-transform:lowercase}.client-case-action,.client-case-button{text-transform:uppercase}.row.title-bar{padding:.8rem;background:#000}.button-checkout.button.united-rt-checkout{width:9rem;padding:0 10px}@media (min-width:56.25em){.button-checkout.button.united-rt-checkout{width:14rem;padding:0 30px}}.realtime-bag-icon{margin-right:.5rem}.footer{font-family:HelveticaNeue,Helvetica,Arial,sans-serif;background:#000;font-size:12px;font-size:1.2rem;padding-top:20px;padding-top:2rem;text-align:center;position:absolute;z-index:4;color:#fff;margin-top:35px;margin-top:3.5rem}.footer .caPrivacyBr{display:block}@media (min-width:34.375em){.footer .caPrivacyBr{display:none}}.footer a{color:#fff;text-decoration:none}.footer p{margin-top:10px;margin-top:1rem}.footer:before{content:"";background:url(https://spirit.com/images/spiritway/footer_line.png) repeat-x 0 0 transparent;padding-bottom:4px;padding-bottom:.4rem;position:absolute;top:-4px;right:0;width:100%}@media (min-width:56.25em){.footer{width:200%;left:-50%}}.header{position:fixed;min-height:121px;border-bottom:none}@media (min-width:34.375em){.header{min-height:85px;min-height:8.5rem}}.subhead{z-index:2;max-width:960px}.headline{font-family:Source Sans Pro,sans-serif;font-weight:700;font-size:25px;font-size:2.5rem;color:#000;line-height:1.2em;text-align:center;padding:10px 0;padding:1rem 0}@media (min-width:34.375em){.headline{font-size:40px;font-size:4rem}}@media (min-width:46.875em){.headline{font-size:50px;font-size:5rem;text-align:left;padding-left:40px;padding-left:4rem}}.headline .clientSpecificColor{color:#fc2e44}.subheadline{font-family:Source Sans Pro,sans-serif;font-size:16px;font-size:1.6rem;color:#fff;background:#000;text-align:center;padding:10px;padding:1rem}@media (min-width:34.375em){.subheadline{font-size:18px;font-size:1.8rem}}@media (min-width:46.875em){.subheadline{font-size:24px;font-size:2.4rem;text-align:left;padding-left:40px;padding-left:4rem}}.mobileHidden{display:none}@media (min-width:46.875em){.mobileHidden{display:block}}.subhead{min-height:112px;min-height:11.2rem;top:120px;top:12rem}@media (min-width:34.375em){.subhead{top:80px;top:8rem;padding-bottom:20px;padding-bottom:2rem}}.headline-miles{text-align:center}@media (min-width:46.875em){.headline-miles{text-align:right}}.checkout-form label{display:none;text-transform:capitalize}@media (min-width:34.375em){.checkout-form label{display:block;float:left;text-align:left;width:100%;font-weight:700;line-height:1em;font-size:12px;font-size:1.2rem;margin-right:5px;margin-right:.5rem}}@media (min-width:46.875em){.checkout-form label{text-align:right;width:24%;line-height:3.4em}}.checkout-form input{width:100%;border:1px solid #d2d9dc;font-size:14px;font-size:1.4rem;border-radius:2px;-o-box-shadow:inset 0 0 8px 2px #f4f4f4;-ms-box-shadow:inset 0 0 8px 2px #f4f4f4;box-shadow:inset 0 0 8px 2px #f4f4f4}@media (min-width:34.375em){.checkout-form input{width:95%;font-size:12px;font-size:1.2rem}}@media (min-width:46.875em){.checkout-form input{width:72%;font-size:14px;font-size:1.4rem}}.checkout-form input::-webkit-input-placeholder{text-transform:capitalize}.checkout-form input::-moz-placeholder{text-transform:capitalize}.checkout-form input:-ms-input-placeholder,.checkout-form input::-ms-input-placeholder{text-transform:capitalize}.checkout-form input::placeholder{text-transform:capitalize}@media (max-width:34.375em){.checkout-form input::-webkit-input-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.checkout-form input::-moz-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.checkout-form input:-ms-input-placeholder,.checkout-form input::-ms-input-placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.checkout-form input::placeholder{text-align:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.checkout-form input:focus::-webkit-input-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.checkout-form input:focus::-moz-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.checkout-form input:focus:-ms-input-placeholder,.checkout-form input:focus::-ms-input-placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.checkout-form input:focus::placeholder{color:#10aee0;-webkit-transform:translateY(-.85em);transform:translateY(-.85em);visibility:visible!important}.checkout-form input.hideLabel::-webkit-input-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.checkout-form input.hideLabel::-moz-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.checkout-form input.hideLabel:-ms-input-placeholder,.checkout-form input.hideLabel::-ms-input-placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}.checkout-form input.hideLabel::placeholder{opacity:0;-webkit-transition:all 4s ease-in-out;transition:all 4s ease-in-out}}.checkout-form input.error{background:url(/common/cap-responsive/assets/images/error.png) #fff no-repeat 96%;border:1px solid #c00}.checkout-form div.error{display:none;color:#c00;font-size:13px;font-size:1.3rem;margin:-15px 0 15px;margin:-1.5rem 0 1.5rem;width:97%}@media (min-width:34.375em){.checkout-form div.error{line-height:1em}}@media (min-width:46.875em){.checkout-form div.error{text-align:right;padding-top:3px;padding-top:.3rem}}.checkout-form br.u-cf{height:10px;height:1rem}.account-information{margin:10px 0 20px;margin:1rem 0 2rem}.account-information h3{font-size:14px;font-size:1.4rem;font-weight:700;margin-bottom:10px;margin-bottom:1rem}@media (min-width:34.375em){.account-information label{display:none}}@media (min-width:46.875em){.account-information label{display:block}}.overlay{display:none;width:100%;height:100%;background:#333;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;z-index:5;position:fixed;left:0;top:0}.modal-fixed{display:none;position:absolute;z-index:6;left:20%;top:-120px;top:-12rem}@media (min-width:34.375em){.modal-fixed{top:-90px;top:-9rem}}.modal{position:fixed;width:90%;left:4%;top:20%;background:#fff;border:4px solid #e5e6e6;border-radius:5px;text-align:center;min-width:285px}@media (min-width:34.375em){.modal{left:5%;width:80%}}@media (min-width:46.875em){.modal{left:0;margin:auto;right:0}}.modal .close-button{position:absolute;right:-15px;top:-20px}.modal h4{margin:5px 0;margin:.5rem 0}.modal .modal-img{padding-bottom:10px;padding-bottom:1rem;width:30%;margin:0 auto;display:none}@media (min-width:34.375em){.modal .modal-img{float:left;display:block}}.modal .modal-img img{width:80%}.modal p{font-size:14px;font-size:1.4rem;padding:0 20px;padding:0 2rem;margin-bottom:10px;margin-bottom:1rem;text-align:left}.modal .copy{font-size:11px;font-size:1.1rem}@media (min-width:34.375em){.modal .copy{float:left;width:58%;font-size:12px;font-size:1.2rem}}.modal .checkout-form{width:90%;text-align:left;margin:0 auto}@media (min-width:34.375em){.modal .checkout-form{width:75%}}.modal .checkout-form .selectBox{float:none;width:100%;margin-bottom:15px;margin-bottom:1.5rem}.modal .checkout-form input{width:100%}.modal .checkout-form .button{font-size:14px;font-size:1.4rem}.modal .checkout-form .button-primary{width:auto;padding:0 20px;padding:0 2rem}.modal .address-header{padding:10px 0 0;padding:1rem 0 0;width:80%;margin:0 auto}@media (min-width:34.375em){.modal .address-header{padding:20px 0 0;padding:2rem 0 0}}.modal-address .checkout-form{width:90%;text-align:left;margin:0 auto}@media (min-width:34.375em){.modal-address .checkout-form{width:80%}}.modal-address .checkout-form label{display:none}.modal-address .checkout-form .button-primary{padding:0 15px;padding:0 1.5rem}.modal-address .address-header{padding:10px 0 0;padding:1rem 0 0;margin:0 auto;text-align:center}@media (min-width:34.375em){.modal-address .address-header{padding:20px 0 0;padding:2rem 0 0}}.error-box .modal{border:2px solid #f1570c}.error-box .modal .close-button img{-webkit-filter:hue-rotate(140deg)}.error-box .modal .copy{float:none;font-weight:700;width:85%;font-size:16px;font-size:1.6rem;padding:20px 0 10px;padding:2rem 0 1rem;color:#f1570c;text-align:center;margin:0 auto}@media (min-width:25em){.error-box .modal .copy{font-size:18px;font-size:1.8rem;width:90%}}@media (min-width:34.375em){.error-box .modal .copy{width:65%}}.error-box .modal a.button{width:55%}@media (min-width:25em){.error-box .modal a.button{width:25%}}.united-error .modal h5{padding:20px 20px 0;padding:2rem 2rem 0}.united-error .modal .copy{float:none;text-align:center;width:93%;font-size:16px;font-size:1.6rem}.united-error .modal .copy a.button{min-width:25%}.subscriber p.copy{float:none;width:85%;text-align:center;margin:0 auto;font-size:18px;font-size:1.8rem;padding:10px 0 20px;padding:1rem 0 2rem}@media (min-width:34.375em){.subscriber p.copy{width:75%}}.subscriber .subscriber-box{width:70%;margin:0 auto}@media (min-width:34.375em){.subscriber .subscriber-box{width:50%}}.close-button{color:#fff;border:3px solid #fff;font-size:20px;text-align:center;display:inline-block;line-height:11px;padding:11px 3px;width:28px;height:12px;font-family:veranda,sans-serif;border-radius:50%;background:#000}.modal{max-width:495px}div.row ul.magazines.columns{margin-top:5px;margin-top:.5rem}div.row ul.magazines.columns li:nth-child(2n){margin-left:8%}@media (min-width:34.375em){div.row ul.magazines.columns li:nth-child(2n){margin-left:4%}div.row ul.magazines.columns li:nth-child(3n+4){margin-left:0}}@media (min-width:46.875em){div.row ul.magazines.columns li:nth-child(3n+4),div.row ul.magazines.columns li:nth-child(4n){margin-left:4%}div.row ul.magazines.columns li:nth-child(4n+5){margin-left:0}}@media (min-width:56.25em){div.row ul.magazines.columns li:nth-child(4n+5){margin-left:4%}div.row ul.magazines.columns li:nth-child(5n+1){margin-left:0}}.one-fifth.column{width:46%}@media (min-width:25em){.one-fifth.column{min-height:225px;min-height:22.5rem}}@media (min-width:34.375em){.one-fifth.column{width:30%;min-height:215px;min-height:21.5rem}}@media (min-width:46.875em){.one-fifth.column{width:22%}}@media (min-width:56.25em){.one-fifth.column{width:16%}}.custom-mags{text-align:center;margin-bottom:10px;margin-bottom:1rem;float:none;display:inline-block;vertical-align:top}.mag-shadow{text-align:center;position:relative;overflow:hidden;height:120px;height:12rem;z-index:1;max-width:195px;max-width:19.5rem;margin:0 auto}.mag-shadow>img{width:100%;position:absolute;left:0;bottom:0}.mag-cover{margin-top:15px;position:relative;z-index:2}.mag-cover img{width:84%;border:4px solid #ccc}.mag-cover img.digital{border:4px solid #000;border-radius:4px}.mag-cover img.noborder{border:none}@media (min-width:34.375em){.mag-cover:hover{margin-top:0;cursor:pointer}}.mag-combo img{width:90%}.mag-border{line-height:18px;line-height:1.8rem;padding-bottom:5px;padding-bottom:.5rem;font-size:12px;font-size:1.2rem;color:#5d5c5c}@media (min-width:46.875em){.mag-border{font-size:11px;font-size:1.1rem}}.mag-border .mag-border-img{height:1px}.mag-border .mag-border-img img{vertical-align:top}.mag-border .combo-issues,.mag-border a.digital-link{font-size:11px;font-size:1.1rem}.mag-border a.digital-link{text-decoration:underline;font-weight:400}a.product-name{font-family:Lato,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;color:#00234d;text-decoration:none;font-weight:700;font-size:12px;font-size:1.2rem}.mag-issues{color:#333;font-weight:700;white-space:nowrap;font-size:11px;font-size:1.1rem;text-transform:lowercase;font-size:10px;font-size:1rem}.button-cart.button{text-transform:uppercase;background-color:#000;background-image:-webkit-linear-gradient(bottom,#000,#000);background-image:-webkit-linear-gradient(top,#000 left,#000 bottom);background-image:linear-gradient(180deg,#000 0,#000);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000",endColorstr="#000",GradientType=0);color:#fff;width:95%;padding:0;height:40px;height:4rem;font-size:12px;font-size:1.2rem;line-height:37px;line-height:3.7rem;font-weight:600}@media (min-width:34.375em){.button-cart.button{max-width:110px;max-width:11rem;height:auto;line-height:28px;line-height:2.8rem}}.button-cart.button:hover{background:#000}.button-selected.button-cart.button{background-color:#fff32a;background-image:-webkit-linear-gradient(bottom,#fff32a,#fff32a);background-image:-webkit-linear-gradient(top,#fff32a left,#fff32a bottom);background-image:linear-gradient(180deg,#fff32a 0,#fff32a);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff32a",endColorstr="#fff32a",GradientType=0);color:#000;border:0}.color-text{color:#8b8888}.mobile-arrow{position:fixed;right:5px;right:.5rem;bottom:50px;bottom:5rem;z-index:5;display:none}.mobile-arrow-show{display:block}@media (min-width:46.875em){.mobile-arrow-show{display:none}}.offer-by-br{display:block}@media (min-width:46.875em){.offer-by-br{display:none}}.offer-by-br-second{display:block}@media (min-width:46.875em){.offer-by-br-second{display:none}}.copy-holder{margin-bottom:0}@media (min-width:34.375em){.copy-holder{margin-bottom:60px;margin-bottom:6rem}}.checkout{text-align:center}.checkout.copy p{font-size:12px;font-size:1.2rem;width:216px;width:21.6rem;margin:2rem auto}@media (min-width:34.375em){.checkout.copy p{width:100%}}.capitalize-text{text-transform:lowercase}.headline sup{top:-10px;top:-1rem;font-size:43%}@media (min-width:34.375em){.headline sup{top:-20px;top:-2rem}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3ZhcmlhYmxlcy9fY2FwLWNsaWVudHMuc2NzcyIsIi4uLy4uL2luY2x1ZGVzL19oZWFkZXIuc2NzcyIsIi4uLy4uL3ZhcmlhYmxlcy9fYmFzZS5zY3NzIiwiLi4vLi4vZXh0X2xpYnJhcmllcy9fcmVtLnNjc3MiLCIuLi8uLi9wYWdlcy9faW5kZXguc2NzcyIsIi4uLy4uL2luY2x1ZGVzL19zZWFyY2guc2NzcyIsIi4uLy4uL2luY2x1ZGVzL19mb3JtLXBsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9pbmNsdWRlcy9fZm9vdGVyLnNjc3MiLCIuLi8uLi9pbmNsdWRlcy9fc3ViaGVhZC5zY3NzIiwiLi4vLi4vaW5jbHVkZXMvX2Zvcm0uc2NzcyIsIi4uLy4uL2luY2x1ZGVzL19tb2RhbC5zY3NzIiwiLi4vLi4vaW5jbHVkZXMvX21hZ2F6aW5lLnNjc3MiLCIuLi8uLi9pbmNsdWRlcy9fbW9iaWxlLWFycm93LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsc0VBQVksQUF1R1gsNkVBQVksQUN6R2IsS0FDSSxrQkFBa0IsQUFDbEIsZ0NBQWtDLENBTXJDLEFBSkMsMkJBSkYsS0FLTSxpQkFBbUIsQ0FHeEIsQ0FBQSxBQUNELEtBQ0ksK0ZEaUdzRyxBQ2hHdEcseUZERmtHLEFDR2xHLGlCQUFtQixDQUN0QixBQUNELEdBQUcsb0JBQXFCLENBQUcsQUFDM0IsdUJBSUssV0RTeUIsQUNQMUIsWUFBWSxBQ0ZKLGdCRnlHYyxBQ3JHekIsU0FBUyxBRTBHUixZQXZCb0MsQUEyQnJDLFdBOURlLENGM0NmLEFBYkQsNkJBV1Esd0JBQXVCLENBQzFCLEFBRUwsU0FDSSxnQkFBZ0IsQUFDaEIsaUJBQWtCLENBT3JCLEFBTkcsNEJBSEosU0FLTSxnQkMzQlcsQUQ2QlQsYUFBYyxDQUVyQixDQUFBLEFBV0QsZUVnRkUsU0F2Qm9DLEFBMkJyQyxVQTlEZSxDRnNCZixBQVJFLHdCQXBDSCxlRWdGRSxVQXZCb0MsQUEyQnJDLFdBOURlLENGc0JmLENBQUEsQUFKQyw0QkF4Q0YsZUVnRkUsU0F2Qm9DLEFBMkJyQyxRQTlEZSxDRnNCZixDQUFBLEFBQ0QsZUFFSSxrQkFBa0IsQUFDbEIsVUFBVSxBQUNWLGdCQUFnQixBQUNoQixVQUFXLENBQ2QsQUdyRkQsUUh3RkMsTUFBTSxBQUNOLGdCQ2pHZ0IsQURrR2hCLFVBQVUsQUV3QlQsdUJBdkJvQyxBQTJCckMsdUJBOURlLEFEckNaLHlCRjZFaUIsQUV2RlQsaUVBQVcsQUFnQnJCLDBFQUF5QyxBQVNsQywyREFBaUMsQUFLckMsZ0hBQStILEFEc0VoSSxVQUFXLEFBQ1osNEJBQThCLENBd0NoQyxBQWFELE1BdUJFLGlCQUFtQixDQVVwQixBQVRDLDRCQXhCRixNQXlCRyxlQUFpQixDQVFuQixDQUFBLEFBQ0QsdUJBQ0ksaUJBQWtCLENBZXJCLEFBSkksNEJBWkwsdUJBYVMsZ0JBQWlCLENBR3pCLENBQUEsQUFDRCxVQUNDLG1GQUE4RCxBQUsxRCxXQUFXLEFBQ1gsWUFBWSxBRTNHZixrQkF2Qm9DLEFBMkJyQyxrQkE5RGUsQUZ3S1osc0JBQXNCLEFBQ3RCLHFCQUFxQixBQUNyQixrQkFBa0IsQUFDbEIsV0R0TjBCLEFDd04xQixnQkFBZ0IsQUFTbEIsZUFBZ0IsQ0FFakIsQUFDRCx3QkM5TkkseUJGZ0ZpQixBRTFGVCxpRUFBVyxBQWdCckIsMEVBQXlDLEFBU2xDLDJEQUFpQyxBQUtyQyxnSEFBK0gsQUMyRWxJLFlBdkJvQyxBQTJCckMsWUE5RGUsQUEwRGQsZUF2Qm9DLEFBMkJyQyxpQkE5RGUsQUY2TFosZ0JBQWdCLEFBSWhCLFdEalBnQixDQ3FQbkIsQUFaRCw4QkFNUSxrQkFBaUIsQ0FDcEIsQUFNTCxzQkMzT0kseUJENE95QixBQ3RQakIsaUVBQVcsQUFnQnJCLDBFQUF5QyxBQVNsQywyREFBaUMsQUFLckMsZ0hBQStILEFENk5oSSxZQUFZLEFBRWQsZ0JBQWlCLEFBQ2QsVUFBWSxDQU9oQixBQWhCRCw0QkFHUSxXQUFZLEFBQ1osa0JBQWlCLENBQ3BCLEFBWUwsOEJFekpDLFdGMEo2QixBRTlKNUIsZUF2Qm9DLEFBMkJyQyxpQkE5RGUsQUEwRGQsaUJBdkJvQyxBQTJCckMsaUJBOURlLEFBOERmLFdGNko4QixDQUM5QixBQUVHLHdCQURKLGdCRS9KQyxTRmlLZ0MsQ0FFaEMsQ0FBQSxBQUNELFFBQ0Msa0JBQW9CLENBQ3BCLEFJM1NELFFBQ0Msc0JBQXVCLEFBQ3ZCLGNBQWdCLENBSWhCLEFBSEEsNEJBSEQsUUFJRSxZQUFhLENBRWQsQ0FBQSxBQUNELGNBQ0MsWUFBYSxDQTJCYixBQTVCRCxvQkYwSEUsZ0JFdEgrQixBRjBIaEMsZ0JFMUhnQyxBQUMvQixVQUFXLENBQ1gsQUFORiwrQ0NtQkcseUJBQTJCLENBdEI1QixBREdGLHNDQ21CRyx5QkFBMkIsQ0FuQjVCLEFEQUYscUZDbUJHLHlCQUEyQixDQWI1QixBRE5GLGlDQ21CRyx5QkFBMkIsQ0FWNUIsQUFrQkYsNEJEM0JBLCtDQzZCRSxrQkFBa0IsQUpqQlIsdUNJa0I2QyxBSmxCN0MsOEJJa0I2QyxDQWpDdkQsQURHRixzQ0M2QkUsa0JBQWtCLEFKakJSLHVDSWtCNkMsQUpsQjdDLDhCSWtCNkMsQ0E5QnZELEFEQUYscUZDNkJFLGtCQUFrQixBSmpCUix1Q0lrQjZDLEFKbEI3Qyw4QklrQjZDLENBeEJ2RCxBRE5GLGlDQzZCRSxrQkFBa0IsQUpqQlIsdUNJa0I2QyxBSmxCN0MsOEJJa0I2QyxDQXJCdkQsQURURixxRENvQ0csY0FBYSxBSnhCSixxQ0l5Qm1DLEFKekJuQyw2Qkl5Qm1DLEFBQzVDLDRCQUErQixDQXpDaEMsQURHRiw0Q0NvQ0csY0FBYSxBSnhCSixxQ0l5Qm1DLEFKekJuQyw2Qkl5Qm1DLEFBQzVDLDRCQUErQixDQXRDaEMsQURBRixpR0NvQ0csY0FBYSxBSnhCSixxQ0l5Qm1DLEFKekJuQyw2Qkl5Qm1DLEFBQzVDLDRCQUErQixDQWhDaEMsQURORix1Q0NvQ0csY0FBYSxBSnhCSixxQ0l5Qm1DLEFKekJuQyw2Qkl5Qm1DLEFBQzVDLDRCQUErQixDQTdCaEMsQURURix5REM4Q0csVUFBVyxBSmxDRixzQ0ltQzRDLEFKbkM1Qyw2Qklt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QUNELG1CQUNDLGFBQWMsQ0FJZCxBQUhBLDRCQUZELG1CQUdFLFlBQWEsQ0FFZCxDQUFBLEFSa0xELGFBQ0MsYUFBZSxDQUlmLEFBSEEsNEJBRkQsYUFHRSxZQUFjLENBRWYsQ0FBQSxBQUNELG9CQUNJLGFBQWUsQ0FJbEIsQUFIRyw0QkFGSixvQkFHUSxZQUFjLENBRXJCLENBQUEsQUFTRCxhQUNDLGVBQWlCLENBZ0JqQixBQUpDLDRCQWJGLGFEakZFLG1CQXZCb0MsQUEyQnJDLGtCQTlEZSxDQzRKZixDQUFBLEFBQ0QsVUFDSSxpQkFBa0IsQ0FTckIsQUFDRCxpQkQ5R0UsZUF2Qm9DLEFBMkJyQyxpQkE5RGUsQUEwRGQsWUF2Qm9DLEFBMkJyQyxjQTlEZSxBQThEZixnQkM4R3VDLENBSW5DLEFBSEcsNEJBTFIsaUJBTVksVUFBVyxDQUVsQixDQUFBLEFBV0wsaUJBUUUsd0JKN0oyQixDSStKNUIsQUFDRCxjRDVJRSxVQXZCb0MsQUEyQnJDLFVBOURlLEFDd01mLGFBQWUsQ0F5QmYsQUFmQSw0QkFaRCxjRDVJRSxVQXZCb0MsQUEyQnJDLFNBOURlLENDaU9mLENBQUEiLCJmaWxlIjoiaW5kZXguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9mb250IGltcG9ydHNcclxuLy9pT1MgZG9lcyBub3Qgc3VwcG9ydCB3b2ZmMiBmb3JtYXQuIEtlZXAgaW4gd29mZiAtLSB0byBnZXQgd29mZiBsaW5rcywgeW91IG5lZWQgdG8gYWNjZXNzIGdvb2dsZSBmb250cyBmcm9tIGEgYnJvd3NlciB0aGF0IGRvZXMgbm90IHN1cHBvcnQgd29mZjIuXHJcbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MYXRvOjMwMCw0MDAsNzAwKTtcclxuLy9HbG9iYWwgdmFyc1xyXG4kY2xpZW50Q2FzZUJ1dHRvbjogdXBwZXJjYXNlOyAvL0ZvciBBZGR0b0JhZyBidXR0b24gZm9yIHNwZWNpZmljIGNsaWVudHNcclxuJGNsaWVudENhc2U6IGNhcGl0YWxpemU7IC8vRm9yIGZvcm0gZmllbGRzL2J1dHRvbnMgdGhhdCBhcmUgc3BlY2lmaWMgZm9yIGEgY2xpZW50XHJcbiRjbGllbnRDYXNlVmFsdWU6IGNhcGl0YWxpemU7IC8vRm9yIG1pbGVzL3BvaW50cyB2YWx1ZSB1bmRlcm5lYXRoIG1hZ2F6aW5lIHRpdGxlXHJcbiRjbGllbnRDYXNlQWN0aW9uIDogdXBwZXJjYXNlOyAvL2ZvciBtYWluIGFjdGlvbiBidXR0b25zXHJcbiRib2R5QmFja2dyb3VuZCA6IHRyYW5zcGFyZW50OyAvL3RoZSBiYWNrZ3JvdW5kIGZvciBhIHBhZ2UsIGNhbiBiZSBhIGNvbG9yIG9yIGltYWdlXHJcbiRib2R5Rm9udCA6IFwiTGF0b1wiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiTHVjaWRhIFNhbnNcIiwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xyXG4kY2xpZW50Rm9udCA6ICcnOyAvL01haW5seSB1c2VkIGluIGhlYWRlci4gVGhpcyBmb250IGlzIHNwZWNpZmljIHRvIGEgY2xpZW50XHJcbiRjbGllbnRDb2xvciA6ICcnOyAvL3VzZWQgZm9yIGhlYWRlciBmb250IGNvbG9yIHNwZWNpZmljIHRvIGNsaWVudCBjb2xvclxyXG4kaXNzdWVzQ29sb3IgOiAjMzMzOyAvL21hZ2F6aW5lIGlzc3VlcyAoaW5kZXgsIGNoZWNrb3V0LCBzcGVjaWFsIG9mZmVyKVxyXG4kYmFja2dyb3VuZENDIDogI2VlZjRmYTsgLy9iYWNrZ3JvdW5kIGNyZWRpdCBjYXJkIGJveFxyXG4kbm90aGFua3NDb2xvciA6ICM5OTk7XHJcbiRoZWFkZXJCYWNrZ3JvdW5kIDogKFxyXG5cdHN0YXJ0Q29sb3I6ICNmZmZcclxuKTsgLy9UaGUgYmFja2dyb3VuZCBmb3IgdGhlIGhlYWRlciBiYXIuIENhbiBiZSBzb2xpZCBvciBncmFkaWVudFxyXG4kZm9udENvbG9yIDogIzAwMDsgLy9tYWluIGZvbnQgY29sb3JcclxuJGxpbmtDb2xvciA6ICMwMDIzNGQ7IC8vYWxsIGxpbmtzIGV4Y2VwdCBmb290ZXJcclxuJGxpbmtGb250IDogJGJvZHlGb250OyAvL2ZvbnQgc3R5bGUgZm9yIGxpbmtzIG9uIHBhZ2VcclxuJGltZ0JvcmRlckNvbG9yIDogI2NjYzsgLy9tYWdhemluZSBib3JkZXJzXHJcbiRib3JkZXJDb2xvciA6ICNiNWM0Y2M7IC8vbWFnYXppbmUgY2FydCBib3R0b20gYm9yZGVyIGFuZCBjcmVkaXQgY2FyZCBib3hcclxuJGJ1dHRvbkJvcmRlciA6IG5vbmU7XHJcbiRidXR0b25Gb250Q29sb3IgOiAnJzsgLy9tYWluIGJ1dHRvbiBmb250IGNvbG9yXHJcbiRkaWdpdGFsQ29sb3IgOiAjNWQ1YzVjOyAvL2RpZ2l0YWwgYWN0aXZhdGlvbiBmb250IGNvbG9yXHJcbiRjbGllbnRTcGVjaWZpY1RleHRDb2xvciA6ICcnOyAvL2NsaWVudCBmb250IGNvbG9yIG9uIGEgcGFnZSAoaGlnaGxpZ2h0ZWQgd29yZHMgaW4gaGVhZGVyKVxyXG4kYnV0dG9uQm9yZGVyUmFkaXVzIDogM3B4O1xyXG4kYnV0dG9uUHJpbWFyeUZvbnRDb2xvciA6ICNmZmY7IC8vTWFpbiBidXR0b24gY29sb3JcclxuJGJ1dHRvbkNvbG9yIDogKFxyXG5cdHN0YXJ0Q29sb3IgOiAnJ1xyXG4pOyAvL21haW4gYnV0dG9uIGJhY2tncm91bmQgY29sb3IuXHJcbiRidXR0b25TZWNvbmRhcnlGb250Q29sb3IgOiAkYnV0dG9uUHJpbWFyeUZvbnRDb2xvcjsgLy9BZGQgdG8gY2FydCBidXR0b25cclxuJGJ1dHRvblNlY29uZGFyeUZvbnRDb2xvclNlbGVjdGVkOiAkYnV0dG9uUHJpbWFyeUZvbnRDb2xvcjsgLy9BZGQgdG8gY2FydCBidXR0b24gd2hlbiBzZWxlY3RlZFxyXG4kYWRkVG9CYWdCdXR0b25Db2xvciA6IChcclxuXHRzdGFydENvbG9yOiAnJ1xyXG4pOyAvL0FkZCB0byBjYXJ0IGJhY2tncm91bmQgY29sb3JcclxuJGFkZFRvQmFnQnV0dG9uQ29sb3JTZWxlY3RlZCA6IChcclxuXHRzdGFydENvbG9yOiAjN0Q3RDdELFxyXG5cdGVuZENvbG9yOiAjRDhEOEQ4XHJcbik7IC8vQWRkIHRvIGNhcnQgYmFja2dyb3VuZCBjb2xvciB3aGVuIHNlbGVjdGVkXHJcblxyXG4kZm9vdGVyQmFja2dyb3VuZENvbG9yIDogJGJvZHlCYWNrZ3JvdW5kOyAvL3RoZSBiYWNrZ3JvdW5kIGNvbG9yIGluIHRoZSBmb290ZXIgc2VjdGlvblxyXG4kZm9vdGVyRm9udENvbG9yIDogIzMzMzsgLy9UaGUgY29sb3IgaW4gdGhlIGZvb3RlciAoYm90aCBsaW5rcyBhbmQgZm9udClcclxuLy9GQk0gU0VDVElPTlxyXG4kZmJtQmFubmVyQmFja2dyb3VuZCA6ICMxMzY2YTI7XHJcbiRmYm1Gb250IDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuJGZibUdpdmVhd2F5Q29sb3IgOiAjNzNhMjExO1xyXG4kZmJtRm9vdGVyQmFja2dyb3VuZCA6ICNlOGU4ZTg7XHJcblxyXG5AaWYgJGNsaWVudCA9PSAnZnJvbnRpZXInIG9yICRjbGllbnQgPT0gJ2hhd2FpaWFuJ3tcclxuXHQkY2xpZW50Q29sb3IgOiAjMDY0MDdhO1xyXG5cdCRib2R5QmFja2dyb3VuZCA6ICNlYmViZWI7XHJcblx0JGJ1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogI2ZkMGQxYlxyXG5cdCk7XHJcblx0JGFkZFRvQmFnQnV0dG9uQ29sb3IgOiAoXHJcblx0XHRzdGFydENvbG9yOiAjMWI3NWJjXHJcblx0KTtcclxufUBlbHNlIGlmICRjbGllbnQgPT0gJ2FsYXNrYSd7XHJcblx0JGxpbmtDb2xvcjogIzAxNDI2YTtcclxuXHQkYm9keUJhY2tncm91bmQ6ICNmZmY7XHJcblx0JGJ1dHRvblByaW1hcnlGb250Q29sb3I6ICMyNzc0YWU7XHJcblx0JGJ1dHRvbkJvcmRlclJhZGl1cyA6IDBweDtcclxuXHQkY2xpZW50Q2FzZTogbm9uZTtcclxuXHQkY2xpZW50Q2FzZUJ1dHRvbjogdXBwZXJjYXNlO1xyXG5cdCRjbGllbnRDYXNlVmFsdWU6IGxvd2VyY2FzZTtcclxuXHQkYWRkVG9CYWdCdXR0b25Db2xvciA6IChcclxuXHRcdHN0YXJ0Q29sb3I6ICRib2R5QmFja2dyb3VuZFxyXG5cdCk7XHJcblx0JGFkZFRvQmFnQnV0dG9uQ29sb3JTZWxlY3RlZDogKFxyXG5cdFx0c3RhcnRDb2xvcjogI2VlZVxyXG5cdCk7XHJcblx0JGJ1dHRvbkNvbG9yIDogKFxyXG4gICAgICAgIHN0YXJ0Q29sb3I6ICM0YTg0MWFcclxuICAgICk7XHJcbiAgICAkYnV0dG9uU2Vjb25kYXJ5Rm9udENvbG9yOiAkYm9keUJhY2tncm91bmQ7XHJcbiAgICAkYnV0dG9uU2Vjb25kYXJ5Rm9udENvbG9yU2VsZWN0ZWQ6ICRidXR0b25QcmltYXJ5Rm9udENvbG9yO1xyXG4gICAgJGZvb3RlckZvbnRDb2xvciA6ICRib2R5QmFja2dyb3VuZDtcclxuICAgICRmb290ZXJCYWNrZ3JvdW5kQ29sb3I6ICRsaW5rQ29sb3I7XHJcbn1AZWxzZSBpZiAkY2xpZW50ID09ICdhbWVyaWNhbid7XHJcblx0JGNsaWVudENvbG9yIDogIzFlNzRkNTtcclxuICAgICRib2R5QmFja2dyb3VuZCA6ICNlOGU4ZTg7XHJcbiAgICAkYnV0dG9uQ29sb3IgOiAoXHJcbiAgICAgICAgc3RhcnRDb2xvcjogIzRkYTgyMFxyXG4gICAgKTtcclxuICAgICRhZGRUb0JhZ0J1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogIzFmNzVkNlxyXG5cdCk7XHJcblx0JGZvb3RlckJhY2tncm91bmRDb2xvciA6ICRib2R5QmFja2dyb3VuZDtcclxufUBlbHNlIGlmICRjbGllbnQgPT0gJ2RlbHRhJ3tcclxuICAgICRib2R5QmFja2dyb3VuZCA6ICMwNDIzNGQ7XHJcblx0JGhlYWRlckJhY2tncm91bmQgOiAoXHJcblx0XHRzdGFydENvbG9yOiAjMDYxQjM2LFxyXG5cdFx0ZW5kQ29sb3I6ICMzRTVBNzlcclxuXHQpO1xyXG4gICAgJGZvbnRDb2xvciA6ICMwMDIzNGQ7XHJcbiAgICAkYnV0dG9uQ29sb3IgOiAoXHJcbiAgICAgICAgc3RhcnRDb2xvcjogIzRkYTgyMFxyXG4gICAgKTtcclxuICAgICRhZGRUb0JhZ0J1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogIzMzNjZjY1xyXG5cdCk7XHJcblx0JGZvb3RlckZvbnRDb2xvciA6ICRidXR0b25QcmltYXJ5Rm9udENvbG9yO1xyXG59QGVsc2UgaWYgJGNsaWVudCA9PSAnc3Bpcml0J3tcclxuXHRAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9U291cmNlK1NhbnMrUHJvOjQwMCw3MDApO1xyXG5cdCRjbGllbnRGb250IDogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XHJcblx0JGJvZHlCYWNrZ3JvdW5kIDogdXJsKGh0dHA6Ly93d3cuc3Bpcml0LmNvbS9pbWFnZXMvc3Bpcml0d2F5L2hvbWVfYmFja2dyb3VuZC5wbmcpIG5vLXJlcGVhdCA1MCUgMCAjZjJmMmU5O1xyXG5cdCRjbGllbnRTcGVjaWZpY1RleHRDb2xvciA6ICNmYzJlNDQ7XHJcblx0JGNsaWVudENhc2VWYWx1ZSA6IGxvd2VyY2FzZTtcclxuXHQkaGVhZGVyQmFja2dyb3VuZCA6IChcclxuXHRcdHN0YXJ0Q29sb3I6ICNmZmYzMmFcclxuXHQpO1xyXG5cdCRidXR0b25Db2xvcjogKFxyXG5cdFx0c3RhcnRDb2xvcjogI2ZjMmU0NFxyXG5cdCk7XHJcbiAgICAkYWRkVG9CYWdCdXR0b25Db2xvciA6IChcclxuXHRcdHN0YXJ0Q29sb3I6ICMwMDBcclxuXHQpO1xyXG5cdCRidXR0b25TZWNvbmRhcnlGb250Q29sb3IgOiAjZmZmO1xyXG5cdCRidXR0b25TZWNvbmRhcnlGb250Q29sb3JTZWxlY3RlZCA6ICMwMDA7XHJcblx0JGFkZFRvQmFnQnV0dG9uQ29sb3JTZWxlY3RlZCA6IChcclxuXHRcdHN0YXJ0Q29sb3I6ICNmZmYzMmFcclxuXHQpO1xyXG5cdCRidXR0b25Cb3JkZXJSYWRpdXMgOiAwcHg7XHJcblx0JGZvb3RlckJhY2tncm91bmRDb2xvciA6ICMwMDA7XHJcblx0JGZvb3RlckZvbnRDb2xvciA6ICNmZmY7XHJcbn1AZWxzZSBpZiAkY2xpZW50ID09ICd1bml0ZWQne1xyXG5cdEBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw3MDApO1xyXG5cdCRjbGllbnRDYXNlIDogbG93ZXJjYXNlO1xyXG5cdCRjbGllbnRDYXNlQWN0aW9uIDogJGNsaWVudENhc2U7XHJcblx0JGJvZHlGb250IDogQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0JGNsaWVudEZvbnQgOiBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICRjbGllbnRTcGVjaWZpY1RleHRDb2xvciA6ICNmZmNmMDE7XHJcbiAgICAkYm9keUJhY2tncm91bmQgOiAjMDAzMzk5O1xyXG5cdCRoZWFkZXJCYWNrZ3JvdW5kIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogJGJvZHlCYWNrZ3JvdW5kXHJcblx0KTtcclxuXHQkZm9udENvbG9yIDogIzAwMDtcclxuICAgICRsaW5rQ29sb3IgOiAkZm9udENvbG9yO1xyXG5cdCRidXR0b25Cb3JkZXJSYWRpdXMgOiAwcHg7XHJcbiAgICAkYnV0dG9uQ29sb3I6IChcclxuICAgICAgICBzdGFydENvbG9yOiAjZWRiNjJiLFxyXG4gICAgICAgIGVuZENvbG9yOiAjZGY5NTEyXHJcbiAgICApO1xyXG4gICAgJGJ1dHRvbkJvcmRlciA6ICNjZmFlMmI7XHJcbiAgICAkYnV0dG9uUHJpbWFyeUZvbnRDb2xvciA6ICMzMzM7XHJcbiAgICAkYnV0dG9uU2Vjb25kYXJ5Rm9udENvbG9yIDogJGJ1dHRvblByaW1hcnlGb250Q29sb3I7XHJcbiAgICAkYWRkVG9CYWdCdXR0b25Db2xvciA6IChcclxuXHRcdHN0YXJ0Q29sb3I6IG1hcC1nZXQoJGJ1dHRvbkNvbG9yLCBzdGFydENvbG9yKSxcclxuXHRcdGVuZENvbG9yOiBtYXAtZ2V0KCRidXR0b25Db2xvciwgZW5kQ29sb3IpXHJcblx0KTtcclxuXHQkYWRkVG9CYWdCdXR0b25Db2xvclNlbGVjdGVkIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogIzZiYWFkNyxcclxuXHRcdGVuZENvbG9yOiAjMzI3N2MwXHJcblx0KTtcclxuXHQkZm9vdGVyRm9udENvbG9yIDogI2ZmZjtcclxuXHQkZm9vdGVyQmFja2dyb3VuZENvbG9yIDogJGJvZHlCYWNrZ3JvdW5kO1xyXG59QGVsc2UgaWYgJGNsaWVudCA9PSAnamV0Ymx1ZSd7XHJcblx0QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDUwMCw2MDAsODAwKTtcclxuXHQkZm9udENvbG9yIDogIzAwMjM0ZDtcclxuXHQkY2xpZW50Q29sb3IgOiAjMDAyNjYzO1xyXG5cdCRjbGllbnRGb250IDogUmFsZXdheSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHQkY2xpZW50Q2FzZVZhbHVlIDogbG93ZXJjYXNlO1xyXG5cdCRoZWFkZXJCYWNrZ3JvdW5kIDogKFxyXG5cdFx0c3RhcnRDb2xvcjogJGNsaWVudENvbG9yXHJcblx0KTtcclxuICAgICRidXR0b25Db2xvciA6IChcclxuICAgICAgICBzdGFydENvbG9yOiAjZmY4MzAwXHJcbiAgICApO1xyXG4gICAgJGFkZFRvQmFnQnV0dG9uQ29sb3IgOiAoXHJcblx0XHRzdGFydENvbG9yOiAjNTA5MWNiXHJcblx0KTtcclxuXHQkZm9vdGVyQmFja2dyb3VuZENvbG9yIDogI2U4ZWRmMTtcclxufUBlbHNlIGlmICRjbGllbnQgPT0gJ3ZvaWxhJyB7XHJcblx0QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxvcmEpO1xyXG5cdCRjbGllbnRDb2xvciA6ICMwMDVmOWQ7XHJcblx0JGNsaWVudEZvbnQgOiBMb3JhLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdCRib2R5QmFja2dyb3VuZCA6ICNmZmY4ZWU7XHJcblx0JGJ1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICMwMDVmOWRcclxuXHQpO1xyXG5cdCRhZGRUb0JhZ0J1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICNhNTkzODIsXHJcblx0XHRlbmRDb2xvciA6ICM5NzgzNzNcclxuXHQpO1xyXG5cdCRmb290ZXJCYWNrZ3JvdW5kQ29sb3IgOiAjZjBlYmU0O1xyXG5cdCRmb290ZXJGb250Q29sb3IgOiAjNWM2MjY3O1xyXG59QGVsc2UgaWYgJGNsaWVudCA9PSAnaGlsdG9uJyB7XHJcblx0QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsODAwKTtcclxuXHQkY2xpZW50Q29sb3IgOiAjYmM5YzVlO1xyXG5cdCRjbGllbnRGb250IDogQXJpYWw7XHJcblx0JGxpbmtDb2xvciA6ICMwMDIzNGQ7XHJcblx0JGJ1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICMwMGE4ZTFcclxuXHQpO1xyXG5cdCRhZGRUb0JhZ0J1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICMxMTRkOTdcclxuXHQpO1xyXG5cdCRidXR0b25QcmltYXJ5Rm9udENvbG9yIDogI2ZmZjtcclxuXHQkYnV0dG9uU2Vjb25kYXJ5Rm9udENvbG9yIDogJGJ1dHRvblByaW1hcnlGb250Q29sb3I7XHJcblx0JGZvb3RlckJhY2tncm91bmRDb2xvciA6ICNlZGVkZWQ7XHJcblx0JGZvb3RlckZvbnRDb2xvciA6ICM1YzYyNjc7XHJcbn1AZWxzZSBpZiAkY2xpZW50ID09ICdjaG9pY2UnIHtcclxuXHRAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw2MDAsNzAwKTtcclxuXHQkZm9udENvbG9yIDogIzAwNWY2MTtcclxuXHQkY2xpZW50Rm9udCA6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0JGJvZHlCYWNrZ3JvdW5kIDogI2YwZWRlYTtcclxuXHQkaGVhZGVyQmFja2dyb3VuZCA6IChcclxuXHRcdHN0YXJ0Q29sb3I6ICRib2R5QmFja2dyb3VuZFxyXG5cdCk7XHJcblx0JGJ1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICNlMjY4MTFcclxuXHQpO1xyXG5cdCRhZGRUb0JhZ0J1dHRvbkNvbG9yIDogKFxyXG5cdFx0c3RhcnRDb2xvciA6ICMwMzVmNjBcclxuXHQpO1xyXG5cdCRmb290ZXJCYWNrZ3JvdW5kQ29sb3IgOiAjZjBlZGVhO1xyXG59QGVsc2UgaWYgJGNsaWVudCA9PSAnbGFxdWludGEnIHtcclxuXHQkY2xpZW50Rm9udCA6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcblx0JGNsaWVudENvbG9yIDogIzlhYzg0YTtcclxuXHQkY2xpZW50Q2FzZSA6IGNhcGl0YWxpemU7XHJcblx0JGhlYWRlckJhY2tncm91bmQgOiAoXHJcblx0XHRzdGFydENvbG9yOiAjZmVlMjdiLFxyXG5cdFx0ZW5kQ29sb3I6ICNmZWZjZjBcclxuXHQpO1xyXG5cdCRidXR0b25Db2xvciA6IChcclxuXHRcdHN0YXJ0Q29sb3IgOiAjZjc5NzFjXHJcblx0KTtcclxuXHQkYWRkVG9CYWdCdXR0b25Db2xvciA6IChcclxuXHRcdHN0YXJ0Q29sb3IgOiAjNWQ4OWQ3XHJcblx0KTtcclxuXHQkbGlua0NvbG9yIDogIzAwMDtcclxuXHQkZm9vdGVyQmFja2dyb3VuZENvbG9yIDogJGNsaWVudENvbG9yO1xyXG5cdCRmb290ZXJGb250Q29sb3IgOiAjZmZmO1xyXG59XHJcbiIsImh0bWx7IC8vaGVscHMgcGVyZm9ybWFuY2UgZm9yIG1vYmlsZSBkZXZpY2VzXHJcbiAgICBvdmVyZmxvdy15OnNjcm9sbDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIEBpZigkY2xpZW50ID09ICdzcGlyaXQnKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRIRERFU0tUT1Ape1xyXG4gICAgXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYm9keUJhY2tncm91bmQ7XHJcbiAgICBmb250LWZhbWlseTogJGJvZHlGb250O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbnVse2xpc3Qtc3R5bGUtdHlwZTpub25lO31cclxuLmJ1dHRvbi5idXR0b24tcHJpbWFyeXtcclxuICAgIEBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuICAgIFx0Y29sb3I6ICRidXR0b25TZWNvbmRhcnlGb250Q29sb3I7XHJcbiAgICB9QGVsc2V7XHJcbiAgICBcdGNvbG9yOiRidXR0b25QcmltYXJ5Rm9udENvbG9yO1xyXG4gICAgfVxyXG4gICAgYm9yZGVyOm5vbmU7XHJcblx0QGluY2x1ZGUgQk9SREVSLVJBRElVUygkYnV0dG9uQm9yZGVyUmFkaXVzKTtcclxuXHRtYXJnaW46MDtcclxuICAgIEBpbmNsdWRlIEJVSUxEKHdpZHRoLCAxNTBweCk7XHJcbiAgICAmOmZvY3Vze1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKGlmKG1hcC1oYXMta2V5KCRidXR0b25Db2xvciwgZW5kQ29sb3IpLCBtYXAtZ2V0KCRidXR0b25Db2xvciwgZW5kQ29sb3IpLCBtYXAtZ2V0KCRidXR0b25Db2xvciwgc3RhcnRDb2xvcikpLDEwKTtcclxuICAgIH1cclxufVxyXG4ud3JhcHBlcntcclxuICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuICAgIFx0QGlmKCRjbGllbnQgIT0gJ2hpbHRvbicpe1xyXG4gICAgXHRcdG1heC13aWR0aDokTUFYX1dJRFRIOyAvL1NldHMgcGFnZSBtYXggc28gYXMgdG8gbm90IGJyZWFrIHRoZSBjcmVhdGl2ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgfVxyXG59XHJcbkBpZigkY2xpZW50ID09ICdoaWx0b24nIG9yICRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG5cdGJvZHkgLndyYXBwZXI6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH07XHJcblx0QGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG5cdFx0Ym9keSAud3JhcHBlcntcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ld3JhcHBlci1oZWlnaHR7XHJcblx0QGlmKCRjbGllbnQgPT0gJ3ZvaWxhJyl7XHJcblx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIDEzMHB4KTtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIDc1cHgpO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdsYXF1aW50YScpeyAvL2xvZ28gaXMgaGlnaGVyIHRoYW4gb3RoZXIgY2xpZW50c1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQodG9wLCAxMjZweCk7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgMTQwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIDcycHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCA5NHB4KTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7IC8vbG9nbyBpcyBoaWdoZXIgdGhhbiBvdGhlciBjbGllbnRzXHJcblx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIDEwM3B4KTtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkTU9CSUxFKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCAxMTdweCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgODBweCk7XHJcblx0XHR9XHJcblx0fUBlbHNle1xyXG5cdFx0QGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpeyBcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCAxMDZweCk7XHJcblx0XHR9QGVsc2V7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgOTZweCk7XHJcblx0XHR9XHJcblx0XHRAaWYoJGNsaWVudCA9PSAndW5pdGVkJyl7IFxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCAxMjBweCk7XHJcblx0XHRcdH1cclxuICAgICAgIH1AZWxzZXtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRNT0JJTEUpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgMTAycHgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCA2MHB4KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLndyYXBwZXItZml4ZWR7XHJcblx0QGV4dGVuZCAld3JhcHBlci1oZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6MztcclxuICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuLyoqIEJhbm5lciBzZWN0aW9uICoqL1xyXG4laGVhZGVye1xyXG5cdHRvcDowO1xyXG5cdG1heC13aWR0aDokTUFYX1dJRFRIO1xyXG5cdHotaW5kZXg6NTtcclxuXHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDIwcHggMTBweCk7XHJcblx0QGluY2x1ZGUgR1JBRElFTlQobWFwLWdldCgkaGVhZGVyQmFja2dyb3VuZCwgc3RhcnRDb2xvciksIGlmKG1hcC1oYXMta2V5KCRoZWFkZXJCYWNrZ3JvdW5kLCBlbmRDb2xvciksIG1hcC1nZXQoJGhlYWRlckJhY2tncm91bmQsIGVuZENvbG9yKSwgbWFwLWdldCgkaGVhZGVyQmFja2dyb3VuZCwgc3RhcnRDb2xvcikpKTtcclxuXHJcblx0QGlmKCRjbGllbnQgPT0gJ2RlbHRhJyl7XHJcblx0XHRib3JkZXItYm90dG9tOjVweCBzb2xpZCAjYmEyMTAwO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdmcm9udGllcicgb3IgJGNsaWVudCA9PSAnaGF3YWlpYW4nKXtcclxuXHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDY0MDdhO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuXHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkbGlua0NvbG9yO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHQgICAgYmFja2dyb3VuZDogJGxpbmtDb2xvcjtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblx0ICAgIGltZy5hcnVhe1xyXG5cdCAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgICAgfVxyXG4gXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnYW1lcmljYW4nKXtcclxuXHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjNGVhOGY3O1xyXG5cdH1AZWxzZSBpZiAoJGNsaWVudCA9PSAnc3Bpcml0Jyl7XHJcblx0ICAgei1pbmRleDogMjtcclxuXHQgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDAwO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICd1bml0ZWQnKXtcclxuXHRcdGJvcmRlci1ib3R0b206NXB4IHNvbGlkICNmZmNmMDE7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6OTRweDtcclxuICAgICAgICB9XHJcblx0XHQubG9nbyBpbWd7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDU1cHg7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2pldGJsdWUnKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvci1wcmVmaXgoYm9yZGVyLXJhZGl1cywgNXB4KTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAndm9pbGEnKXtcclxuXHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmU5OTI3O1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdoaWx0b24nKXtcclxuXHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMTE0ZDk3O1xyXG5cdFx0QGluY2x1ZGUgR1JBRElFTlQoI2ZjZmNmYywgI2U3ZTdlOCwgY2VudGVyLCBjZW50ZXIsICR0eXBlOmdyYWRpZW50KTtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdC5yb3d7XHJcblx0XHRcdG1heC13aWR0aDogOTAwcHg7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdsYXF1aW50YScpe1xyXG5cdFx0QGluY2x1ZGUgQk9SREVSKDVweCBzb2xpZCAjZmVjMTYyLCBib3R0b20pO1xyXG5cclxuXHRcdC5sb2dvIGltZ3tcclxuXHRcdFx0bWF4LWhlaWdodDogNzhweDtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnY2hvaWNlJyl7XHJcblx0XHRAaWYgKCRwYWdlID09ICdpbmRleCcpIHtcclxuXHRcdFx0QGluY2x1ZGUgQk9SREVSKDVweCBzb2xpZCAjMDA1RjYxLCBib3R0b20pO1xyXG5cdFx0fUBlbHNlIGlmICgkcGFnZSA9PSAndXBzZWxsJyl7XHJcblx0XHRcdC8qRG8gbm90aGluZywgY29uZmxpY3Rpbmcgc3R5bGUgb24gcy1vLCBzLW8tc3RmLCBhbmQgY29uZmlybSovXHJcblx0XHR9QGVsc2V7XHJcblx0XHRcdEBpbmNsdWRlIFRSSVBMRS1CT1goMHB4LCA2cHgsIDBweCwgMHB4LCAjMDA1ZjYwLCAwcHgsIDEwcHgsIDBweCwgMHB4LCAjZmZmLCAwcHgsIDE2cHgsIDBweCwgMHB4LCAjRTI2ODEyKTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnc3Bpcml0Jyl7XHJcblx0XHQvL05lZWQgdG8gYWRkIGRvdWJsZSBib3JkZXIgdG8gY2hlY2tvdXQvY29uZmlybSBhbmQgbWF5YmUgdXBzZWxsIHBhZ2VzXHJcblx0fVxyXG59XHJcbi5oZWFkZXIgLnJvd3tcclxuXHRAaWYgJGNsaWVudCA9PSAnYWxhc2thJ3tcclxuXHRcdG1heC13aWR0aDogOTAwcHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcclxuIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcbiAgICBcdFx0bWFyZ2luLWxlZnQ6IDEzMHB4O1xyXG4gICAgXHR9XHJcbiAgICBcdEBtZWRpYSAobWluLXdpZHRoOiAxMjYwcHgpe1xyXG4gICAgXHRcdG1hcmdpbjogMCBhdXRvO1xyXG4gICAgXHR9XHJcblx0fVxyXG59XHJcbi5sb2dvIHtcclxuXHRAaWYgJGNsaWVudCA9PSAnYWxhc2thJ3tcclxuIFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gXHRcdGltZ3tcclxuXHRcdCAgICBAaW5jbHVkZSBCVUlMRChtaW4td2lkdGgsIDM1MHB4KTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0Y29udGVudDogdXJsKCcjeyRpbWdEaXJ9LyN7JGNsaWVudH0vbG9nb19tb2JpbGUucG5nJyk7XHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0XHRjb250ZW50OiB1cmwoJyN7JGltZ0Rpcn0vI3skY2xpZW50fS9sb2dvLnBuZycpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIEJVSUxEKG1pbi13aWR0aCwgMCk7XHJcblx0XHRcdH1cclxuIFx0XHR9XHJcbiBcdFx0aW1nOjphZnRlcntcclxuIFx0XHRcdEBpbmNsdWRlIEJVSUxEKG1pbi13aWR0aCwgMzUwcHgpO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRjb250ZW50OiB1cmwoJyN7JGltZ0Rpcn0vI3skY2xpZW50fS9sb2dvX21vYmlsZS5wbmcnKTtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRcdGNvbnRlbnQ6IHVybCgnI3skaW1nRGlyfS8jeyRjbGllbnR9L2xvZ28ucG5nJyk7XHJcblx0XHRcdFx0QGluY2x1ZGUgQlVJTEQobWluLXdpZHRoLCAwKTtcclxuXHRcdFx0fVxyXG4gXHRcdH1cclxuIFx0fVxyXG5cdEBlbHNle1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpbWd7XHJcblx0XHRAaWYoJGNsaWVudCA9PSAndm9pbGEnKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQobWF4LWhlaWdodCwgNzVweCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbmRpdi5jdXN0b20tY2FydC5jb2x1bW57XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIEBpZiAkcGFnZSA9PSAndXBzZWxsJ3tcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbiAgICBAaWYgJGNsaWVudCA9PSAnYWxhc2thJ3tcclxuICAgIFx0QG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcblx0ICAgIFx0dGV4dC1hbGlnbjpyaWdodDtcclxuXHQgICAgXHRtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgXHQgICAgbWFyZ2luLWxlZnQ6IDA7XHRcclxuXHQgICAgfVxyXG4gICAgfUBlbHNle1xyXG5cdCAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHQgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcblx0ICAgIH1cclxuICAgIH1cclxufVxyXG4uYmFnLWljb257XHJcblx0YmFja2dyb3VuZDp1cmwoJyN7JGltZ0Rpcn0vI3skY2xpZW50fS9iYWctaWNvbi5wbmcnKSBuby1yZXBlYXQ7XHJcbiAgICBAaWYgKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG4gICAgXHR3aWR0aDozOHB4O1xyXG4gICAgXHRoZWlnaHQ6IDM4cHg7XHJcbiAgICB9QGVsc2V7XHJcbiAgICBcdHdpZHRoOjQwcHg7XHJcbiAgICBcdGhlaWdodDo0NnB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgQlVJTEQobWFyZ2luLXJpZ2h0LCAyMHB4KTtcclxuICAgIHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBjb2xvcjokYnV0dG9uUHJpbWFyeUZvbnRDb2xvcjtcclxuXHJcbiAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAvLyY6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7fVxyXG5cdEBpZigkY2xpZW50ID09ICd1bml0ZWQnKXtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgNHB4KTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTJweCk7XHJcblx0XHRsaW5lLWhlaWdodDogM2VtO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyLjZlbTtcclxuXHR9QGVsc2V7XHJcblx0XHRsaW5lLWhlaWdodDo0ZW07XHJcblx0fVxyXG59XHJcbi5idXR0b24tY2hlY2tvdXQuYnV0dG9ue1xyXG4gICAgQGluY2x1ZGUgR1JBRElFTlQobWFwLWdldCgkYnV0dG9uQ29sb3IsIHN0YXJ0Q29sb3IpLCBpZihtYXAtaGFzLWtleSgkYnV0dG9uQ29sb3IsIGVuZENvbG9yKSwgbWFwLWdldCgkYnV0dG9uQ29sb3IsIGVuZENvbG9yKSwgbWFwLWdldCgkYnV0dG9uQ29sb3IsIHN0YXJ0Q29sb3IpKSk7XHJcbiAgICBAaW5jbHVkZSBCVUlMRCh3aWR0aCwgMTQwcHgpO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZDpkYXJrZW4oaWYobWFwLWhhcy1rZXkoJGJ1dHRvbkNvbG9yLCBlbmRDb2xvciksIG1hcC1nZXQoJGJ1dHRvbkNvbG9yLCBlbmRDb2xvciksIG1hcC1nZXQoJGJ1dHRvbkNvbG9yLCBzdGFydENvbG9yKSksMTApO1xyXG4gICAgfVxyXG4gICAgYm9yZGVyOiAkYnV0dG9uQm9yZGVyO1xyXG4gICAgQGlmKCRjbGllbnQgPT0gJ2FsYXNrYScgYW5kICRwYWdlID09ICd1cHNlbGwnKXtcclxuICAgIFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMnB4IDI5cHgpO1xyXG4gICAgfVxyXG59XHJcbi5idXR0b24tY2FuY2VsLmJ1dHRvbntcclxuICAgIEBpbmNsdWRlIEdSQURJRU5UKCNFQ0VDRUMsICNEMkQyRDIpO1xyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kOmRhcmtlbigjRDJEMkQyLDEwKTtcclxuICAgIH1cclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgQGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG5cdFx0YmFja2dyb3VuZDogIzAwMDtcclxuICAgIFx0Y29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICBAaWYoJGNsaWVudCA9PSAnaGlsdG9uJyl7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgXHRjb2xvcjogIzAwMDtcclxuICAgIFx0Ym9yZGVyOjFweCBzb2xpZCAjRUNFQ0VDO1xyXG4gICAgfVxyXG59XHJcbi5idXR0b24tY2hlY2tvdXQtbGFyZ2UuYnV0dG9ue1xyXG4gICAgQGluY2x1ZGUgQlVJTEQod2lkdGgsIGF1dG8pO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxOHB4KTtcclxuICAgIEBpbmNsdWRlIEJVSUxEKGxpbmUtaGVpZ2h0LCA1MHB4KTtcclxuICAgIEBpbmNsdWRlIEJVSUxEKGhlaWdodCwgYXV0byk7XHJcbn1cclxuLmNvbnRhaW5lci5tYWlue1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRNT0JJTEUpe1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKHdpZHRoLCA5MCUpO1xyXG4gICAgfVxyXG59XHJcbi5ub3dyYXB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5AaW1wb3J0IFwic2VhcmNoXCI7XHJcbi5jbGllbnQtY2FzZXtcclxuXHR0ZXh0LXRyYW5zZm9ybTogJGNsaWVudENhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRAaWYoJGNsaWVudCA9PSAnYW1lcmljYW4nIGFuZCAkcGFnZSA9PSAndXBzZWxsJyl7XHJcbiAgICBcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuLmNsaWVudC1jYXNlLXZhbHVlIHtcclxuXHR0ZXh0LXRyYW5zZm9ybTogJGNsaWVudENhc2VWYWx1ZTtcclxufVxyXG4uY2xpZW50LWNhc2UtYWN0aW9ue1xyXG5cdHRleHQtdHJhbnNmb3JtOiAkY2xpZW50Q2FzZUFjdGlvbjtcclxufVxyXG4uY2xpZW50LWNhc2UtYnV0dG9ue1xyXG5cdHRleHQtdHJhbnNmb3JtOiAkY2xpZW50Q2FzZUJ1dHRvbjtcclxufVxyXG5AaWYoJGNsaWVudCA9PSAndW5pdGVkJyl7XHJcblx0LmNsaWVudC1jYXNlOjpmaXJzdC1sZXR0ZXJ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5jbGllbnQtY2FzZS1hY3Rpb246OmZpcnN0LWxldHRlcntcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi5yb3cudGl0bGUtYmFye1xyXG4gICAgQGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG5cdFx0cGFkZGluZzogMC44cmVtO1xyXG5cdFx0YmFja2dyb3VuZDogIzAwMDsgICBcclxuXHR9XHJcbn1cclxuXHJcbkBpZigkY2xpZW50ID09ICdhbWVyaWNhbicpe1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdC5jb3B5LWhvbGRlciB7XHJcbiAgICBcdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uY2FwaXRhbGl6ZS10ZXh0e1xyXG5cdEBpZigkY2xpZW50ID09ICdzcGlyaXQnKXtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcblx0fVxyXG59XHJcblxyXG4uYnV0dG9uLWNoZWNrb3V0LmJ1dHRvbi51bml0ZWQtcnQtY2hlY2tvdXQge1xyXG5cdHdpZHRoOiA5cmVtO1xyXG5cdHBhZGRpbmc6IDAgMTBweDtcclxuXHRAbWVkaWEgKG1pbi13aWR0aDokSERERVNLVE9QKSB7XHJcblx0XHR3aWR0aDogMTRyZW07XHJcblx0XHRwYWRkaW5nOiAwIDMwcHg7XHJcblx0fVxyXG59XHJcbi5yZWFsdGltZS1iYWctaWNvbntcclxuXHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxufVxyXG5cclxuIiwiLy8qKkZvciBzb21lIHJlYXNvbiwgd2hlbiBjYWxjdWxhdGluZyBtZWRpYSBxdWVyaWVzLCB0aGUgc2l6ZSBpcyB0YWtlbiBmcm9tIGJyb3dzZXIgc2V0dGluZyBpbnN0ZWFkIG9mIGZvbnQtc2l6ZSBkZWNsYXJlZCBvbiBodG1sIGVsZW1lbnRcclxuLy9Vc2UgZW0gdG8gdGFrZSBjYXJlIG9mIHpvb20gc2V0dGluZyBpbiBicm93c2VyXHJcbiRNT0JJTEU6IDFlbSogKDQwMC8xNik7IC8vdGhpcyBpcyByZWFsbHkgbGFyZ2VyIHRoYW4gaXBob25lNFxyXG4kVEFCTEVUOiAxZW0qICg1NTAvMTYpO1xyXG4kREVTS1RPUDogMWVtKiAoNzUwLzE2KTtcclxuJEhEREVTS1RPUDogMWVtKiAoOTAwLzE2KTsgLy9pbiBiZXR3ZWVuIHNpemUgZm9yIGNvbHVtbnMgLSBEZXNrdG9wIGlzIHRvbyBmYXIgYXdheSBmcm9tIG1heCB3aWR0aFxyXG4kU1RBUlRJTkdQWDogMTBweDsgLy9CYXNlZCBvbiBIVE1MIHRhZyBzZXQgaW4gc2tlbGV0b25cclxuJE1BWF9XSURUSDogOTYwcHg7IC8vQmFzZWQgb24gY3JlYXRpdmVcclxuJFZFTkRPUlM6IFwiLXdlYmtpdC1cIixcIi1tb3otXCIsXCItby1cIixcIi1tcy1cIixcIlwiOyAvL3BvcHVsYXIgdmVuZG9yIHByZWZpeGVzLiBMYXN0IHZhbHVlIGlzIGJsYW5rIHRvIG91dHB1dCBtb2Rlcm4gQ1NTIHByb3BlcnR5XHJcbkBpbXBvcnQgXCIuLi9leHRfbGlicmFyaWVzL3JlbVwiO1xyXG4vL0JVSUxEIGxldmVyYWdlcyBfcmVtLnNjc3MgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcnk1bi9yZW0vXHJcbkBtaXhpbiBCVUlMRCgkcHJvcGVydHksICR2YWx1ZXMpe1xyXG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcyk7XHJcbn1cclxuLy9taXhpbiB0YWtlcyBwcm9wZXJ0eSwgdmFsdWUgYW5kIG9wdGlvbmFsIHByZWZpeGVzIHRvIHByZXBlbmQgZWxlbWVudHMuIERlZmF1bHRzIHRvICRWRU5ET1JTIGxpc3RcclxuQG1peGluIHZlbmRvci1wcmVmaXgoJHByb3AsICR2YWx1ZSwgJHByZWZpeDokVkVORE9SUywkc3R5bGU6ZmFsc2Upe1xyXG4gICAgLy8kdG1wIDogKCk7XHJcbiAgICBAaWYoJHN0eWxlID09IGZhbHNlKXtcclxuICAgICAgICBAZWFjaCAkdiBpbiAkcHJlZml4e1xyXG4gICAgICAgICAgICAjeyR2fSN7JHByb3B9IDogJHZhbHVlO1xyXG4gICAgICAgICAgICAvLyR0bXAgOiBqb2luKCR0bXAsICN7JHZ9I3skcHJvcH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1AZWxzZXtcclxuICAgICAgICBAZWFjaCAkdiBpbiAkcHJlZml4e1xyXG4gICAgICAgICAgICAjeyRwcm9wfSA6ICN7JHZ9I3skdmFsdWV9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY29udGVudDokdG1wOyAvL3VzZWQgdG8gbG9nIGNvZGUgdG8gY3NzXHJcbn1cclxuLy9HUkFESUVOVCBtaXhpbiB3aWxsIGFkZCB0aGUgbmVjZXNzYXJ5IGNyb3NzIGJyb3dzZXIgbGluZXMgZm9yIGdyYWRpZW50IHByb3BlcnR5XHJcbi8vRG9lcyBub3Qgc3VwcG9ydCA8SUUxMCAtIG5lZWRzIFNWRyBzdXBwb3J0XHJcbkBtaXhpbiBHUkFESUVOVCgkc3RhcnRDb2xvciwgJGVuZENvbG9yLCAkeDpsZWZ0LCAkeTpib3R0b20sICR0eXBlOmxpbmVhcikge1xyXG5cdCRwcmVmaXg6IFwiLXdlYmtpdC1cIixcIi1tb3otXCIsXCItby1cIixcIi1tcy1cIjtcclxuICAgIC8vRmFsbGJhY2tcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGFydENvbG9yO1xyXG5cdEBpZigkdHlwZSA9PSBsaW5lYXIpe1xyXG5cdCAgICAvL1NhZmFyaSA0LCBDaHJvbWUgMS05LCBpT1MgMy4yLTQuMywgQW5kcm9pZCAyLjEtMy4wXHJcblx0Ly9cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLCR4ICR5LGNvbG9yLXN0b3AoMCwgJHN0YXJ0Q29sb3IpLGNvbG9yLXN0b3AoMSwgJGVuZENvbG9yKSk7XHJcblx0ICAgIEBpbmNsdWRlIHZlbmRvci1wcmVmaXgoYmFja2dyb3VuZC1pbWFnZSwgbGluZWFyLWdyYWRpZW50KCR5LCAkc3RhcnRDb2xvciAwJSwgJGVuZENvbG9yIDEwMCUpLCRwcmVmaXgsdHJ1ZSk7XHJcblx0ICAgIC8vU2FmYXJpIDUuMSwgaU9TIDUuMC02LjEsIENocm9tZSAxMC0yNSwgQW5kcm9pZCA0LjAtNC4zXHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydENvbG9yICR4LCAkZW5kQ29sb3IgJHkpO1xyXG5cdCAgICAvL0ZpcmVmb3ggMy42LTE1XHJcblx0Ly9cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0Q29sb3IgMCUsICRlbmRDb2xvciAxMDAlKTtcclxuXHQvLyAgLy9PcGVyYSAxMS4xLTEyXHJcblx0Ly9cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydENvbG9yIDAlLCAkZW5kQ29sb3IgMTAwJSk7XHJcblx0Ly9cdC8vSUUgOC05XHJcblx0Ly9cdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciAwJSwgJGVuZENvbG9yIDEwMCUpO1xyXG5cdCAgICAvL09wZXJhIDE1KywgQ2hyb21lIDI1KywgSUUxMCssIEZpcmVmb3ggMTYrLCBTYWZhcmkgNi4xKywgaU9TIDcrLCBBbmRyb2lkIDQuNCtcclxuXHQgICAgQGlmKCR4ID09IGxlZnQpe1xyXG5cdCAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvICR5LCAkc3RhcnRDb2xvciAwJSwgJGVuZENvbG9yIDEwMCUpO1xyXG5cdCAgICB9QGVsc2V7XHJcblx0ICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gJHggJHksICRzdGFydENvbG9yIDAlLCAkZW5kQ29sb3IgMTAwJSk7XHJcblx0ICAgIH1cclxuXHQgICAgLy9DU1MgSGFjayBmb3IgSUUgNi04XHJcblx0ICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjeyRzdGFydENvbG9yfScsIGVuZENvbG9yc3RyPScjeyRlbmRDb2xvcn0nLEdyYWRpZW50VHlwZT0wICk7XHJcblx0fUBlbHNle1xyXG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsICR4ICR5LCAwcHgsICR4ICR5LCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjeyRzdGFydENvbG9yfSksIGNvbG9yLXN0b3AoMTAwJSwgI3skZW5kQ29sb3J9KSk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3ItcHJlZml4KGJhY2tncm91bmQsIHJhZGlhbC1ncmFkaWVudCgkeCxlbGxpcHNlIGNvdmVyLCAjeyRzdGFydENvbG9yfSAwJSwgI3skZW5kQ29sb3J9IDEwMCUpLCRwcmVmaXgsIHRydWUpO1xyXG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgJHgsICN7JHN0YXJ0Q29sb3J9IDAlLCAjeyRlbmRDb2xvcn0gMTAwJSk7LyogVzNDICovXHJcblxyXG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyN7JHN0YXJ0Q29sb3J9JywgZW5kQ29sb3JzdHI9JyN7JGVuZENvbG9yfScsR3JhZGllbnRUeXBlPTEgKTsvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXHJcblx0fVxyXG59XHJcbkBtaXhpbiBCT1gtU0hBRE9XKCR0b3AsICRsZWZ0LCAkYmx1ciwgJHNwcmVhZCwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XHJcbiAgQGlmICRpbnNldCB7XHJcbiAgICBAaW5jbHVkZSB2ZW5kb3ItcHJlZml4KGJveC1zaGFkb3csIGluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJHNwcmVhZCAkY29sb3IpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGluY2x1ZGUgdmVuZG9yLXByZWZpeChib3gtc2hhZG93LCAkdG9wICRsZWZ0ICRibHVyICRzcHJlYWQgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuLy9CT1JERVItUkFESVVTIG1peGluIHdpbGwgYWRkIHRoZSBuZWNlc3NhcnkgY3Jvc3MgYnJvd3NlciBsaW5lcyBmb3IgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eVxyXG5AbWl4aW4gQk9SREVSLVJBRElVUygkcHgpe1xyXG4gICAgQGluY2x1ZGUgdmVuZG9yLXByZWZpeChib3JkZXItcmFkaXVzLCAkcHgpO1xyXG59XHJcbi8vQk9SREVSIG1peGluIHdpbGwgYnVpbGQgb3V0IGJvcmRlciBwcm9wZXJ0eS4gVXNlZnVsIGZvciBzdHlsaW5nIG9kZCBudW1iZXIgb2Ygc2lkZXNcclxuQG1peGluIEJPUkRFUigkc3R5bGUsICAkc2lkZXMuLi4pe1xyXG4gICAgQGlmICgkc3R5bGUgIT0gXCJcIikge1xyXG4gICAgICAgIEBpZiAobGVuZ3RoKCRzaWRlcykgPT0gMCkge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRzdHlsZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcclxuICAgICAgICAgICAgICAgQGlmICgkc2lkZSA9PSAndG9wJyBvclxyXG4gICAgICAgICAgICAgICAgICAgICRzaWRlID09ICdyaWdodCcgb3JcclxuICAgICAgICAgICAgICAgICAgICAkc2lkZSA9PSAnYm90dG9tJyBvclxyXG4gICAgICAgICAgICAgICAgICAgICRzaWRlID09ICdsZWZ0Jykge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItI3skc2lkZX06ICRzdHlsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vL09QQUNJVFkgbWl4aW4gd2lsbCBidWlsZCBvdXQgb3BhY2l0eSBwcm9wZXJ0aWVzIGZvciBjcm9zcyBicm93c2VyXHJcbkBtaXhpbiBPUEFDSVRZKCRwZXJjZW50KXtcclxuICAgIC8vSUUgOFxyXG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7JHBlcmNlbnR9KVwiO1xyXG4gICAgLy9JRSA1LTdcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kcGVyY2VudCk7XHJcbiAgICAvL0dvb2QgYnJvd3NlcnNcclxuICAgIG9wYWNpdHk6ICRwZXJjZW50LzEwMDtcclxuICAgIC8vJHByZWZpeCA6IC1tb3otIC1raHRtbC0gJyc7XHJcbiAgICAvL0BpbmNsdWRlIHZlbmRvci1wcmVmaXgob3BhY2l0eSwgJHBlcmNlbnQvMTAwLCAkcHJlZml4KVxyXG59XHJcbi8vVFJJUExFLUJPWCBtaXhpbiBjcmVhdGVzIHRoZSBkb3VibGUgYm9yZGVyIGVmZmVjdCBmb3IgYWxsIGJyb3dzZXJzXHJcbkBtaXhpbiBUUklQTEUtQk9YKCRob3Jpem9udGFsMSwgJHZlcnQxLCAkYmx1cjEsICRzcHJlYWQxLCAkY29sb3IxLCAkaG9yaXpvbnRhbDIsICR2ZXJ0MiwgJGJsdXIyLCAkc3ByZWFkMiwgJGNvbG9yMiwgJGhvcml6b250YWwzOiAnJywgJHZlcnQzOiAnJywgJGJsdXIzOiAnJywgJHNwcmVhZDM6ICcnLCAkY29sb3IzOiAnJyl7XHJcbiAgJHZhbHVlIDogJGhvcml6b250YWwxICR2ZXJ0MSAkYmx1cjEgJHNwcmVhZDEgJGNvbG9yMSwgJGhvcml6b250YWwyICR2ZXJ0MiAkYmx1cjIgJHNwcmVhZDIgJGNvbG9yMiwgJGhvcml6b250YWwzICR2ZXJ0MyAkYmx1cjMgJHNwcmVhZDMgJGNvbG9yMztcclxuICAkcHJlZml4IDogXCItd2Via2l0XCIsXCItbW96XCIsXCJcIjtcclxuICBAaW5jbHVkZSB2ZW5kb3ItcHJlZml4KGJveC1zaGFkb3csICR2YWx1ZSwgJHByZWZpeCk7XHJcbn1cclxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1mYW1pbHksICRmaWxlLXBhdGgpIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIEBwcml2YXRlIERlZmF1bHQgZm9udC1zaXplIGZvciBhbGwgYnJvd3NlcnNcclxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6ICRTVEFSVElOR1BYO1xyXG5cclxuLy8gQmFzZSBmb250IHNpemUgaW4gcGl4ZWxzLCBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLlxyXG4vLyBTaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIGZvbnQtc2l6ZSBvZiB0aGUgaHRtbCBlbGVtZW50LlxyXG4kYmFzZS1mb250LXNpemU6ICRTVEFSVElOR1BYICFkZWZhdWx0O1xyXG5cclxuLy8gV2hldGhlciB0byBvdXRwdXQgZmFsbGJhY2sgdmFsdWVzIGluIHB4IHdoZW4gb3V0cHV0dGluZyByZW1zLlxyXG4kcmVtLXdpdGgtcHgtZmFsbGJhY2s6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb252ZXJ0IGFueSBDU1MgPGxlbmd0aD4gb3IgPHBlcmNlbnRhZ2U+IHZhbHVlIHRvIGFueSBvdGhlci5cclxuQGZ1bmN0aW9uIGNvbnZlcnQtbGVuZ3RoKCRsZW5ndGgsICR0by11bml0LCAkZnJvbS1jb250ZXh0OiAkYmFzZS1mb250LXNpemUsICR0by1jb250ZXh0OiAkZnJvbS1jb250ZXh0KSB7XHJcblx0JGZyb20tdW5pdDogdW5pdCgkbGVuZ3RoKTtcclxuXHJcblx0Ly8gT3B0aW1pemUgZm9yIGNhc2VzIHdoZXJlIGZyb20gYW5kIHRvIG1heSBhY2NpZGVudGFsbHkgYmUgdGhlIHNhbWUuXHJcblx0QGlmICRmcm9tLXVuaXQgPT0gJHRvLXVuaXQgeyBAcmV0dXJuICRsZW5ndGg7IH1cclxuXHRAaWYgdW5pdCgkZnJvbS1jb250ZXh0KSAhPSAncHgnIHsgQHdhcm4gXCJQYXJhbWV0ZXIgJGZyb20tY29udGV4dCBtdXN0IHJlc29sdmUgdG8gYSB2YWx1ZSBpbiBwaXhlbCB1bml0cy5cIjsgfVxyXG5cdEBpZiB1bml0KCR0by1jb250ZXh0KSAhPSAncHgnIHsgQHdhcm4gXCJQYXJhbWV0ZXIgJHRvLWNvbnRleHQgbXVzdCByZXNvbHZlIHRvIGEgdmFsdWUgaW4gcGl4ZWwgdW5pdHMuXCI7IH1cclxuXHJcblx0Ly8gRml4ZWQgcmF0aW9zXHJcblx0Ly8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vQ1NTL2xlbmd0aFxyXG5cdC8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtdmFsdWVzLyNhYnNvbHV0ZS1sZW5ndGhzXHJcblx0JHB4LXBlci1pbjogOTZweCAvIDFpbjtcclxuXHQkcHgtcGVyLW1tOiA5NnB4IC8gMjUuNG1tO1xyXG5cdCRweC1wZXItY206IDk2cHggLyAyLjU0Y207XHJcblx0JHB4LXBlci1wdDogNHB4IC8gM3B0O1xyXG5cdCRweC1wZXItcGM6IDE2cHggLyAxcGM7XHJcblxyXG5cdC8vIFZhcmlhYmxlcyB0byBzdG9yZSBhY3R1YWwgY29udmVzaW9uIHJhdGlvc1xyXG5cdCRweC1wZXItZnJvbS11bml0OiAxO1xyXG5cdCRweC1wZXItdG8tdW5pdDogMTtcclxuXHJcblx0QGlmICRmcm9tLXVuaXQgIT0gJ3B4JyB7XHJcblx0XHRAaWYgICAgICAkZnJvbS11bml0ID09ICdlbScgIHsgJHB4LXBlci1mcm9tLXVuaXQ6ICRmcm9tLWNvbnRleHQgLyAxZW0gfVxyXG5cdFx0QGVsc2UgaWYgJGZyb20tdW5pdCA9PSAncmVtJyB7ICRweC1wZXItZnJvbS11bml0OiAkYmFzZS1mb250LXNpemUgLyAxcmVtIH1cclxuXHRcdEBlbHNlIGlmICRmcm9tLXVuaXQgPT0gJyUnICAgeyAkcHgtcGVyLWZyb20tdW5pdDogJGZyb20tY29udGV4dCAvIDEwMCUgfVxyXG5cdFx0QGVsc2UgaWYgJGZyb20tdW5pdCA9PSAnZXgnICB7ICRweC1wZXItZnJvbS11bml0OiAkZnJvbS1jb250ZXh0IC8gMmV4IH1cclxuXHRcdEBlbHNlIGlmICRmcm9tLXVuaXQgPT0gJ2luJyAgeyAkcHgtcGVyLWZyb20tdW5pdDogJHB4LXBlci1pbiB9XHJcblx0XHRAZWxzZSBpZiAkZnJvbS11bml0ID09ICdtbScgIHsgJHB4LXBlci1mcm9tLXVuaXQ6ICRweC1wZXItbW0gfVxyXG5cdFx0QGVsc2UgaWYgJGZyb20tdW5pdCA9PSAnY20nICB7ICRweC1wZXItZnJvbS11bml0OiAkcHgtcGVyLWNtIH1cclxuXHRcdEBlbHNlIGlmICRmcm9tLXVuaXQgPT0gJ3B0JyAgeyAkcHgtcGVyLWZyb20tdW5pdDogJHB4LXBlci1wdCB9XHJcblx0XHRAZWxzZSBpZiAkZnJvbS11bml0ID09ICdwYycgIHsgJHB4LXBlci1mcm9tLXVuaXQ6ICRweC1wZXItcGMgfVxyXG5cdFx0QGVsc2UgaWYgJHRvLXVuaXQgPT0gJ2NoJyBvciAkdG8tdW5pdCA9PSAndncnIG9yICR0by11bml0ID09ICd2aCcgb3IgJHRvLXVuaXQgPT0gJ3ZtaW4nIHtcclxuXHRcdFx0QHdhcm4gXCIjeyRmcm9tLXVuaXR9IHVuaXRzIGNhbid0IGJlIHJlbGlhYmx5IGNvbnZlcnRlZDsgUmV0dXJuaW5nIG9yaWdpbmFsIHZhbHVlLlwiO1xyXG5cdFx0XHRAcmV0dXJuICRsZW5ndGg7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdEB3YXJuIFwiI3skZnJvbS11bml0fSBpcyBhbiB1bmtub3duIGxlbmd0aCB1bml0LiBSZXR1cm5pbmcgb3JpZ2luYWwgdmFsdWUuXCI7XHJcblx0XHRcdEByZXR1cm4gJGxlbmd0aDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpZiAkdG8tdW5pdCAhPSAncHgnIHtcclxuXHRcdEBpZiAgICAgICR0by11bml0ID09ICdlbScgIHsgJHB4LXBlci10by11bml0OiAkdG8tY29udGV4dCAvIDFlbSB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAncmVtJyB7ICRweC1wZXItdG8tdW5pdDogJGJhc2UtZm9udC1zaXplIC8gMXJlbSB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAnJScgICB7ICRweC1wZXItdG8tdW5pdDogJHRvLWNvbnRleHQgLyAxMDAlIH1cclxuXHRcdEBlbHNlIGlmICR0by11bml0ID09ICdleCcgIHsgJHB4LXBlci10by11bml0OiAkdG8tY29udGV4dCAvIDJleCB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAnaW4nICB7ICRweC1wZXItdG8tdW5pdDogJHB4LXBlci1pbiB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAnbW0nICB7ICRweC1wZXItdG8tdW5pdDogJHB4LXBlci1tbSB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAnY20nICB7ICRweC1wZXItdG8tdW5pdDogJHB4LXBlci1jbSB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAncHQnICB7ICRweC1wZXItdG8tdW5pdDogJHB4LXBlci1wdCB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAncGMnICB7ICRweC1wZXItdG8tdW5pdDogJHB4LXBlci1weCB9XHJcblx0XHRAZWxzZSBpZiAkdG8tdW5pdCA9PSAnY2gnIG9yICR0by11bml0ID09ICd2dycgb3IgJHRvLXVuaXQgPT0gJ3ZoJyBvciAkdG8tdW5pdCA9PSAndm1pbicge1xyXG5cdFx0XHRAd2FybiBcIiN7JHRvLXVuaXR9IHVuaXRzIGNhbid0IGJlIHJlbGlhYmx5IGNvbnZlcnRlZDsgUmV0dXJuaW5nIG9yaWdpbmFsIHZhbHVlLlwiO1xyXG5cdFx0XHRAcmV0dXJuICRsZW5ndGg7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdEB3YXJuIFwiI3skdG8tdW5pdH0gaXMgYW4gdW5rbm93biBsZW5ndGggdW5pdC4gUmV0dXJuaW5nIG9yaWdpbmFsIHZhbHVlLlwiO1xyXG5cdFx0XHRAcmV0dXJuICRsZW5ndGg7XHJcblx0XHR9XHJcblx0fVxyXG5cdEByZXR1cm4gJGxlbmd0aCAqICRweC1wZXItZnJvbS11bml0IC8gJHB4LXBlci10by11bml0O1xyXG59XHJcblxyXG4vLyBGb3IgdGhlIGdpdmVuIHByb3BlcnR5LCB1c2UgcmVtIHVuaXRzIHdpdGggcHggYXMgYSBmYWxsYmFjayB2YWx1ZSBmb3Igb2xkZXJcclxuLy8gYnJvd3NlcnMuXHJcbi8vXHJcbi8vICRwcm9wZXJ0eSAtIFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cclxuLy8gJHZhbHVlcyAtIFRoZSB2YWx1ZSAob3Igc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgdmFsdWVzKSBmb3IgdGhlIHByb3BlcnR5LlxyXG4vLyAkcmVtLXdpdGgtcHgtZmFsbGJhY2sgLSBCb29sZWFuLCBkZWZhdWx0OiB0cnVlOyB3aGV0aGVyIHRvIHVzZSBwaXhlbCBmYWxsYmFjayB2YWx1ZXMuXHJcbi8vICRpbXBvcnRhbnQg4oCTIEJvb2xlYW4sIGRlZmF1bHQ6IGZhbHNlOyB3aGV0aGVyIHRvIGFkZCBhbiAhaW1wb3J0YW50IGZsYWcgdG8gdGhlIGRlY2xhcmF0aW9uLlxyXG4vL1xyXG5AbWl4aW4gcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHVzZS1weC1mYWxsYmFjazogJHJlbS13aXRoLXB4LWZhbGxiYWNrLCAkaW1wb3J0YW50OiBmYWxzZSkge1xyXG5cdC8vIENyZWF0ZSBhIGNvdXBsZSBvZiBlbXB0eSBsaXN0cyBhcyBvdXRwdXQgYnVmZmVycy5cclxuXHQkcHgtdmFsdWVzOiAoKTtcclxuXHQkcmVtLXZhbHVlczogKCk7XHJcblxyXG5cdC8vIEVuc3VyZSAkdmFsdWVzIGlzIGEgbGlzdC5cclxuXHRAaWYgdHlwZS1vZigkdmFsdWVzKSAhPSAnbGlzdCcge1xyXG5cdFx0JHZhbHVlczogam9pbigoKSwgJHZhbHVlcyk7XHJcblx0fVxyXG5cclxuXHQvLyBMb29wIHRocm91Z2ggdGhlICR2YWx1ZXMgbGlzdFxyXG5cdEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcclxuXHRcdC8vIFBhc3MgdGhyb3VnaCBzdHJpbmcgdmFsdWVzIGxpa2UgYGF1dG9gIG9yIGBpbmhlcml0YC5cclxuXHRcdC8vQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcgb3IgJHZhbHVlID09IDAge1xyXG4gICAgICAgIEBpZiBpbmRleCgoMCwgMHB4KSwgJHZhbHVlKSB7IC8vZml4IGZvciBkZXByZWNhdGlvbiB3YXJuaW5nXHJcblx0XHRcdCRweC12YWx1ZXM6IGpvaW4oJHB4LXZhbHVlcywgJHZhbHVlKTtcclxuXHRcdFx0JHJlbS12YWx1ZXM6IGpvaW4oJHJlbS12YWx1ZXMsICR2YWx1ZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gRm9yIGVhY2ggcHJvcGVydHkgdmFsdWUsIGlmIGl0J3MgaW4gcmVtIG9yIHB4LCBkZXJpdmUgYm90aCByZW0gYW5kXHJcblx0XHQvLyBweCB2YWx1ZXMgZm9yIGl0IGFuZCBhZGQgdGhvc2UgdG8gdGhlIGVuZCBvZiB0aGUgYXBwcm9wcmlhdGUgYnVmZmVyLlxyXG5cdFx0Ly8gRW5zdXJlIGFsbCBwaXhlbCB2YWx1ZXMgYXJlIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuXHJcblx0XHRAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKHVuaXQoJHZhbHVlKSA9PSBweCBvciB1bml0KCR2YWx1ZSkgPT0gcmVtKSB7XHJcblx0XHRcdEBpZiB1bml0KCR2YWx1ZSkgPT0gcHgge1xyXG5cdFx0XHRcdCRweC12YWx1ZXM6IGpvaW4oJHB4LXZhbHVlcywgcm91bmQoJHZhbHVlKSk7XHJcblx0XHRcdFx0JHJlbS12YWx1ZXM6IGpvaW4oJHJlbS12YWx1ZXMsIGNvbnZlcnQtbGVuZ3RoKCR2YWx1ZSwgcmVtKSk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdCRweC12YWx1ZXM6IGpvaW4oJHB4LXZhbHVlcywgcm91bmQoY29udmVydC1sZW5ndGgoJHZhbHVlLCBweCkpKTtcclxuXHRcdFx0XHQkcmVtLXZhbHVlczogam9pbigkcmVtLXZhbHVlcywgJHZhbHVlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGVsc2UgeyAvL2lmIHZhbHVlcyBhcmUgbm90IHB4IG9yIHJlbSBiYXNlZCwgb25seSBvdXRwdXQgc3R5bGUgb25jZVxyXG5cdFx0XHQvLyRweC12YWx1ZXM6IGpvaW4oJHB4LXZhbHVlcywgJHZhbHVlKTtcclxuXHRcdFx0JHJlbS12YWx1ZXM6IGpvaW4oJHJlbS12YWx1ZXMsICR2YWx1ZSk7XHJcbiAgICAgICAgICAgICR1c2UtcHgtZmFsbGJhY2sgOiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEFkZCBhbiAhaW1wb3J0YW50IGZsYWcgaWYgbmVjZXNzYXJ5LlxyXG5cdEBpZiAkaW1wb3J0YW50IHtcclxuXHRcdCRweC12YWx1ZXM6ICN7ICRweC12YWx1ZXMgKyBcIiAhaW1wb3J0YW50XCIgfTtcclxuXHRcdCRyZW0tdmFsdWVzOiAjeyAkcmVtLXZhbHVlcyArIFwiICFpbXBvcnRhbnRcIiB9O1xyXG5cdH1cclxuXHJcblx0Ly8gVXNlIHBpeGVsIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHVuZGVyc3RhbmQgcmVtIHVuaXRzLlxyXG5cdEBpZiAkdXNlLXB4LWZhbGxiYWNrIHtcclxuXHRcdCN7JHByb3BlcnR5fTogJHB4LXZhbHVlcztcclxuXHR9XHJcblxyXG5cdC8vIFVzZSByZW0gdmFsdWVzIGZvciBldmVyeW9uZSBlbHNlIChvdmVycmlkZXMgcGl4ZWwgdmFsdWVzKS5cclxuXHQjeyRwcm9wZXJ0eX06ICRyZW0tdmFsdWVzO1xyXG59IiwiLy9DU1MgaXMgd3JpdHRlbiBpbiBtb2JpbGUgZmlyc3QsIHRoZW4gcmVzcG9uZHMgdG8gYmlnZ2VyIGRldmljZXNcclxuJHBhZ2UgOiAnaW5kZXgnO1xyXG5AaW1wb3J0IFwiLi4vaW5jbHVkZXMvaGVhZGVyXCI7XHJcbi8qKiBTdGFydCBmb290ZXIgKiovXHJcbkBpbXBvcnQgXCIuLi9pbmNsdWRlcy9mb290ZXJcIjtcclxuXHJcbi8qKiBTdGFydCBvZiBwYWdlIHN0eWxlcyAqKi9cclxuQGlmICgkY2xpZW50ID09ICdhbGFza2EnKXtcclxuXHRib2R5e1xyXG5cdFx0QGluY2x1ZGUgQVNDaXJjdWxhci1Cb2xkO1xyXG5cdH1cclxuXHQuc3ViaGVhZGxpbmV7XHJcblx0XHRAaW5jbHVkZSBBU0NpcmN1bGFyLUJvb2s7XHJcblx0fVxyXG59XHJcbi5oZWFkZXJ7XHJcblx0QGV4dGVuZCAlaGVhZGVyO1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgICBAaWYgKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0bWluLWhlaWdodDoxMzFweDtcclxuXHR9QGVsc2V7XHJcblx0XHRtaW4taGVpZ2h0OjEyMXB4O1xyXG5cdH1cclxuICAgIEBpZiAkY2xpZW50ID09ICdhbGFza2Ene1xyXG5cdCAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHQgICAgICAgIEBpbmNsdWRlIEJVSUxEKG1pbi1oZWlnaHQsIDc1cHgpO1xyXG5cdCAgICB9XHJcblx0fUBlbHNlIGlmICgkY2xpZW50ID09ICd1bml0ZWQnKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG5cdCAgICAgICAgQGluY2x1ZGUgQlVJTEQobWluLWhlaWdodCwgOTVweCk7XHJcblx0ICAgIH1cclxuXHR9QGVsc2V7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHQgICAgICAgIEBpbmNsdWRlIEJVSUxEKG1pbi1oZWlnaHQsIDg1cHgpO1xyXG5cdCAgICB9XHJcblx0fVxyXG5cdEBpZiAoJGNsaWVudCA9PSAnc3Bpcml0Jyl7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdH1cclxufVxyXG5AaW1wb3J0IFwiLi4vaW5jbHVkZXMvc3ViaGVhZFwiO1xyXG4uc3ViaGVhZHtcclxuXHRAaWYoJGNsaWVudCA9PSAnYWxhc2thJyBvciAkY2xpZW50ID09ICdoaWx0b24nKXtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDk2MHB4O1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcblx0XHRcdHdpZHRoOiA5MCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBpbmNsdWRlIEJVSUxEKG1pbi1oZWlnaHQsIDExMnB4KTtcclxuXHRAaW5jbHVkZSBCVUlMRCh0b3AsIDEyMHB4KTsgLy9Ob3QgdXNlZCBieSBVbml0ZWRcclxuXHRAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgODBweCk7IC8vTm90IHVzZWQgYnkgVW5pdGVkXHJcblx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLWJvdHRvbSwgMjBweCk7XHJcblx0fVxyXG5cdEBpZigkY2xpZW50ID09ICdkZWx0YScgb3IgJGNsaWVudCA9PSAnbGFxdWludGEnIG9yICRjbGllbnQgPT0gJ2hpbHRvbicgb3IgJGNsaWVudCA9PSAnamV0Ymx1ZScgb3IgJGNsaWVudCA9PSAndm9pbGEnKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTZweCAwIDIwcHgpO1xyXG5cdFx0XHRAaWYoJGNsaWVudCAhPSAnbGFxdWludGEnKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLWxlZnQsIDQ1cHgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiVkZWx0YS1oZWFkbGluZXtcclxuXHRAaWYoJGNsaWVudEZvbnQgIT0gJycpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG5cdH1cclxuXHRcclxuXHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDM0cHgpO1xyXG5cdEBpbmNsdWRlIEJVSUxEKGxpbmUtaGVpZ2h0LCAzNHB4KTtcclxuXHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLXRvcCwgMSUpO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdCBcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi10b3AsIDEyLjhweCk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQobWFyZ2luLXRvcCwgMCk7XHJcbiAgICB9XHJcbn1cclxuLmhlYWRsaW5le1xyXG5cdEBleHRlbmQgJWhlYWRsaW5lO1xyXG5cdEBpZigkY2xpZW50ID09ICdkZWx0YScpe1xyXG5cdFx0QGV4dGVuZCAlZGVsdGEtaGVhZGxpbmU7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzFweCk7XHJcblx0XHR9XHJcblx0ICAgIEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSw0MHB4KTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnbGFxdWludGEnKXtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsMzVweCk7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2Zyb250aWVyJyBvciAkY2xpZW50ID09ICdoYXdhaWlhbicpe1xyXG5cdFx0Y29sb3I6ICMwNjQwN2E7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDI1cHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTBweCAwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHRcdFxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRNT0JJTEUpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDAgMTBweCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctYm90dG9tLCAyMHB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzRweCk7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuXHRcdFx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICd2b2lsYScpe1xyXG5cdFx0QGV4dGVuZCAlZGVsdGEtaGVhZGxpbmU7XHJcblx0XHRjb2xvcjogIzVjNjI2NztcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctdG9wLCAzJSk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDMwcHgpO1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDI4cHgpO1xyXG5cdFx0fVxyXG5cdCAgICBAbWVkaWEgKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDM1cHgpO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuXHRcdGNvbG9yOiAjMDE0MjZhO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyNXB4KTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDEwcHggMCk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDM0cHgpO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdjaG9pY2UnKXtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG59XHJcbi5zdWJoZWFkbGluZXtcclxuXHRAZXh0ZW5kICVzdWJoZWFkbGluZTtcclxufVxyXG4uaGVhZGxpbmUtbWlsZXN7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG4gICAgXHR0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxufTtcclxuLyoqLS0gRW5kIGJhbm5lciBzZWN0aW9uIC0tKiovXHJcbi8qKiBTdGFydCBNb2RhbCAqKi9cclxuQGltcG9ydCBcIi4uL2luY2x1ZGVzL21vZGFsXCI7XHJcbi5tb2RhbHtcclxuICAgIG1heC13aWR0aDo0OTVweDtcclxufVxyXG4vKiotLUVuZCBNb2RhbCAtLSoqL1xyXG4vKiogU3RhcnQgbWFnYXppbmUgYm9keSAqKi9cclxuQGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdC5jb250YWluZXIubWFpbntcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbi5oZWFkaW5ne1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbn1cclxuICAudGl0bGUtYmFye1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRAaW5jbHVkZSBHUkFESUVOVChtYXAtZ2V0KCRoZWFkZXJCYWNrZ3JvdW5kLCBzdGFydENvbG9yKSwgaWYobWFwLWhhcy1rZXkoJGhlYWRlckJhY2tncm91bmQsIGVuZENvbG9yKSwgbWFwLWdldCgkaGVhZGVyQmFja2dyb3VuZCwgZW5kQ29sb3IpLCBtYXAtZ2V0KCRoZWFkZXJCYWNrZ3JvdW5kLCBzdGFydENvbG9yKSkpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMCAwKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDIwcHgpO1xyXG5cdH1cclxuXHQud3JhcHBlciBkaXYucm93IHVsLm1hZ2F6aW5lcy50d2VsdmUuY29sdW1uc3tcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDAgMjBweCk7XHJcblx0fVxyXG59XHJcbi8qKiBTdGFydCBtYWdhemluZSBsaXN0ICoqL1xyXG5AaW1wb3J0IFwiLi4vaW5jbHVkZXMvbWFnYXppbmVcIjtcclxuLyoqLS0gRW5kIE1hZ2F6aW5lIExpc3QgLS0qKi9cclxuQGltcG9ydCBcIi4uL2luY2x1ZGVzL21vYmlsZS1hcnJvd1wiO1xyXG4ub2ZmZXItYnl7XHJcblx0QGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW46IGF1dG8gYXV0bztcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQobWFyZ2luLWJvdHRvbSwgMTNweCk7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ub2ZmZXItYnktYnJ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0QG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbi5vZmZlci1ieS1ici1zZWNvbmR7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICB9XHJcbn1cclxuLmNoZWNrb3V0LWhvbGRlcntcclxuXHRAaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcblx0ICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDUwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uY29weS1ob2xkZXJ7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRAaWYoJGNsaWVudCA9PSAnYW1lcmljYW4nKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0QGlmKCRjbGllbnQgPT0gJ2pldGJsdWUnKXtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQobWFyZ2luLWJvdHRvbSwgMjVweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBlbHNle1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChtYXJnaW4tYm90dG9tLCA2MHB4KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNoZWNrb3V0e1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0QGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRsaW5rRm9udDtcclxuXHR9XHJcblx0QGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNoZWNrb3V0LmNvcHl7XHJcbiAgICBwe1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTJweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQod2lkdGgsIDIxNnB4KTtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChtYXJnaW4sIDIwcHggYXV0byk7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cdEBpZigkY2xpZW50ID09ICd1bml0ZWQnKXtcclxuXHRcdHAubGVnYWxDb3B5e1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDlweCk7XHJcblx0XHRcdHRleHQtYWxpZ246anVzdGlmeTtcclxuXHRcdFx0bWF4LXdpZHRoOjU4NXB4O1xyXG5cdFx0XHR3aWR0aDo5MCU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uY2FwaXRhbGl6ZS10ZXh0e1xyXG5cdEBpZigkY2xpZW50ID09ICdqZXRibHVlJyl7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuXHR9XHJcblx0QGVsc2UgaWYoJGNsaWVudCA9PSAndW5pdGVkJyl7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG5cdH1cclxuXHRAZWxzZXtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiRjbGllbnRDYXNlVmFsdWU7XHJcblx0fVxyXG59XHJcbi5oZWFkbGluZSBzdXB7XHJcblx0QGluY2x1ZGUgQlVJTEQodG9wLCAtMTBweCk7XHJcblx0Zm9udC1zaXplOiA0MyU7XHJcblx0QGlmKCRjbGllbnQgPT0gJ2FtZXJpY2FuJyl7XHJcblx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIC04cHgpO1xyXG5cdH1cclxuXHRAZWxzZSBpZigkY2xpZW50ID09ICdjaG9pY2UnKXtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgLTE4cHgpO1x0XHJcblx0fVxyXG5cdEBlbHNlIGlmKCRjbGllbnQgPT0gJ2Zyb250aWVyJyBvciAkY2xpZW50ID09ICdoaWx0b24nKXtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgLTE1cHgpO1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHRcdEBpZigkY2xpZW50ID09ICdhbWVyaWNhbicpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRCh0b3AsIC0xM3B4KTtcdFxyXG5cdFx0fVxyXG5cdFx0QGVsc2UgaWYoJGNsaWVudCA9PSAnY2hvaWNlJyl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgLTE4cHgpO1x0XHJcblx0XHR9XHJcblx0XHRAZWxzZSBpZigkY2xpZW50ID09ICdzcGlyaXQnKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQodG9wLCAtMjBweCk7XHRcclxuXHRcdH1cclxuXHRcdEBlbHNlIGlmKCRjbGllbnQgPT0gJ2xhcXVpbnRhJyl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHRvcCwgLTEycHgpO1xyXG5cdFx0XHRmb250LXNpemU6IDYwJTtcdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKi0tIEVuZCBtYWdhemluZSBib2R5IC0tKiovXHJcbkBpZigkY2xpZW50ID09ICdkZWx0YScpe1xyXG5cdC5oZWFkbGluZXtcclxuXHRtaW4taGVpZ2h0OiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbmRpdiAuc3ViaGVhZHtcclxuXHRwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWluLWhlaWdodDogNDBweDtcclxufVxyXG4uc3ViaGVhZGxpbmV7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG4ub2ZmZXItdHlwZXtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjM2E1ZDc5O1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmxlZnQtb2ZmZXIgLm9mZmVyLXR5cGV7XHJcblx0cGFkZGluZzogMjBweCAxNXB4IDE1cHg7XHJcbn1cclxuLmxlZnQtb2ZmZXIgLm9mZmVyLXR5cGUgZGl2e1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG59XHJcbi5yaWdodC1vZmZlciAub2ZmZXItdHlwZXtcclxuXHRwYWRkaW5nOiAxNXB4IDIwcHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYTIxMDA7XHJcbn1cclxuLnJpZ2h0LW9mZmVyIC5vZmZlci10eXBlIGRpdntcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxufVxyXG4ucHJvZHVjdC1zaWRlYmFyLW5hbWV7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4uZXh0cmEtb2ZmZXJ7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG4uZXh0cmEtb2ZmZXIgLmVndWlkZXMgbGl7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuLmV4dHJhLW9mZmVyIGxpIC5wcm9kdWN0LWluZm97XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uZXh0cmEtb2ZmZXIgbGkgYS5idXR0b24tY2FydC5idXR0b257XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAzMCU7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4ub2ZmZXItaW5zdHJ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmxvZ28taW5zdHJ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxufVxyXG4uZWJvb2tzIGxpIGRpdi5wcm9kdWN0LWluZm97XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgbWF4LXdpZHRoOiAxMjVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG59XHJcbi5lYm9va3MgZGl2LnByb2R1Y3QtaW5mbyBpbWd7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuLnByb2R1Y3QtZWJvb2t7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0d2lkdGg6IDYwJTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG59XHJcbi5leHRyYS1vZmZlci1yb3d7XHJcblx0bWFyZ2luOiAwIDE1cHg7XHJcbn1cclxuLndyaXR0ZW4tYnl7XHJcblx0Y29sb3I6ICM4RThFOEU7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHRcclxufVxyXG4ubGVmdC1vZmZlcntcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxufVxyXG4ucmlnaHQtb2ZmZXJ7XHJcblx0d2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcclxufVxyXG4uZXh0cmEtb2ZmZXIgLm9uZS10aGlyZC5jb2x1bW57XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcbmEuYnV0dG9uLXNlbGVjdGVkLmJ1dHRvbi1jYXJ0LmJ1dHRvbntcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuLmhlYWRsaW5le1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5AbWVkaWEobWluLXdpZHRoOiRNT0JJTEUpe1xyXG5cdC5oZWFkbGluZXtcclxuXHRcdGZvbnQtc2l6ZTogMzRweDtcclxuXHR9XHJcblx0ZGl2IC5zdWJoZWFke1xyXG5cdFx0bWluLWhlaWdodDogNzJweDtcclxuXHR9XHJcbn1cclxuQG1lZGlhKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHQuZXh0cmEtb2ZmZXIgLm9uZS10aGlyZC5jb2x1bW57XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHQuZXh0cmEtb2ZmZXIgbGkgYS5idXR0b24tY2FydC5idXR0b257XHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdH1cclxuXHQuc3ViaGVhZGxpbmV7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblx0fVxyXG59XHJcbkBtZWRpYShtaW4td2lkdGg6JERFU0tUT1Ape1xyXG5cdC5sZWZ0LW9mZmVye1xyXG5cdFx0d2lkdGg6IDU1JTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMiU7XHJcbiAgICBcdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cdH1cclxuXHQucmlnaHQtb2ZmZXJ7XHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0fVxyXG5cdC5tYWdhemluZXMgbGkub25lLWZpZnRoLmNvbHVtbntcclxuXHQgICAgd2lkdGg6IDMwJTtcclxuXHR9XHJcblx0ZGl2LnJvdyB1bC5tYWdhemluZXMuY29sdW1ucyBsaTpudGgtY2hpbGQoM24rMSl7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcblx0ZGl2LnJvdyB1bC5tYWdhemluZXMuY29sdW1ucyBsaTpudGgtY2hpbGQoM24rMil7XHJcblx0XHRtYXJnaW4tbGVmdDogNCU7XHJcblx0fVxyXG5cdGRpdi5yb3cgdWwubWFnYXppbmVzLmNvbHVtbnMgbGk6bnRoLWNoaWxkKDNuKXtcclxuXHRcdG1hcmdpbi1sZWZ0OiA0JTtcclxuXHR9XHJcblx0LmZvb3RlcntcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxufVxyXG5cclxufSIsIi5zZWFyY2h7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRtYXJnaW4tbGVmdDogNSU7XHJcblx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG4uc2VhcmNoLWZpZWxke1xyXG5cdGRpc3BsYXk6bm9uZTtcclxuXHRpbnB1dHtcclxuXHRcdEBpbXBvcnQgXCJmb3JtLXBsYWNlaG9sZGVyXCI7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChtYXJnaW4sIDEwcHggMCAwKTtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0fVxyXG5cdC5zZWFyY2gtZmllbGQtcmVzdWx0cy1jb250YWluZXJ7XHJcblx0XHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHQuc2VhcmNoLWZpZWxkLXJlc3VsdHN7XHJcblx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0cGFkZGluZzoyJSA1JTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYubm90LWZvdW5ke1xyXG5cdFx0XHRcdFx0Y29sb3I6ICM5OTk7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiJHZlbmRvcnM6IFwiLXdlYmtpdC1cIiwgXCItbW96LVwiLCBcIi1vLVwiLCBcIlwiO1xyXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXJzKCRzdHlsZTonJyl7XHJcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciN7JHN0eWxlfXtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxuXHQmOjotbW96LXBsYWNlaG9sZGVyI3skc3R5bGV9IHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciN7JHN0eWxlfSB7IFxyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG5cdCY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciN7JHN0eWxlfSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9XHJcblx0Jjo6cGxhY2Vob2xkZXIjeyRzdHlsZX0ge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcbkBpZigkY2xpZW50ICE9ICd1bml0ZWQnKXtcclxuXHRAaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9ybWFsO1xyXG5cdFx0QGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXJze1xyXG5cdFx0XHRmb250LWZhbWlseTogJ0FTQ2lyY3VsYXItQm9vaycsIHNhbnMtc2VyaWY7XHJcblx0XHR9XHJcblx0fUBlbHNle1xyXG5cdFx0QGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXJze1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1AZWxzZXtcclxuXHRAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcnMoJHN0eWxlOiAnOjpmaXJzdC1sZXR0ZXInKXtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDokVEFCTEVUKXtcclxuXHRAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcnMge1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3ItcHJlZml4KHRyYW5zaXRpb24sIGFsbCAwLjNzIGVhc2UtaW4tb3V0LCAkcHJlZml4OiAkdmVuZG9ycyk7XHJcblx0fVxyXG5cdFxyXG5cdC8vRm9yIHZhbGlkIHRvIHdvcmssIGlucHV0IGZpZWxkcyBuZWVkIHJlcXVpcmVkIGF0dHJpYnV0ZS4gVGhpcyBrZWVwcyB0aGUgcGxhY2Vob2xkZXIgYWJvdmUgaW5wdXQgZmllbGQgd2hlbiBibHVycmVkXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcnMge1xyXG5cdFx0XHRjb2xvcjogZGFya2VuKCMzM0MzRjAsIDEwJSk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvci1wcmVmaXgodHJhbnNmb3JtLCB0cmFuc2xhdGVZKC0wLjg1ZW0pLCAkcHJlZml4OiAoXCItd2Via2l0LVwiLFwiLW1zLVwiLFwiXCIpKTtcclxuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL05lZWQgdG8gZml4IEVtYWlsIGZpZWxkIHdpdGggOmludmFsaWQgc2VsZWN0b3Igb24gYmx1ci5cclxuXHRcclxuXHQvL0FkZGl0aW9uYWwgY2xhc3MgdG8gaGFuZGxlIGZhZGUgb3V0IHdoZW4gZm9jdXNlZCBmb3IgeCBzZWNzXHJcblx0Ji5oaWRlTGFiZWwge1xyXG5cdFx0QGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXJzIHtcclxuXHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yLXByZWZpeCh0cmFuc2l0aW9uLCBhbGwgNHMgZWFzZS1pbi1vdXQsICRwcmVmaXg6ICR2ZW5kb3JzKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuZm9vdGVye1xyXG4gICAgZm9udC1mYW1pbHk6SGVsdmV0aWNhTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcclxuICAgIGJhY2tncm91bmQ6ICRmb290ZXJCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICBAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDEycHgpO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQocGFkZGluZy10b3AsIDIwcHgpO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6NDtcclxuXHRcclxuXHRjb2xvcjogJGZvb3RlckZvbnRDb2xvcjtcclxuXHQuY2FQcml2YWN5QnJ7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcblx0XHQuY2FQcml2YWN5QnJ7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG4gICAgYXtcclxuXHRcdGNvbG9yOiAkZm9vdGVyRm9udENvbG9yO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcbiAgICB9XHJcbiAgICBwe1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbi10b3AsIDEwcHgpO1xyXG4gICAgfVxyXG5cdFxyXG5cdEBpZigkY2xpZW50ID09ICd2b2lsYScpe1xyXG5cdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICNkOWQ0YzI7XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG5cdFx0Jjo6YmVmb3Jle1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly93d3cuc3Bpcml0LmNvbS9pbWFnZXMvc3Bpcml0d2F5L2Zvb3Rlcl9saW5lLnBuZykgcmVwZWF0LXggMCAwIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLWJvdHRvbSwgNHB4KTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IC00cHg7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi10b3AsIDM1cHgpO1xyXG5cdH1cclxuXHRAaWYoJGNsaWVudCA9PSBzcGlyaXQpe1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6JEhEREVTS1RPUCl7XHJcblx0XHRcdHdpZHRoOiAyMDAlO1xyXG4gICAgXHRcdGxlZnQ6IC01MCU7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiJWRlbHRhLXN1YmhlYWR7IC8vbWlnaHQgYmUgYWJsZSB0byBkZWxldGUgdGhpc1xyXG5cdEBpbmNsdWRlIEJVSUxEKG1pbi1oZWlnaHQsIDYwcHgpO1xyXG5cdEBpbmNsdWRlIEJVSUxEKHRvcCwgODVweCk7XHJcbn1cclxuLnN1YmhlYWR7XHJcblx0ei1pbmRleDoyO1xyXG5cdEBpZigkY2xpZW50ICE9ICdoaWx0b24nKXtcclxuXHRcdG1heC13aWR0aDokTUFYX1dJRFRIOyAvL1NldHMgcGFnZSBtYXggc28gYXMgdG8gbm90IGJyZWFrIHRoZSBjcmVhdGl2ZVxyXG4gICAgfVxyXG5cdEBpZigkY2xpZW50ID09ICdkZWx0YScpe1xyXG5cdFx0QGV4dGVuZCAlZGVsdGEtc3ViaGVhZDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG5cdFx0XHQvL0BpbmNsdWRlIEJVSUxEKHRvcCwgODBweCk7XHJcblx0XHRcdC8vQGluY2x1ZGUgQlVJTEQocGFkZGluZy1ib3R0b20sIDIwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6JERFU0tUT1Ape1xyXG5cdFx0XHQvL0BpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDBweCAwIDIwcHgpO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICd2b2lsYScpe1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwZWJlNDtcclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnbGFxdWludGEnKXtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjbGllbnRDb2xvcjtcclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcblx0XHRwYWRkaW5nOiAwIDUlO1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6JERFU0tUT1Ape1xyXG5cdFx0XHRwYWRkaW5nOiAwcHg7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2hpbHRvbicpe1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG59XHJcbiVoZWFkbGluZS1wcm9wZXJ0aWVze1xyXG5cdGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG59XHJcbiVoZWFkbGluZSB7XHJcbiAgICBAaWYoJGNsaWVudCA9PSAnZGVsdGEnIG9yICRjbGllbnQgPT0gJ3ZvaWxhJyl7XHJcblx0ICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdCAgICBjb2xvcjogJGZvbnRDb2xvcjtcclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnZnJvbnRpZXInIG9yICRjbGllbnQgPT0gJ2hhd2FpaWFuJyl7XHJcblx0XHRAaW5jbHVkZSBHUkFESUVOVCgjZTNlOWZmLCAjZTRlYWZmKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0ICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICBcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2FtZXJpY2FuJyl7XHJcblx0XHRAZXh0ZW5kICVoZWFkbGluZS1wcm9wZXJ0aWVzO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0XHRAaW5jbHVkZSBHUkFESUVOVCgjNGVhOGY3LCAjMWU3NGQ1KTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTlweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDE1cHggMjVweCAyMHB4KTtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkTU9CSUxFKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyMnB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyOHB4KTtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZy1sZWZ0LCA1MHB4KTtcclxuXHRcdH1cclxuICAgIH1AZWxzZSBpZigkY2xpZW50ID09ICdoaWx0b24nKXtcclxuICAgIFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyNnB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRjb2xvcjogIzExNGQ5NztcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHRcdHBhZGRpbmc6IDElIDIlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QG1lZGlhKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDMzcHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG4gICAgfUBlbHNlIGlmICgkY2xpZW50ID09ICdjaG9pY2UnKXtcclxuXHRcdGZvbnQtZmFtaWx5OiAkY2xpZW50Rm9udDtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwNWY2MTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDVweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDIwcHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMjBweCAxNXB4IDIwcHggMjBweCk7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdC8qdGV4dC1hbGlnbjogbGVmdDsqL1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDIwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDI2cHgpO1xyXG5cdFx0XHQvKkBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgNTBweCk7Ki9cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzNweCk7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMjVweCk7XHJcblx0XHRjb2xvcjogIzAwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDEwcHggMCk7XHJcblx0XHRcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCA0MHB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgNTBweCk7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgNDBweCk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5jbGllbnRTcGVjaWZpY0NvbG9ye1xyXG5cdFx0XHRjb2xvcjogJGNsaWVudFNwZWNpZmljVGV4dENvbG9yO1xyXG5cdFx0fVxyXG4gICAgfUBlbHNlIGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzYyYTllMztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQobWluLWhlaWdodCwgODBweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE3cHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMjBweCAwcHggMTBweCAzMHB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OjcwMDtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDNweCk7XHJcblx0XHRsaW5lLWhlaWdodDoxLjVlbTtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDokTU9CSUxFKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMjBweCAwIDBweCAzMHB4KTtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyMHB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyNnB4KTtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQobGluZS1oZWlnaHQsIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0ZGl2e1xyXG5cdFx0XHRmb250LXdlaWdodDpub3JtYWw7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbiwgMTBweCAwIDIwcHgpO1xyXG5cdFx0fVxyXG5cdFx0LmNsaWVudFNwZWNpZmljQ29sb3J7XHJcblx0XHRcdGNvbG9yOiAkY2xpZW50U3BlY2lmaWNUZXh0Q29sb3I7XHJcblx0XHR9XHJcbiAgICB9QGVsc2UgaWYoJGNsaWVudCA9PSAnamV0Ymx1ZScpe1xyXG4gICAgXHRmb250LWZhbWlseTogJGNsaWVudEZvbnQ7XHJcblx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDI1cHgpO1xyXG5cdFx0Y29sb3I6IzAwMjY2MztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChsaW5lLWhlaWdodCwgMS40ZW0pO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTVweCAwIDAgMTBweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChtaW4taGVpZ2h0LCAxMDZweCk7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzBweCk7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGxpbmUtaGVpZ2h0LCAxLjVlbSk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzBweCk7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgMjBweCk7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctcmlnaHQsIDEwcHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChsaW5lLWhlaWdodCwgMWVtKTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCA1OHB4KTtcclxuXHRcdH1cclxuICAgIH1AZWxzZSBpZigkY2xpZW50ID09ICdsYXF1aW50YScpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG4gICAgXHRjb2xvcjogI2ZmZjtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMjVweCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTVweCAwKTtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDIwcHggMCAxMHB4KTtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyN3B4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMjVweCAwIDEwcHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDQwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMHB4KTtcclxuXHRcdH1cclxuICAgIH1cclxufVxyXG4lZGVsdGEtaGVhZGVyIHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCA5cHggMCAxMS4yNXB4KTtcclxuXHRAaW5jbHVkZSBCVUlMRChtYXJnaW4tdG9wLCAxMHB4KTtcclxuXHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE4cHgpO1xyXG5cdEBpbmNsdWRlIEJVSUxEKGxpbmUtaGVpZ2h0LCAxOHB4KTtcclxuXHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChtYXJnaW4tdG9wLCAzNXB4KTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgMiUpO1xyXG5cdFx0dGV4dC1hbGlnbjpsZWZ0O1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNnB4KTtcclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6ICRERVNLVE9QKXtcclxuXHRcdGZsb2F0OnJpZ2h0O1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTBweCAzNXB4KTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKG1hcmdpbi10b3AsIDE4cHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQobGluZS1oZWlnaHQsIDE5LjJweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE2LjVweCk7XHJcblx0fVxyXG59XHJcbiVzdWJoZWFkbGluZSB7XHJcblx0QGlmKCRjbGllbnQgPT0gJ2RlbHRhJyl7XHJcblx0XHRAZXh0ZW5kICVkZWx0YS1oZWFkZXI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYmEyMTAwO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdmcm9udGllcicgb3IgJGNsaWVudCA9PSAnaGF3YWlpYW4nKXtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZDBkMWI7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMThweCk7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAxMHB4IDApO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cdFx0XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMjVweCk7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG5cdFx0Y29sb3I6ICMzYzNiM2Y7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyNHB4KTtcclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnYW1lcmljYW4nKXtcclxuXHRcdEBleHRlbmQgJWhlYWRsaW5lLXByb3BlcnRpZXM7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE2cHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTVweCAxNXB4IDE1cHggMjBweCk7XHJcblx0XHRjb2xvcjogIzM2NDk1YTtcclxuXHRcdGZvbnQtd2VpZ2h0OjcwMDtcclxuXHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkICMzNjQ5NWE7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMThweCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgNTBweCk7XHJcblx0XHR9XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2Nob2ljZScpe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRjbGllbnRGb250O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2UyNjgxMTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDE1cHggMTVweCAxNXB4IDIwcHgpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMThweCk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAyOHB4KTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnc3Bpcml0Jyl7XHJcblx0XHRmb250LWZhbWlseTogJGNsaWVudEZvbnQ7XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE2cHgpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTBweCk7XHJcblx0XHRcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxOHB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMjRweCk7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctbGVmdCwgNDBweCk7XHJcblx0XHR9XHJcblx0XHRcclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAndW5pdGVkJyl7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlY2I2M2M7XHJcblx0XHRoZWlnaHQ6ODVweDtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDE1cHggMzBweCAwKTtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTZweCk7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMThweCk7XHJcblx0XHR9XHJcblx0XHRmb250LXdlaWdodDo3MDA7XHJcblx0XHRsaW5lLWhlaWdodDoxZW07XHJcblx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcblx0fUBlbHNlIGlmKCRjbGllbnQgPT0gJ2pldGJsdWUnKXtcclxuXHRcdGZvbnQtZmFtaWx5OiAkY2xpZW50Rm9udDtcclxuXHRcdGZvbnQtd2VpZ2h0OjUwMDtcclxuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZWRmMTtcclxuXHRcdGNvbG9yOiAjNDU0NTQ1O1xyXG5cdFx0bGluZS1oZWlnaHQ6MS4yZW07XHJcblx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE4cHgpO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgMTBweCAxMHB4IDApO1xyXG5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkTU9CSUxFKXtcclxuXHRcdFx0bGluZS1oZWlnaHQ6MWVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDIzcHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLWxlZnQsIDIwcHgpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0fVxyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICd2b2lsYScpe1xyXG5cdFx0QGV4dGVuZCAlZGVsdGEtaGVhZGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNsaWVudENvbG9yO1xyXG5cdH1AZWxzZSBpZigkY2xpZW50ID09ICdoaWx0b24nKXtcclxuXHRcdGNvbG9yOiAjMjMxZjIwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMjBweCk7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHQgICAgcGFkZGluZzogMSUgMiU7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFRBQkxFVCl7XHJcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAzMXB4KTtcclxuXHRcdH1cclxuXHR9QGVsc2UgaWYoJGNsaWVudCA9PSAnbGFxdWludGEnKXtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxOHB4KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctYm90dG9tLCAxMHB4KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxZW07XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctYm90dG9tLCAxMHB4KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkVEFCTEVUKXtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5tb2JpbGVIaWRkZW57XHJcblx0QGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkREVTS1RPUCl7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5jaGVja291dC1mb3Jte1xyXG4gICAgbGFiZWx7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIEBpZiAoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub3JtYWw7XHJcblx0XHR9XHJcbiAgICAgICAgQGVsc2V7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY2xpZW50Q2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0XHQmOjpmaXJzdC1sZXR0ZXJ7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjFlbTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMnB4KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQobWFyZ2luLXJpZ2h0LCA1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokREVTS1RPUCl7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOjI0JTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6My40ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXR7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNkMmQ5ZGM7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBCT1JERVItUkFESVVTKDJweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgQk9YLVNIQURPVygwcHgsIDBweCwgOHB4LCAycHgsICNmNGY0ZjQsIHRydWUpO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgd2lkdGg6OTUlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDEycHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokREVTS1RPUCl7XHJcbiAgICAgICAgICAgIHdpZHRoOjcyJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBBU0NpcmN1bGFyLUJvb2s7XHJcbiAgICAgICAgfVxyXG5cdFx0QGltcG9ydCBcImZvcm0tcGxhY2Vob2xkZXJcIjtcclxuXHRcdCYuZXJyb3J7XHJcblx0ICAgICAgICBiYWNrZ3JvdW5kOnVybCgnI3skaW1nRGlyfS9lcnJvci5wbmcnKSAjZmZmIG5vLXJlcGVhdCA5NiUgY2VudGVyO1xyXG5cdCAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjY2MwMDAwO1xyXG4gICAgXHR9XHJcbiAgICB9XHJcbiAgICBkaXYuZXJyb3J7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIGNvbG9yOiNjYzAwMDA7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxM3B4KTtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChtYXJnaW4sIC0xNXB4IDAgMTVweCk7XHJcbiAgICAgICAgd2lkdGg6OTclO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDoxZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQocGFkZGluZy10b3AsIDNweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnIudS1jZntcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChoZWlnaHQsIDEwcHgpO1xyXG4gICAgfVxyXG59XHJcbi5hY2NvdW50LWluZm9ybWF0aW9uIHtcclxuICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbiwgMTBweCAwIDIwcHgpO1xyXG4gICAgaDN7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobWFyZ2luLWJvdHRvbSwgMTBweCk7XHJcbiAgICB9XHJcbiAgICBsYWJlbHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokREVTS1RPUCl7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJmb3JtXCI7IC8vT25seSBmb3IgY2hvaWNlLlxyXG4ub3ZlcmxheXtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIHdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpsaWdodGVuKCMwMDAsMjAlKTtcclxuICAgIEBpbmNsdWRlIE9QQUNJVFkoNjApO1xyXG4gICAgei1pbmRleDo1O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG4ubW9kYWwtZml4ZWR7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY7XHJcbiAgICBAaWYgJHBhZ2UgPT0gJ2luZGV4J3tcclxuICAgICAgICBsZWZ0OjIwJTtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRCh0b3AsIC0xMjBweCk7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRUQUJMRVQpe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBCVUlMRCh0b3AsIC05MHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9QGVsc2V7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQodG9wLCAzMHB4KTtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgIH1cclxufVxyXG4ubW9kYWx7XHJcbiAgICBAaWYgJHBhZ2UgPT0gJ2luZGV4J3tcclxuICAgICAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgICAgICB3aWR0aDo5MCU7XHJcbiAgICAgICAgbGVmdDo0JTtcclxuICAgICAgICB0b3A6IDIwJTtcclxuICAgIH1AZWxzZXtcclxuICAgICAgICBtYXgtd2lkdGg6MzQ1cHg7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcclxuICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgd2lkdGg6OTUlO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6NTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgYm9yZGVyOjRweCBzb2xpZCAjZTVlNmU2O1xyXG4gICAgQGluY2x1ZGUgQk9SREVSLVJBRElVUyg1cHgpO1xyXG5cclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgbWluLXdpZHRoOjI4NXB4O1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgbGVmdDo1JTtcclxuICAgICAgICB3aWR0aDo4MCU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJERFU0tUT1Ape1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbntcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICByaWdodDotMTVweDt0b3A6LTIwcHg7XHJcbiAgICB9XHJcbiAgICBoNHtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChtYXJnaW4sIDVweCAwKTtcclxuICAgIH1cclxuICAgIC5tb2RhbC1pbWd7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQocGFkZGluZy1ib3R0b20sIDEwcHgpO1xyXG4gICAgICAgIHdpZHRoOjMwJTtcclxuICAgICAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICB3aWR0aDo4MCU7XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG4gICAgICAgICAgICAgICAgLy93aWR0aDozNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgcHtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE0cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDBweCAyMHB4IDApO1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDEwcHgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgICAgICBAaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEFTQ2lyY3VsYXItQm9vaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29weXtcclxuICAgICAgICBAaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEFTQ2lyY3VsYXItQm9vaztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMXB4KTtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6NTglO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDEycHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGVja291dC1mb3Jte1xyXG4gICAgICAgIHdpZHRoOjkwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobWFyZ2luLCAwIGF1dG8pO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG4gICAgICAgICAgICB3aWR0aDo3NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3RCb3h7XHJcbiAgICAgICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dHt3aWR0aDoxMDAlO31cclxuICAgICAgICAuYnV0dG9ue1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE0cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9uLXByaW1hcnl7XHJcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDAgMjBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRyZXNzLWhlYWRlcntcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAxMHB4IDAgMCk7XHJcbiAgICAgICAgd2lkdGg6ODAlO21hcmdpbjowIGF1dG87XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDIwcHggMCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm1vZGFsLWFkZHJlc3N7XHJcbiAgICAuY2hlY2tvdXQtZm9ybXtcclxuICAgICAgICB3aWR0aDo5MCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbiwgMCBhdXRvKTtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgd2lkdGg6ODAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbHtkaXNwbGF5Om5vbmU7fVxyXG4gICAgICAgIC5idXR0b24tcHJpbWFyeXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQocGFkZGluZywgMCAxNXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZHJlc3MtaGVhZGVye1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDEwcHggMCAwKTtcclxuICAgICAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRUQUJMRVQpe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDAgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5lcnJvci1ib3h7XHJcbiAgICAubW9kYWx7XHJcbiAgICAgICAgQGluY2x1ZGUgQk9SREVSKDJweCBzb2xpZCAjZjE1NzBjKTtcclxuICAgICAgICAuY2xvc2UtYnV0dG9uIGltZ3tcclxuICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6aHVlLXJvdGF0ZSgxNDBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29weXtcclxuICAgICAgICAgICAgZmxvYXQ6bm9uZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgICAgICAgICB3aWR0aDo4NSU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTZweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDIwcHggMCAxMHB4KTtcclxuICAgICAgICAgICAgY29sb3I6I2YxNTcwYztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRNT0JJTEUpe1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxOHB4KTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjkwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjY1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgd2lkdGg6NTUlO1xyXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokTU9CSUxFKXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjI1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udW5pdGVkLWVycm9ye1xyXG5cdC5tb2RhbHtcclxuXHRcdGg1e1xyXG5cdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDIwcHggMCk7XHJcblx0XHR9XHJcblx0XHQuY29weXtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0d2lkdGg6IDkzJTtcclxuXHRcdFx0QGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxNnB4KTtcclxuXHRcdFx0XHJcblx0XHRcdGEuYnV0dG9ue1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMjUlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zdWJzY3JpYmVye1xyXG4gICAgcC5jb3B5e1xyXG4gICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgd2lkdGg6ODUlO1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxOHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAxMHB4IDAgMjBweCk7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgICAgIHdpZHRoOjc1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3Vic2NyaWJlci1ib3h7XHJcbiAgICAgICAgd2lkdGg6NzAlO1xyXG4gICAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgICAgIHdpZHRoOjUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGlmKCRjbGllbnQgPT0gJ2Nob2ljZScpe1xyXG5cdC5sb2dpbiB7XHJcblx0XHQubW9kYWwge1xyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgQlVJTEQocGFkZGluZywgNXB4IDIwcHggMCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDE4cHgpO1xyXG5cclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5mb3Jnb3QtbGluayBhIHtcclxuXHRcdFx0XHRjb2xvcjogI2YxMGMwYztcclxuXHRcdFx0XHRAaW5jbHVkZSBCVUlMRChmb250LXNpemUsIDEzcHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sb2dpbi1hY3Rpb24ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRAaW5jbHVkZSBCVUlMRChwYWRkaW5nLCAyMHB4IDApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5jbG9zZS1idXR0b257XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiAxMXB4O1xyXG4gICAgcGFkZGluZzogMTFweCAzcHg7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICAgIGhlaWdodDoxMnB4O1xyXG4gICAgZm9udC1mYW1pbHk6IHZlcmFuZGEsIHNhbnMtc2VyaWY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBAaWYoJGNsaWVudCA9PSAnY2hvaWNlJyBvciAkY2xpZW50ID09ICdsYXF1aW50YScpe1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlMjY4MTE7XHJcbiAgICB9QGVsc2UgaWYoJGNsaWVudCA9PSAnc3Bpcml0Jyl7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcclxuICAgIH1AZWxzZSBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDE0MjZhO1xyXG4gICAgfUBlbHNle1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM2ZDk0ZTE7XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqIEN1c3RvbSBza2VsZXRvbiBjbGFzcyAqKi9cclxuZGl2LnJvdyB1bC5tYWdhemluZXMuY29sdW1uc3tcclxuICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbi10b3AsIDVweCk7XHJcbiAgICBsaTpudGgtY2hpbGQoMm4pe1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjglO1xyXG4gICAgICAgIC8vLkJVSUxEKG1hcmdpbi1sZWZ0OyAyMCk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDokVEFCTEVUKXtcclxuICAgICAgICBsaTpudGgtY2hpbGQoMm4pe1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDo0JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGk6bnRoLWNoaWxkKDNuKzQpe1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuICAgICAgIGxpOm50aC1jaGlsZCgzbis0KXtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6NCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpOm50aC1jaGlsZCg0bil7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaTpudGgtY2hpbGQoNG4rNSl7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRIRERFU0tUT1Ape1xyXG4gICAgICAgIGxpOm50aC1jaGlsZCg0bis1KXtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6NCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpOm50aC1jaGlsZCg1bisxKXtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm9uZS1maWZ0aC5jb2x1bW4ge1xyXG4gICAgQGluY2x1ZGUgQlVJTEQod2lkdGgsIDQ2JSk7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJE1PQklMRSl7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobWluLWhlaWdodCwgMjI1cHgpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQod2lkdGgsIDMwJSk7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobWluLWhlaWdodCwgMjE1cHgpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JERFU0tUT1Ape1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKHdpZHRoLCAyMiUpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JEhEREVTS1RPUCl7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQod2lkdGgsIDE2JSk7XHJcbiAgICAgICAgLy8uQ09OVkVSVChtaW4taGVpZ2h0OyAyMzUpO1xyXG4gICAgfVxyXG59XHJcbi5jdXN0b20tbWFnc3tcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIEJVSUxEKG1hcmdpbi1ib3R0b20sIDEwcHgpO1xyXG5cdGZsb2F0OiBub25lO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbi5tYWctc2hhZG93e1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIEBpbmNsdWRlIEJVSUxEKGhlaWdodCwgMTIwcHgpO1xyXG4gICAgei1pbmRleDoxO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQobWF4LXdpZHRoLCAxOTVweCk7XHJcbiAgICBAaW5jbHVkZSBCVUlMRChtYXJnaW4sIDAgYXV0byk7XHJcbiAgICAmID4gaW1ne1xyXG4gICAgICAgIHdpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO1xyXG4gICAgfVxyXG59XHJcbi5tYWctY292ZXJ7XHJcbiAgICBtYXJnaW4tdG9wOjE1cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO1xyXG5cclxuICAgIGltZ3tcclxuICAgICAgICB3aWR0aDo4NCU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGltZ0JvcmRlckNvbG9yO1xyXG5cdFx0XHJcblx0XHQmLmRpZ2l0YWx7XHJcblx0XHRcdGJvcmRlcjogNHB4IHNvbGlkIGJsYWNrO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHR9XHJcblx0XHQmLm5vYm9yZGVye1xyXG5cdFx0XHRib3JkZXI6bm9uZVxyXG5cdFx0fVxyXG4gICAgfVxyXG4gICAgaW1nLm5vYm9yZGVye2JvcmRlcjpub25lfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbi5tYWctY29tYm97XHJcbiAgICBpbWd7d2lkdGg6OTAlO31cclxufVxyXG4ubWFnLWJvcmRlcntcclxuICAgIEBpbmNsdWRlIEJVSUxEKGxpbmUtaGVpZ2h0LCAxOHB4KTtcclxuICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmctYm90dG9tLCA1cHgpO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMnB4KTtcclxuICAgIGNvbG9yOiRkaWdpdGFsQ29sb3I7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDokREVTS1RPUCl7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMXB4KTtcclxuICAgIH1cclxuICAgIC5tYWctYm9yZGVyLWltZ3tcclxuICAgICAgICBoZWlnaHQ6MXB4O1xyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb21iby1pc3N1ZXN7XHJcbiAgICAgICAgQGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcgb3IgJGNsaWVudCA9PSAnY2hvaWNlJyl7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTBweCk7XHJcblx0XHR9QGVsc2V7XHJcblx0XHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTFweCk7XHJcblx0XHR9XHJcbiAgICB9XHJcbiAgICAvL25vdCBiZWluZyB1c2VkIGN1cnJlbnRseVxyXG4gICAgYS5kaWdpdGFsLWxpbmt7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcclxuICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMXB4KTtcclxuICAgIH1cclxufVxyXG5cclxuYS5wcm9kdWN0LW5hbWV7XHJcbiAgICBAaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdBU0NpcmN1bGFyLUJvbGQnLCAnQVNDaXJjdWxhci1Cb29rJywgc2Fucy1zZXJpZjtcclxuICAgIH1AZWxzZXtcclxuICAgICAgICBmb250LWZhbWlseTogJGxpbmtGb250O1xyXG4gICAgfVxyXG4gICAgY29sb3I6JGxpbmtDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6NzAwO1xyXG5cdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTJweCk7XHJcbn1cclxuLm1hZy1pc3N1ZXN7XHJcbiAgICBjb2xvcjokaXNzdWVzQ29sb3I7XHJcbiAgICBmb250LXdlaWdodDo3MDA7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTFweCk7XHJcblx0QGlmKCRjbGllbnQgPT0gJ2FsYXNrYScpe1xyXG4gICAgICAgIGNvbG9yOiM0MTQwNDI7XHJcblx0fVxyXG4gICAgQGVsc2UgaWYgKCRjbGllbnQgPT0gJ2RlbHRhJyl7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQoZm9udC1zaXplLCAxMHB4KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICgkY2xpZW50ID09ICdzcGlyaXQnKXtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgICAgIEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTBweCk7XHJcbiAgICB9XHJcbiAgICBAZWxzZXtcclxuXHRcdEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTBweCk7XHJcblx0fVxyXG59XHJcbi5idXR0b24tY2FydC5idXR0b257XHJcblx0QGlmKCRjbGllbnQgPT0gJ3VuaXRlZCcpe1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0fVxyXG4gICAgQGVsc2UgaWYoJGNsaWVudCA9PSAnYWxhc2thJyl7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYnV0dG9uUHJpbWFyeUZvbnRDb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRjbGllbnQgPT0gJ3NwaXJpdCcpe1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkY2xpZW50ID09ICdsYXF1aW50YScpe1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBHUkFESUVOVChtYXAtZ2V0KCRhZGRUb0JhZ0J1dHRvbkNvbG9yLCBzdGFydENvbG9yKSwgaWYobWFwLWhhcy1rZXkoJGFkZFRvQmFnQnV0dG9uQ29sb3IsIGVuZENvbG9yKSwgbWFwLWdldCgkYWRkVG9CYWdCdXR0b25Db2xvciwgZW5kQ29sb3IpLCBtYXAtZ2V0KCRhZGRUb0JhZ0J1dHRvbkNvbG9yLCBzdGFydENvbG9yKSkpO1xyXG5cdEBpZigkY2xpZW50ID09ICdhbGFza2EnKXtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvblByaW1hcnlGb250Q29sb3I7XHJcbiAgICB9QGVsc2V7XHJcbiAgICAgICAgY29sb3I6JGJ1dHRvblNlY29uZGFyeUZvbnRDb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBCVUlMRCh3aWR0aCwgOTUlKTtcclxuICAgIEBpbmNsdWRlIEJVSUxEKHBhZGRpbmcsIDApO1xyXG4gICAgQGluY2x1ZGUgQlVJTEQoaGVpZ2h0LCA0MHB4KTtcclxuICAgIEBpbmNsdWRlIEJVSUxEKGZvbnQtc2l6ZSwgMTJweCk7XHJcbiAgICBAaW5jbHVkZSBCVUlMRChsaW5lLWhlaWdodCwgMzdweCk7XHJcblx0Zm9udC13ZWlnaHQ6NjAwO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6JFRBQkxFVCl7XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobWF4LXdpZHRoLCAxMTBweCk7XHJcbiAgICAgICAgaGVpZ2h0OmF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgQlVJTEQobGluZS1oZWlnaHQsIDI4cHgpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOmRhcmtlbihtYXAtZ2V0KCRhZGRUb0JhZ0J1dHRvbkNvbG9yLCBzdGFydENvbG9yKSwgMTApO1xyXG4gICAgfVxyXG59XHJcbi5idXR0b24tc2VsZWN0ZWQuYnV0dG9uLWNhcnQuYnV0dG9ue1xyXG5cdEBpbmNsdWRlIEdSQURJRU5UKG1hcC1nZXQoJGFkZFRvQmFnQnV0dG9uQ29sb3JTZWxlY3RlZCwgc3RhcnRDb2xvciksIGlmKG1hcC1oYXMta2V5KCRhZGRUb0JhZ0J1dHRvbkNvbG9yU2VsZWN0ZWQsIGVuZENvbG9yKSwgbWFwLWdldCgkYWRkVG9CYWdCdXR0b25Db2xvclNlbGVjdGVkLCBlbmRDb2xvciksIG1hcC1nZXQoJGFkZFRvQmFnQnV0dG9uQ29sb3JTZWxlY3RlZCwgc3RhcnRDb2xvcikpKTtcclxuXHRjb2xvcjogJGJ1dHRvblNlY29uZGFyeUZvbnRDb2xvclNlbGVjdGVkO1xyXG5cdEBpZigkY2xpZW50ICE9ICdzcGlyaXQnKXtcclxuXHRcdEBpZigkY2xpZW50ID0gJ2FsYXNrYScpe1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYnV0dG9uUHJpbWFyeUZvbnRDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2V7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGFkYWQ7XHJcbiAgICAgICAgfVxyXG5cdH1cclxuICAgIEBpZigkY2xpZW50ID0gJ3VuaXRlZCcpe1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdH1cclxufVxyXG4uY29sb3ItdGV4dHtcclxuICAgIGNvbG9yOiAjOGI4ODg4O1xyXG59XHJcbiIsIi5tb2JpbGUtYXJyb3d7XHJcblx0cG9zaXRpb246Zml4ZWQ7XHJcblx0QGluY2x1ZGUgQlVJTEQocmlnaHQsIDVweCk7XHJcblx0QGluY2x1ZGUgQlVJTEQoYm90dG9tLCA1MHB4KTtcclxuXHR6LWluZGV4OjU7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcbi5tb2JpbGUtYXJyb3ctc2hvd3tcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiRERVNLVE9QKXtcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHR9XHJcbn0iXX0= */
