.table-basic,table{width:100%;margin:20px 0}.table-basic .table-column,.table-basic td,.table-basic th,table .table-column,table td,table th{padding:10px;font-weight:400;text-align:left;vertical-align:middle;font-family:AmericanSansLight,Helvetica,Arial,sans-serif}.table-basic tr.align-top td,table tr.align-top td{vertical-align:top!important}.table-basic .table-header,.table-basic thead,table .table-header,table thead{border-bottom:1px solid #d0dae0;background-color:#ebeff0;background-size:auto}.table-basic .table-header .table-column,.table-basic .table-header th,.table-basic thead .table-column,.table-basic thead th,table .table-header .table-column,table .table-header th,table thead .table-column,table thead th{color:#36495a;font-family:AmericanSansMedium,Calibri,Helvetica,Arial,sans-serif;font-size:15px;font-size:1.07143rem}.table-basic .table-body .table-row,.table-basic .table-body tr,.table-basic tbody .table-row,.table-basic tbody tr,table .table-body .table-row,table .table-body tr,table tbody .table-row,table tbody tr{padding:5px 0;border-bottom:1px solid #d0dae0}.table-basic .table-body .table-row.disabled,.table-basic .table-body tr.disabled,.table-basic tbody .table-row.disabled,.table-basic tbody tr.disabled,table .table-body .table-row.disabled,table .table-body tr.disabled,table tbody .table-row.disabled,table tbody tr.disabled{color:#9da6ab}.table-basic .table-body .table-row.no-border,.table-basic .table-body tr.no-border,.table-basic tbody .table-row.no-border,.table-basic tbody tr.no-border,table .table-body .table-row.no-border,table .table-body tr.no-border,table tbody .table-row.no-border,table tbody tr.no-border{border-bottom:0}.table-basic .table-body .table-row .table-column,.table-basic .table-body .table-row td,.table-basic .table-body tr .table-column,.table-basic .table-body tr td,.table-basic tbody .table-row .table-column,.table-basic tbody .table-row td,.table-basic tbody tr .table-column,.table-basic tbody tr td,table .table-body .table-row .table-column,table .table-body .table-row td,table .table-body tr .table-column,table .table-body tr td,table tbody .table-row .table-column,table tbody .table-row td,table tbody tr .table-column,table tbody tr td{padding:10px}.table-basic .table-body .table-row.-thicker,.table-basic .table-body tr.-thicker,.table-basic tbody .table-row.-thicker,.table-basic tbody tr.-thicker,table .table-body .table-row.-thicker,table .table-body tr.-thicker,table tbody .table-row.-thicker,table tbody tr.-thicker{border-bottom-width:2px}.table-basic .table-body .table-row.-header,.table-basic .table-body tr.-header,.table-basic tbody .table-row.-header,.table-basic tbody tr.-header,table .table-body .table-row.-header,table .table-body tr.-header,table tbody .table-row.-header,table tbody tr.-header{background-color:#f3f5f6}.table-basic .table-body .table-row.-header td,.table-basic .table-body .table-row.-header th,.table-basic .table-body tr.-header td,.table-basic .table-body tr.-header th,.table-basic tbody .table-row.-header td,.table-basic tbody .table-row.-header th,.table-basic tbody tr.-header td,.table-basic tbody tr.-header th,table .table-body .table-row.-header td,table .table-body .table-row.-header th,table .table-body tr.-header td,table .table-body tr.-header th,table tbody .table-row.-header td,table tbody .table-row.-header th,table tbody tr.-header td,table tbody tr.-header th{font-weight:700;background-color:#f3f5f6}.table-basic .table-footer,.table-basic tfoot,table .table-footer,table tfoot{border-top:1px solid #d0dae0}.table-basic .table-footer .table-column,.table-basic .table-footer td,.table-basic tfoot .table-column,.table-basic tfoot td,table .table-footer .table-column,table .table-footer td,table tfoot .table-column,table tfoot td{padding-left:0;padding-right:0}.hero{background-color:#d0dae0;height:594px;margin-left:-45px;overflow:hidden;position:relative;width:1100px}.hero img{height:100%;width:100%}#aa-hp-ad-hero a{display:block;height:100%}#aa-hp-ad-hero a:focus{border:2px solid #0078d2}.hero-controls{bottom:0;left:0;pointer-events:none;position:absolute;right:0;text-align:center;top:0}.hero-controls button{pointer-events:auto}#hero-next,#hero-prev{padding:0;border:2px rgba(0,0,0,0);position:absolute;width:45px;height:100%;background:none;overflow:hidden;z-index:20}#hero-next img,#hero-prev img{height:50px;width:100px;max-width:200%}#hero-next:focus,#hero-next:hover,#hero-prev:focus,#hero-prev:hover{outline:none!important;background:#000;opacity:.6;filter:alpha(opacity=60)}#hero-next:focus,#hero-prev:focus{border:2px solid #0078d2}#hero-next:focus img,#hero-prev:focus img{border-top:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0);-o-border-image:linear-gradient(180deg,#000 0,#000);border-image:-webkit-gradient(linear,left top,left bottom,from(#000),to(#000));border-image:-webkit-linear-gradient(top,#000,#000);border-image:linear-gradient(180deg,#000 0,#000);border-image-slice:1}#hero-prev{left:0}#hero-next{right:0}#hero-next img{margin-left:-45px}#hero-pause{display:inline-block;position:absolute;top:325px;padding:0;left:45px;width:30px;height:30px;background:rgba(0,0,0,0);overflow:hidden;z-index:20;pointer-events:auto;border:none}#hero-pause img{height:60px;width:30px}.pause img{margin-top:-30px}#login,.account-info{padding:15px;height:100%;position:relative}#login a:focus,.account-info a:focus{outline:1px solid #fff}#login .link,.account-info .link{margin-top:.2em;line-height:22px;color:#fff;text-shadow:none;font-family:AmericanSansLight}#login h2,.account-info h2{color:#fff;margin-bottom:.3em}#login input,.account-info input{padding:6px}#login .btn,#login p,.account-info .btn,.account-info p{margin:0}#login .customComponent label{font-size:13px}#login .customComponent label .lbl{width:75%}#login .forgot-link-wrapper{position:absolute;font-size:12px;bottom:15px;width:95%}#login .forgot-link-wrapper a{color:#fff;text-decoration:underline}#login .forgot-link-wrapper a:focus,#login .forgot-link-wrapper a:hover{text-decoration:none}#login .remember-submit-wrapper{padding-top:10px;width:100%}.account-info{font-family:AmericanSans,Helvetica,Arial,sans-serif}.account-info h2{margin-bottom:.833em}.account-info .cardmember-name,.account-info h2{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:24px;font-size:1.71429rem;line-height:30px}.account-info .cardmember-name{font-family:AmericanSansMedium,Calibri,Helvetica,Arial,sans-serif;padding-bottom:10px}.account-info .account-info-links{position:absolute;bottom:15px;left:15px;right:15px}.account-info p.delta{padding-bottom:10px}.account-info p.cardmember-mileage{font-family:Arial,sans-serif;font-size:16px;font-size:1.14286rem;line-height:22px;font-family:AmericanSans,Helvetica,Arial,sans-serif;padding-bottom:0;margin-top:20px}.account-info .creditCardGreeting{padding-bottom:10px}#booking-module-tabs{min-height:22em}#booking-module-tabs input[type=text][readonly][disabled]{border-color:inherit;background-color:inherit}#booking-module-tabs button[class~=btn],#booking-module-tabs input[type=submit]{padding:6px 9px;margin:25px 0 0}#booking-module-tabs [class|=message]{font-size:14px;font-size:1rem;padding:10px 0 10px 20px}#booking-module-tabs [class|=message]:before{font-size:14px;font-size:1rem;top:8px}#booking-module-tabs .message-error~span{color:#c30019;font-size:14px;font-size:1rem}#booking-module-tabs .message-warning~span{color:#d14904;font-size:14px;font-size:1rem}#booking-module-tabs .ui-tabs-nav{background-image:url(/content/images/chrome/rebrand/shadow12-up.png);background-position:50% bottom;background-repeat:no-repeat;background-size:100% 4px;border:none;padding:0;background:#ebeff0}#booking-module-tabs .ui-tabs-nav li{background:rgba(0,0,0,0);border:none;border-right:1px solid #d0dae0}#booking-module-tabs .ui-tabs-nav li:last-child{border-right:none}#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor{color:#0078d2;font-size:24px;width:100%;padding:.5em;text-align:center}#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor:focus,#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor:hover{text-decoration:underline}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active{background:#fff}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{color:#00467f}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor:hover{text-decoration:none}#booking-module-tabs .ui-tabs-nav li.ui-state-focus .ui-tabs-anchor{text-decoration:underline}#booking-module-tabs .ui-tabs-panel{margin:30px 25px 20px;padding:0}.flightStatusmargin-top{margin-top:32px;padding-left:8px}.checkin-msg{padding:0 15px}.t-g-blue{background:#0078d2;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF0078D2",endColorstr="#FF00467F");background:-owg-linear-gradient(#0078d2,#00467f);background:-webkit-linear-gradient(#0078d2,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#00467f));background:linear-gradient(#0078d2,#00467f);color:#fff;font-size:100%}.btn{height:35px}.home-page-login-widget{position:absolute;top:0;left:0;width:28%;height:100%}.home-page-login-widget sup{font-size:.9rem}.home-page-booking-widget{background-image:url(/content/images/chrome/rebrand/shadow12-up.png);background-position:50% bottom;background-repeat:no-repeat;background-size:100% 4px;width:69.85%;background-color:#fff;float:right;min-height:28em}#reservationFlightSearchForm ul{line-height:10px}#reservationFlightSearchForm .aa-flightSearchForm-datesRow{margin-top:0}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent{padding-right:15px}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent label .control{margin-right:5px}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent input[type=checkbox]:disabled~label{color:#9da6ab!important}#travelAlert{top:-20px}#travelAlert .travelAlert{padding:9px 25px 8px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border:1px solid #d14904;border-top:none;background-color:#fff;margin:0 2.13178%;float:right;display:inline-block;color:#d14904}#travelAlert [class|=message]{padding:10px 0 10px 25px;font-size:14px;font-size:1rem}#travelAlert [class|=message]:before{font-size:14px;font-size:1rem;top:8px}.feature>a{display:inline-block}.feature>a:focus,.feature>a:hover{text-decoration:none}.feature>a:focus.feature-call,.feature>a:focus .feature-call,.feature>a:hover.feature-call,.feature>a:hover .feature-call{text-decoration:underline}.feature h3{margin:10px 0}.feature .list-standard{padding:0}.feature .feature-body{color:#36495a}.feature img{-webkit-user-select:none}.travel-deals a:first-of-type{display:inline-block;width:100%}.travel-deals a:first-of-type:focus .price{text-decoration:underline}.travel-deals a:last-of-type{float:left;clear:both;margin-top:-5px}.travel-deals .trip{float:left;max-width:62%;color:#627a88}.travel-deals .price{float:left;width:100%}.travel-deals .price .indicator{font-size:20px;font-size:1.42857rem;top:-.5em;position:relative;padding-bottom:1px}.travel-deals .price:focus,.travel-deals .price:hover{text-decoration:underline}.travel-deals .note{color:#0078d2}.incident-hero{display:block;background-color:#627a88;height:594px;margin-left:-45px;width:1100px;padding:42px 56px 0;text-align:right;-webkit-text-decoration-color:#fff;-moz-text-decoration-color:#fff;text-decoration-color:#fff}.incident-hero:focus,.incident-hero:hover{text-decoration:none}.incident-hero h2{color:#fff;font-size:68px;font-size:4.85714rem;line-height:74px}.incident-hero p{display:inline;color:#fff;font-size:22px;font-size:1.57143rem;line-height:28px;font-family:AmericanSans,Helvetica,Arial,sans-serif}a.incident-hero p:focus,a.incident-hero p:hover{text-decoration:underline}#aa-lang-en #aa-tab-booking-module{width:30%}#aa-lang-en #aa-tab-viewReservations{width:40%}#aa-lang-en #aa-tab-flightStatus{width:30%}#aa-lang-es #aa-tab-booking-module{width:27%}#aa-lang-es #aa-tab-viewReservations{width:46%}#aa-lang-es #aa-tab-flightStatus{width:27%}#aa-lang-pt #aa-tab-booking-module{width:30%}#aa-lang-pt #aa-tab-viewReservations{width:44%}#aa-lang-pt #aa-tab-flightStatus{width:26%}#aa-lang-fr #aa-tab-booking-module{width:27%}#aa-lang-fr #aa-tab-viewReservations{width:48%}#aa-lang-fr #aa-tab-flightStatus{width:25%}#aa-lang-fr #home-page-widgets .ui-tabs-anchor{font-size:21px}@media screen and (max-width:767px){header .mobile-utility{margin-top:10px}header #travelAlert{margin-left:0}header #travelAlert .travelAlert{border:none!important;float:none;margin:2px 0 0;padding:0;background:none;color:#d14904}header #travelAlert .travelAlert .message-warning:before{top:2px;left:4px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL190YWJsZXMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19taXhpbnMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19oZXJvLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fbG9naW4uc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19ib29raW5nLnNjc3MiLCIuLi92My9ob21lLXBhZ2Uuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2hhY2tzLnNjc3MiLCIvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ltYWdlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUNFLFdBQ0EsYUFBeUIsQ0FGM0IsaUdBS0ksYUFDQSxnQkFDQSxnQkFDQSxzQkFDQSx3REMrRW1FLENEeEZ2RSxtREFhSSw0QkFBOEIsQ0FibEMsOEVBaUJJLGdDQUNBLHlCQUNBLG9CQUFxQixDQW5CekIsZ09BcUJNLGNBQ0Esa0VFNkJGLGVBQ0Esb0JBQTBDLENGcEQ5Qyw0TUE0Qk0sY0FDQSwrQkNUYSxDRHBCbkIsb1JBK0JRLGFDVk0sQ0RyQmQsNFJBa0NRLGVBQXFCLENBbEM3QixnaUJBcUNRLFlBQWEsQ0FyQ3JCLG9SQXdDUSx1QkFBd0IsQ0F4Q2hDLDRRQTJDUSx3QkNiZ0IsQ0Q5QnhCLHdrQkE2Q1UsZ0JBQ0Esd0JDaEJjLENEOUJ4Qiw4RUFvREksNEJDaENlLENEcEJuQixnT0FzRE0sZUFDQSxlQUFnQixDQUNqQixNR3ZERCx5QkFDQSxhQUNBLGtCQUNBLGdCQUNBLGtCQUNBLFlBQWEsQ0FOakIsVUFTUSxZQUNBLFVBQVcsQ0FDZCxpQkFJSCxjQUNHLFdBQVksQ0FIakIsdUJBS00sd0JGZmEs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ZCxvQ0FJRCx1QkFFRSxlQUFnQixDQUZsQixvQkFLRSxhQUFjLENBTGhCLGlDQVFFLHNCQUNBLFdBQ0EsZUFDQSxVQUNBLGdCQUNBLGFMbk9hLENLc05mLHlEQWdCRyxRQUNBLFFBQVMsQ0FDUixDQUFBIiwiZmlsZSI6InYzL2hvbWUtcGFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSwgLnRhYmxlLWJhc2ljIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogJGJhc2VMaW5lSGVpZ2h0IDA7XG5cbiAgdGQsIHRoLCAudGFibGUtY29sdW1uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgfVxuXG4gIHRyLmFsaWduLXRvcCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGhlYWQsIC50YWJsZS1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1bHRyYUxpZ2h0R3JheTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgdGgsIC50YWJsZS1jb2x1bW4ge1xuICAgICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlNZWRpdW07XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgIH1cbiAgfVxuICB0Ym9keSwgLnRhYmxlLWJvZHkge1xuICAgIHRyLCAudGFibGUtcm93IHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgfVxuICAgICAgJi5uby1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgICB9XG4gICAgICB0ZCwgLnRhYmxlLWNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB9XG4gICAgICAmLi10aGlja2VyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgfVxuICAgICAgJi4taGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlTGlnaHRHcmF5O1xuICAgICAgICB0ZCwgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZUxpZ2h0R3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICB0Zm9vdCwgLnRhYmxlLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgdGQsIC50YWJsZS1jb2x1bW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgLy9AZXh0ZW5kIC5kaXNjbGFpbWVyO1xuICB9XG59XG4iLCIkZXh0cmVtZUhpZ2hsaWdodEJsdWU6ICNGMEY3RkM7IC8vIEFBIEV4dHJlbWUgaGlnaGxpZ2h0IGJsdWVcbiRoaWdobGlnaHRCbHVlOiAjRTFGMEZBOyAvLyBBQSBIaWdobGlnaHQgQmx1ZVxuJGxpZ2h0Qmx1ZTogIzREQjRGQTsgLy8gQUEgTGlnaHQgQmx1ZVxuJGJyYW5kQmx1ZTogIzAwNzhEMjsgLy8gQUEgQmx1ZSAoQnJhbmQgQmx1ZSlcbiRkZXRyb2l0Qmx1ZTogIzAwNjFBQjsgLy8gQUEgQnV0dG9uIEJsdWVcbiRkYXJrQmx1ZTogIzAwNDY3RjsgLy8gQUEgRGFyayBCbHVlXG4kdGVhbDogI0IxRTFFQjsgLy8gQUEgVGVhbFxuJGxpZ2h0VGVhbDogI0VGRjlGQjsgLy8gQUEgTGlnaHQgVGVhbFxuXG4kd2hpdGU6ICNGRkZGRkY7IC8vIEFBIFdoaXRlXG4kZ3JlZW46ICMwMDg3MTI7IC8vIEFBIEdyZWVuXG4kcmFuZ2VyR3JlZW46ICMwMDdEMTA7IC8vIEFBIERhcmsgR3JlZW4gdXNlZCBmb3IgZ3JleSBiYWNrZ3JvdW5kc1xuJHllbGxvd0dyZWVuOiAjRDFENTMyOyAvLyBBQSBZZWxsb3ctR3JlZW5cbiRsaWdodE9yYW5nZTogI0ZBQUYwMDsgLy8gQUEgTGlnaHQgT3JhbmdlXG4kb3JhbmdlOiAjRDE0OTA0OyAvLyBBQSBPcmFuZ2VcbiRyZWQ6ICNGNTIzMDU7IC8vIEFBIFJlZFxuJGRhcmtSZWQ6ICNDMzAwMTk7IC8vIEFBIERhcmsgUmVkXG4kbHVja3lQdXJwbGU6ICM5MzE5ODI7IC8vIEFBIEx1Y2t5IFB1cnBsZVxuXG4kdWx0cmFMaWdodEdyYXk6ICNFQkVGRjA7IC8vIEFBIFVsdHJhIExpZ2h0IEdyYXlcbiRsaWdodEdyYXk6ICNEMERBRTA7IC8vIEFBIExpZ2h0IEdyYXlcbiRncmF5OiAjOURBNkFCOyAvLyBBQSBHcmF5XG4kbWVkaXVtR3JheTogIzYyN0E4ODsgLy8gQUEgTWVkaXVtIEdyYXlcbiRkYXJrR3JheTogIzM2NDk1QTsgLy8gQUEgRGFyayBHcmF5XG4kY2FkZXRHcmF5OiAjNTM2NzczOyAvL0FBIENhZGV0IEdyYXlcbiRkYXJrQ2FkZXRHcmF5OiAjNDY1NzYyOyAvL0FBIERhcmsgQ2FkZXQgR3JheVxuJGJsYWNrOiAjMTMxMzEzOyAvLyBCbGFja1xuJHN1cGVyVWx0cmFMaWdodEdyYXk6ICNGNUY1Rjc7IC8vIEFBIFN1cGVyIFVsdHJhIExpZ2h0IEdyYXlcbiRleHRyZW1lVWx0cmFMaWdodEdyYXk6ICNGQUZCRkI7IC8vIEFBIEV4dHJlbWUgVWx0cmEgTGlnaHQgR3JheVxuJGhhbGZ3YXlMaWdodEdyYXk6ICNFN0VDRUY7IC8vIEFBIGhhbGZ3YXkgbGlnaHQgR3JheVxuJHRhYmxlTGlnaHRHcmF5OiAjRjNGNUY2OyAgIC8vIEFBIFRhYmxlIExpZ2h0IEdyYXlcblxuLy8gTGVnYWN5IHZhcmlhYmxlcyB0byBtYWludGFpbiBjb21wYXRpYmlsaXR5XG4kZ3JheTAxOiAkdWx0cmFMaWdodEdyYXk7IC8vIEFBIFVsdHJhIExpZ2h0IEdyYXlcbiRncmF5MDI6ICRsaWdodEdyYXk7IC8vIEFBIExpZ2h0IEdyYXlcbiRncmF5MDM6ICRncmF5OyAvLyBBQSBHcmF5XG4kZ3JheTA0OiAkbWVkaXVtR3JheTsgLy8gQUEgTWVkaXVtIEdyYXlcbiRncmF5MDU6ICRkYXJrR3JheTsgLy8gQUEgRGFyayBHcmF5XG5cbi8vXG4vLyBFbGl0ZSBUaWVyIGNvbG9yc1xuLy8gVGhlc2UgYXJlIE5PVCBGSU5BTCwgYmFzZWQgb24gY29uY2VwdHMgYnkgRGF2ZSBKZW5uaW5ncyBhbmQgTWlrZSBIZWFkbGV5XG4vL1xuJHRpZXJSRUdEYXJrOiAkZGFya0JsdWU7XG4kdGllclJFR01pZDogJGJyYW5kQmx1ZTtcbiR0aWVyUkVHTGlnaHQ6ICRsaWdodEJsdWU7XG5cblxuJHRpZXJHTEREYXJrOiAjNzM2NTJCO1xuJHRpZXJHTERNaWQ6ICM3ODY5MzE7XG4kdGllckdMRExpZ2h0OiAjRkZGNERDO1xuXG4kdGllclBMVERhcms6ICNDN0M4Q0E7XG4kdGllclBMVE1pZDogI0U3RThFODtcbiR0aWVyUExUTGlnaHQ6ICNGREZERkQ7XG5cbiR0aWVyRVhQRGFyazogIzAwMDAwMDtcbiR0aWVyRVhQTWlkOiAjNTE1MTUxO1xuJHRpZXJFWFBMaWdodDogI0M3QzhDQTtcblxuXG4vL1xuLy8gQnJhbmQtcmVsYXRlZCB0ZXh0IGNvbG9yc1xuLy9cbiRib2R5Q29sb3I6ICRkYXJrR3JheTtcblxuJGxpbmtDb2xvcjogJGJyYW5kQmx1ZTtcbiRsaW5rSG92ZXJDb2xvcjogJGJyYW5kQmx1ZTtcbiRsaW5rVmlzaXRlZENvbG9yOiAkbGlnaHRCbHVlO1xuXG4kYWx0TGlua0NvbG9yOiAkZGFya0dyYXk7XG4kYWx0TGlua0hvdmVyQ29sb3I6ICRicmFuZEJsdWU7XG4kYWx0TGlua1Zpc2l0ZWRDb2xvcjogJGRhcmtHcmF5O1xuXG4kaGVhZGluZ3NDb2xvcjogJGJyYW5kQmx1ZTtcbiRhbHRIZWFkaW5nc0NvbG9yOiAkbWVkaXVtR3JheTtcblxuJGZvY3VzQ29sb3I6ICNCMEQxRTg7XG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4kYW1lcmljYW5Gb250UGF0aDogXCIvY29udGVudC9mb250cy9hbWVyaWNhbi12Mi9cIiAhZGVmYXVsdDtcbiRhbWVyaWNhbkljb25Gb250UGF0aDogXCIvY29udGVudC9mb250cy9pY29ucy9cIiAhZGVmYXVsdDtcbiRhbWVyaWNhbkltZ1BhdGg6IFwiL2NvbnRlbnQvaW1hZ2VzL1wiICFkZWZhdWx0O1xuXG4kc3RhbmRhcmRGb250RmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiRzYW5zRm9udEZhbWlseUxpZ2h0OiBcIkFtZXJpY2FuU2Fuc0xpZ2h0XCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyOiBcIkFtZXJpY2FuU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHNhbnNGb250RmFtaWx5TWVkaXVtOiBcIkFtZXJpY2FuU2Fuc01lZGl1bVwiLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kYmFzZUZvbnRTaXplOiAxNDtcbiRiYXNlRm9udEZhbWlseTogJHN0YW5kYXJkRm9udEZhbWlseTtcbiRiYXNlTGluZUhlaWdodDogMjBweDtcblxuLy9cbi8vIEZvbnQgc2l6ZXMgKGluIHBpeGVscylcbi8vXG4kbGctc2l6ZTogNTYhZGVmYXVsdDtcbiRoMS1zaXplOiAzOCFkZWZhdWx0O1xuJGgyLXNpemU6IDMwIWRlZmF1bHQ7XG4kaDMtc2l6ZTogMjQhZGVmYXVsdDtcbiRoNC1zaXplOiAxOCFkZWZhdWx0O1xuJGg1LXNpemU6IDE2IWRlZmF1bHQ7XG4kaDYtc2l6ZTogMTQhZGVmYXVsdDtcbiRzbS1zaXplOiAxMiFkZWZhdWx0O1xuJHZzbS1zaXplOiAxMCFkZWZhdWx0O1xuJG1lZC1zaXplOiAyMSFkZWZhdWx0O1xuJHJlZy1zaXplOiAyNyFkZWZhdWx0O1xuXG4kZm9udFNpemVzOiAoXG4gICAgYWxwaGE6IChcbiAgICAgICAgZGVza3RvcDogJGgxLXNpemUsXG4gICAgICAgIG1vYmlsZTogMzJcbiAgICApLFxuICAgIGJldGE6IChcbiAgICAgICAgZGVza3RvcDogJGgyLXNpemUsXG4gICAgICAgIG1vYmlsZTogMjdcbiAgICApLFxuICAgIGdhbW1hOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoMy1zaXplLFxuICAgICAgICBtb2JpbGU6IDIxXG4gICAgKSxcbiAgICBkZWx0YTogKFxuICAgICAgICBkZXNrdG9wOiAkaDQtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAxOFxuICAgICksXG4gICAgZXBzaWxvbjogKFxuICAgICAgICBkZXNrdG9wOiAkaDUtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAxNlxuICAgICksXG4gICAgemV0YTogKFxuICAgICAgICBkZXNrdG9wOiAkaDYtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAxNVxuICAgIClcbik7XG5cbiRsaW5lSGVpZ2h0SW5jcmVtZW50OiA2IWRlZmF1bHQ7XG4kbGctbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMy4xO1xuJGgxLWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDIuMjtcbiRoMi1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjg7XG4kaDMtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMS41O1xuJGg0LWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuMjtcbiRoNS1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjE7XG4kaDYtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0O1xuJHNtLWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDAuOTtcblxuJGljb24tc21hbGw6ICAgMTIhZGVmYXVsdDtcbiRpY29uLWRlZmF1bHQ6IDE0IWRlZmF1bHQ7XG4kaWNvbi1tZWRpdW06ICAxOCFkZWZhdWx0O1xuJGljb24tbGFyZ2U6ICAgMjQhZGVmYXVsdDtcbiRpY29uLXhsYXJnZTogIDU0IWRlZmF1bHQ7XG4kaWNvbi14eGxhcmdlOiA3MCFkZWZhdWx0O1xuJGljb24teHh4bGFyZ2U6ODYhZGVmYXVsdDtcblxuLy8gbGlzdCBzcGFjaW5nXG4kYmFzZUxpc3RTcGFjaW5nOiA2cHg7XG5cbi8vXG4vLyBUaGlzIGlzIHRoZSBiYXNlNjQtZW5jb2RlZCBkcm9wZG93biB0cmlhbmdsZSB1c2VkIGluIGRyb3Bkb3duIHRyaWdnZXJzIHN1Y2hcbi8vIGFzIHRoZSBjb3VudHJ5L2xhbmd1YWdlIGFuZCBhY2NvdW50IHN0YXR1cyBpbiB0aGUgaGVhZGVyLCBhcyB3ZWxsIGFzIDxzZWxlY3Q+XG4vLyBpbnB1dHMgaW4gZm9ybXMuXG4vL1xuJGRyb3Bkb3duVHJpYW5nbGU6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhEUUFFQUlBQUFBQUFBUDhBL3lINUJBRUhBQUVBTEFBQUFBQU5BQVFBQUFJTGhBK2hHNWpNRHB4dmhnSUFPdz09KTtcbiRibHVlRHJvcGRvd25UcmlhbmdsZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVBDQVlBQUFEK3BBL2JBQUFBQVhOU1IwSUFyczRjNlFBQUFOOUpSRUZVT0JHMWtjRU5na0FRUmYvQVFWdWdCUTljTE1VZTlJUm50UUMxQktVaFRsNDBzUVY2TURIcnpFSVVCNUJkd0VtV0xKdVo5ek41aE8zdEJHTlcrRWNSblFOTWdqV0lzdEg1d21RMldmRHVIc0U4TDd4Sk5Fb1FVUTRLNTlqUDhzQUMrUUtZQlcveUdCeGdHY3l5VEtBSUVPb2h6bmlEWkhDQU1JUlYxaWRBSG81eHlsODVmU3N0R2UvNTd3QjVub1pKTCtraVZXWlZGWkxWSTN5bFY2UnFWSDBENmZDUnJxUzZCVWlYcTNRbDFUMUFPcnVsMTZUNkJVaDNtL1FXcVRxZ1diTHUwdEovU05XanpaSjFWMVY2aDFROTZ2ZS91UzRoeDZOZUZYaFpnMTdnOG5RQUFBQUFTVVZPUks1Q1lJST0nKTtcblxuLy9cbi8vIEdSSUQtVkFSSUFCTEVTXG4vL1xuXG4kZmx1aWQ6IGZhbHNlIWRlZmF1bHQ7XG5cbiRncmlkQ29sdW1uczogMTI7XG4kZ3JpZENvbHVtbldpZHRoOiA2NHB4O1xuJGdyaWRHdXR0ZXJXaWR0aDogMjJweDtcbiRncmlkSGVyb1dpZHRoOiA5MHB4O1xuJGdyaWRIZXJvSGVpZ2h0T2Zmc2V0OiA4NXB4O1xuXG4kZ3JpZFRvdGFsR3V0dGVyOiAkZ3JpZENvbHVtbnMgKiAkZ3JpZENvbHVtbldpZHRoICsgJGdyaWRDb2x1bW5zICogJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGdyaWRUb3RhbDogJGdyaWRUb3RhbEd1dHRlciAtICRncmlkR3V0dGVyV2lkdGg7XG5cbiRmbHVpZEdyaWRDb2x1bW5XaWR0aDogcGVyY2VudGFnZSgkZ3JpZENvbHVtbldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG4kZmx1aWRHcmlkR3V0dGVyV2lkdGg6IHBlcmNlbnRhZ2UoJGdyaWRHdXR0ZXJXaWR0aCAvICRncmlkVG90YWxHdXR0ZXIpO1xuJGZpeGVkQ29udGFpbmVyV2lkdGg6ICAgKCRncmlkQ29sdW1ucyAqICRncmlkQ29sdW1uV2lkdGgpICsgKCRncmlkR3V0dGVyV2lkdGggKiAoJGdyaWRDb2x1bW5zIC0gMSkpO1xuJG1vYmlsZUNvbnRhaW5lckxlZnRQYWRkaW5nOiAzJTtcbiRtb2JpbGVDb250YWluZXJSaWdodFBhZGRpbmc6IDMlO1xuXG4vL1xuLy8gSGVhZGVyLVNwYWNpbmdcbi8vXG5cbiRtb2JpbGUtaGVhZGVyLW1hcmdpbi1ib3R0b206IDIwcHg7XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIHNlbGZjbGVhciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1cy1hY2Nlc3NpYmxle1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGZvY3VzQ29sb3I7XG4gICAgICAgLmlzLW1vYmlsZSAmIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBjbGlwOiByZWN0KDBweCwgMHB4LCAwcHgsIDBweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cbkBtaXhpbiBoaWRlLXRleHQge1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplICtweDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgLyAkYmFzZUZvbnRTaXplICtyZW07XG59XG5AbWl4aW4gZm9udC1zaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSAvICRiYXNlRm9udFNpemUgK3JlbTtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtc2l6ZSArICRsaW5lSGVpZ2h0SW5jcmVtZW50ICsgcHg7XG59XG5cbkBtaXhpbiBmb250LXNpemUtaW1wb3J0YW50KCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplIC8gJGJhc2VGb250U2l6ZSArcmVtICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBoZWFkMSgkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2FscGhhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQyKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnYmV0YScsICR0eXBlKSk7XG59XG5cbkBtaXhpbiBoZWFkMygkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2dhbW1hJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ0KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdkZWx0YScsICR0eXBlKSk7XG59XG5cbkBtaXhpbiBoZWFkNSgkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlRm9udEZhbWlseTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdlcHNpbG9uJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ2KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJGJhc2VGb250RmFtaWx5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ3pldGEnLCAkdHlwZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtaXhpbiBmb250LXNtYWxse1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZUZvbnRGYW1pbHk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRzbS1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJHNtLWxpbmVIZWlnaHQ7XG59XG5cbkBtaXhpbiBmb250LWxhcmdlIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRsZy1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxnLWxpbmVIZWlnaHQ7XG59XG5cbkBtaXhpbiBzaGFkb3ctdXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItdXAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcbn1cblxuQG1peGluIHNoYWRvdy1kb3duIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdzEyLWRvd24ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcbn1cblxuQG1peGluIHNoYWRvdy11cC10b3Age1xuICAgIEBpbmNsdWRlIHNoYWRvdy11cDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgdG9wO1xufVxuXG5AbWl4aW4gc2hhZG93LWRvd24tYm90dG9tIHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctZG93bjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tO1xufVxuXG5AbWl4aW4gc2hhZG93LWJvdGgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItdXAucG5nKSwgdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi1kb3duLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIGJvdHRvbSwgNTAlIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA0cHg7XG5cbiAgICAubHQtaWU5ICYge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1saW5lLWhlaWdodCgkc2l6ZTonYmFzZScpIHtcbiAgICAkbjogMTtcbiAgICBAaWYgKCRzaXplID09ICd4c21hbGwnKSB7XG4gICAgICAgICRuOiAwLjI1O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NtYWxsJykge1xuICAgICAgICAkbjogMC41O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ2xhcmdlJykge1xuICAgICAgICAkbjogMS41O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ3hsYXJnZScpIHtcbiAgICAgICAgJG46IDI7XG4gICAgfVxuICAgIEByZXR1cm4gJGJhc2VMaW5lSGVpZ2h0ICogJG47XG59XG5cbkBtaXhpbiBzdXBlcnNjcmlwdCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHRvcDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHBvc2l0aW9uOidhbGwnLCRzaXplOidiYXNlJykge1xuICAgIEBpZiAoJHBvc2l0aW9uID09ICd0b3AnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3RoJykge1xuICAgICAgICBtYXJnaW4tdG9wOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG59XG5AbWl4aW4gcGFkZGluZygkcG9zaXRpb246J2FsbCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRwb3NpdGlvbiA9PSAnYm90aCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgcGFkZGluZzogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxufVxuXG5AbWl4aW4gaHItbGluZSgkcG9zaXRpb246J2JvdGgnLCRzaXplOidiYXNlJykge1xuICAgIEBpZiAoJHBvc2l0aW9uID09ICd0b3AnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaHItZGFzaGVkKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRwb3NpdGlvbiA9PSAnbWlkZGxlJykge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcmdpbigkcG9zaXRpb24sJHNpemUpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHBvc2l0aW9uLCRzaXplKTtcbn1cblxuQG1peGluIGhyLWltYWdlKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgJGltYWdlOiB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdy1kb3duLnBuZyk7XG4gICAgJGltYWdlX3RvcDogJGltYWdlIG5vLXJlcGVhdCA1MCUgdG9wIC8gMTAwJSA1cHg7XG4gICAgJGltYWdlX2JvdHRvbTogJGltYWdlIG5vLXJlcGVhdCA1MCUgYm90dG9tIC8gMTAwJSA1cHg7XG4gICAgJGltYWdlX3RvcF9pZTogJGltYWdlIG5vLXJlcGVhdCA1MCUgdG9wO1xuICAgICRpbWFnZV9ib3R0b21faWU6ICRpbWFnZSBuby1yZXBlYXQgNTAlIGJvdHRvbTtcbiAgICAkaW1hZ2VfYm90aDogJGltYWdlX3RvcCwgJGltYWdlX2JvdHRvbTtcbiAgICAkaGNfYm9yZGVyOiAxcHggZG90dGVkIHRyYW5zcGFyZW50OyAgICAvLyBBMTFZOiBVc2VkIGZvciBoaWdoLWNvbnRyYXN0XG4gICAgQGlmICRwb3NpdGlvbiA9PSAndG9wJyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3A7XG4gICAgICAgIGJvcmRlci10b3A6ICRoY19ib3JkZXI7XG4gICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfdG9wX2llO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV9ib3R0b207XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoY19ib3JkZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoY19ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6ICRoY19ib3JkZXI7XG4gICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfdG9wX2llO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV9ib3R0b21faWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcmdpbigkcG9zaXRpb24sJHNpemUpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHBvc2l0aW9uLCRzaXplKTtcbn1cblxuLy9cbi8vIE1peGlucyBmb3IgZ3JhZGllbnRzXG4vL1xuQG1peGluIGdyYWRpZW50KCRkZWZhdWx0LCRmcm9tLCR0bykge1xuICAgIGJhY2tncm91bmQ6ICRkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGZpbHRlci1ncmFkaWVudCgkZnJvbSwgJHRvKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkZnJvbSwgJHRvKSk7XG59XG5AbWl4aW4gZy1icmFuZEJsdWUge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRsaWdodEJsdWUsICRsaWdodEJsdWUsICRicmFuZEJsdWUpO1xufVxuQG1peGluIGdyYWRpZW50LWxpZ2h0Qmx1ZS1kYXJrQmx1ZSB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQoJGJyYW5kQmx1ZSwgJGxpZ2h0Qmx1ZSwgJGRhcmtCbHVlKTtcbn1cblxuLy9cbi8vIE1peGlucyBmb3IgdGhlbWVzXG4vL1xuQG1peGluIHRoZW1lLWJyYW5kQmx1ZS1ncmFkaWVudCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtbGlnaHRCbHVlLWRhcmtCbHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhLCBoMiwgbGFiZWwge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpmb2N1cywgJjpob3ZlcntcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiB0aGVtZS1kYXJrQmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtCbHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhLCBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgJjpmb2N1cywgJjpob3ZlcntcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLW5vdGV7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtdWx0cmFMaWdodEdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1bHRyYUxpZ2h0R3JheTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCdhbGwnKTtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkZXRyb2l0Qmx1ZTtcbiAgICB9XG4gICAgaDMsaDQsaDUsaDYsLm5vdGUge1xuICAgICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIH1cbn1cbkBtaXhpbiB0aGVtZS1zdXBlclVsdHJhTGlnaHRHcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VwZXJVbHRyYUxpZ2h0R3JheTtcbiAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJGRldHJvaXRCbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkZGV0cm9pdEJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtc3VwZXJVbHRyYUxpZ2h0R3JheS1ncmFkaWVudCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQoJHN1cGVyVWx0cmFMaWdodEdyYXksJHN1cGVyVWx0cmFMaWdodEdyYXksJHdoaXRlKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCdhbGwnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGgzLGg0LGg1LGg2LC5ub3RlIHtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgfVxufVxuXG5AbWl4aW4gdGhlbWUtZGlhbG9nLWdyYXlPdmVybGF5e1xuXHQmLnVpLWRpYWxvZ3tcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdC51aS1kaWFsb2ctdGl0bGViYXJ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gdGhlbWUtbW9iaWxlZGlhbG9nLWdyYXliYWNrZ3JvdW5ke1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VwZXJVbHRyYUxpZ2h0R3JheTtcblx0LnVpLWRpYWxvZy10aXRsZWJhcntcblx0XHQudWktYnV0dG9ue1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdFx0fVxuXHR9XG5cdC51aS1kaWFsb2ctYnV0dG9ucGFuZXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VwZXJVbHRyYUxpZ2h0R3JheTtcblx0fVxufVxuXG4vL1xuLy8gTWl4aW5zIGZvciBSZXNwb25zaXZlIE1lZGlhUXVlcmllc1xuLy9cbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xuICAgIC8qIE1lZGlhOiAjeyRtZWRpYX0gKi9cbiAgICBAaWYgJG1lZGlhID09IHBob25lX3BvcnRyYWl0IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSAgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmVfc21hbGwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzIwcHgpICB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBwaG9uZV9sYW5kc2NhcGUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBwaG9uZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfcG9ydHJhaXQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfcG9ydHJhaXRfZG93biB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfbGFuZHNjYXBlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDMycHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF9sYW5kc2NhcGVfdXAge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDMycHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF9kb3duIHsgICAgLy9waG9uZS10YWJsZXRcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAzMnB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfdXAgeyAgICAgICAgLy90YWJsZXQtZGVza3RvcFxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMzNweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gZGVza3RvcF9oZWlnaHRfZG93biB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NDBweCkgeyBAY29udGVudDsgfVxuICAgIH1cbn1cblxuQG1peGluIGhpZGVBY2Nlc3NpYmxlQ29tcG9uZW50KCkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbkBtaXhpbiByb3RhdGUoICRkZWdyZWVzICkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuIH1cblxuIEBtaXhpbiBhZmZpeCgkdG9wOiAwLCAkbWFyZ2luQm90dG9tOiAwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbkJvdHRvbTtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6ICR0b3A7XG4gfVxuXG4gQG1peGluIGljb24tYnV0dG9uKCR0b3AsICRyaWdodCkge1xuICAgIHRvcDogJHRvcDtcbiAgICByaWdodDogJHJpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLmljb24tbG9jYXRlOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuIH1cblxuIEBtaXhpbiBpbmZvLW5vdGUoKSB7XG4gICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQoJHNtLXNpemUpO1xuICAgICBjb2xvcjogJHJhbmdlckdyZWVuO1xuIH1cbiIsIi5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTAyO1xuICAgIGhlaWdodDogNTk0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMTAwcHg7XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiNhYS1ocC1hZC1oZXJvIHtcblx0JiBhe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXHRcdCY6Zm9jdXMge1xuICAgIFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgIFx0fVxuICAgIH1cbn1cblxuLmhlcm8tY29udHJvbHMge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuXG4gICAgJiBidXR0b24ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59XG4jaGVyby1wcmV2LCAjaGVyby1uZXh0IHtcblx0cGFkZGluZzogMHB4O1xuICAgIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgJiBpbWcge1xuICAgIFx0aGVpZ2h0OjUwcHg7XG4gICAgXHR3aWR0aDogMTAwcHg7XG4gICAgXHRtYXgtd2lkdGg6MjAwJTtcblx0fVxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRvdXRsaW5lIDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQ6ICR0aWVyRVhQRGFyaztcblx0XHRvcGFjaXR5OiAwLjY7XG4gICAgXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjApO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRicmFuZEJsdWU7XG5cdFx0JiBpbWd7XG4gICAgXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIFx0XHRib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICR0aWVyRVhQRGFyayAwJSwgJHRpZXJFWFBEYXJrIDEwMCUpO1xuXHRcdCAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgXHR9XG5cdH1cbn1cblxuI2hlcm8tcHJldiB7XG5cdGxlZnQ6IDA7XG59XG5cbiNoZXJvLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICYgaW1nIHtcbiAgICBcdG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICB9XG59XG4jaGVyby1wYXVzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMyNXB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsZWZ0OiA0NXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmIGltZyB7XG4gICAgXHRoZWlnaHQ6NjBweDtcbiAgICBcdHdpZHRoOiAzMHB4O1xuXG5cdH1cbn1cbi5wYXVzZSB7XG5cdCYgaW1nIHtcbiAgICBcdG1hcmdpbi10b3A6LTMwcHg7XG5cdH1cbn1cbiIsIi5hY2NvdW50LWluZm8sXG4jbG9naW4ge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmIGE6Zm9jdXN7XG4gIFx0XHRvdXRsaW5lOiAxcHggc29saWQgJHdoaXRlO1xuICBcdH1cbiAgICAmIC5saW5rIHtcbiAgICBcdG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBbWVyaWNhblNhbnNMaWdodDtcbiAgICB9XG4gICAgJiBoMntcbiAgICBcdGNvbG9yOiAkd2hpdGU7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgICB9XG4gICAgJiBpbnB1dHtcbiAgICBcdHBhZGRpbmc6IDZweCA2cHg7XG4gICAgfVxuICAgICYgcCwmIC5idG4ge1xuICAgIFx0bWFyZ2luOjA7XG4gICAgfVxuXG59XG4jbG9naW4ge1xuXHQmIC5jdXN0b21Db21wb25lbnR7XG4gICAgXHQmIGxhYmVse1xuICAgIFx0XHRmb250LXNpemU6IDEzcHg7XG4gICAgXHRcdCYgLmxibCB7XG4gICAgXHRcdFx0d2lkdGg6IDc1JTtcbiAgICBcdFx0fVxuICAgIFx0fVxuICAgIH1cbiAgICAmIC5mb3Jnb3QtbGluay13cmFwcGVye1xuICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0Zm9udC1zaXplOjEycHg7XG4gICAgXHRib3R0b206IDE1cHg7XG4gIFx0ICAgIHdpZHRoOiA5NSU7XG4gIFx0ICAgICYgYXtcbiAgXHQgICAgXHRjb2xvcjogJHdoaXRlO1xuICBcdCAgICBcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIFx0ICAgIFx0Jjpmb2N1cyxcblx0ICAgICAgICAmOmhvdmVye1xuXHQgICAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgICAgICAgIH1cbiAgXHQgICAgfVxuXHR9XG5cdCYgLnJlbWVtYmVyLXN1Ym1pdC13cmFwcGVyIHtcblx0XHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4uYWNjb3VudC1pbmZve1xuXHRmb250LWZhbWlseTokc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuXG5cdGgye1xuXHRcdEBpbmNsdWRlIGhlYWQzO1xuXHRcdG1hcmdpbi1ib3R0b206MC44MzNlbTtcblx0fVxuXG5cdC5jYXJkbWVtYmVyLW5hbWV7XG5cdFx0QGluY2x1ZGUgaGVhZDM7XG5cdFx0Zm9udC1mYW1pbHk6JHNhbnNGb250RmFtaWx5TWVkaXVtO1xuXHRcdHBhZGRpbmctYm90dG9tOjEwcHg7XG5cdH1cblxuXHQuYWNjb3VudC1pbmZvLWxpbmtzIHtcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgYm90dG9tOiAxNXB4O1xuXHQgIGxlZnQ6IDE1cHg7XG5cdCAgcmlnaHQ6IDE1cHg7XG5cdH1cblx0ICBwLmRlbHRhe1xuICAgIFx0cGFkZGluZy1ib3R0b206MTBweDtcbiAgICB9XG4gICAgIHAuY2FyZG1lbWJlci1taWxlYWdle1xuICAgICBcdEBpbmNsdWRlIGhlYWQ1O1xuICAgICBcdGZvbnQtZmFtaWx5OiRzYW5zRm9udEZhbWlseVJlZ3VsYXI7XG4gICAgXHRwYWRkaW5nLWJvdHRvbTowcHg7XG4gICAgXHRtYXJnaW4tdG9wOjIwcHg7XG4gICAgfVxuICAgICAuY3JlZGl0Q2FyZEdyZWV0aW5ne1xuICAgIFx0cGFkZGluZy1ib3R0b206MTBweDtcbiAgICB9XG5cbn1cblxuIiwiI2Jvb2tpbmctbW9kdWxlLXRhYnMge1xuICAgIG1pbi1oZWlnaHQ6IDIyZW07XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICZbcmVhZG9ubHldW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiBidXR0b25bY2xhc3N+PVwiYnRuXCJdLFxuICAgICYgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgcGFkZGluZzogNnB4IDlweDtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICAgIH1cblxuICAgICYgW2NsYXNzfD1cIm1lc3NhZ2VcIl0ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4O1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIHRvcDo4cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiAubWVzc2FnZS1lcnJvciB+IHNwYW57XG4gICAgICAgIGNvbG9yOiAkZGFya1JlZDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICB9XG4gICAgJiAubWVzc2FnZS13YXJuaW5nIH4gc3BhbntcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgfVxuXG4gICAgLnVpLXRhYnMtbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgc2hhZG93LXVwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHVsdHJhTGlnaHRHcmF5O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0R3JheTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWktdGFicy1hbmNob3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnVpLXRhYnMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAudWktdGFicy1hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudWktc3RhdGUtZm9jdXMge1xuICAgICAgICAgICAgICAgIC51aS10YWJzLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS10YWJzLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDI1cHggMjBweCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxufVxuXG4uZmxpZ2h0U3RhdHVzbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cblxuLmNoZWNraW4tbXNnIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG59XG4iLCIvLyBjb21wYXNzIG1peGluc1xuQGltcG9ydCBcImNvbXBhc3MvY3NzM1wiO1xuXG4vLyByZXF1aXJlZCBwYXJ0aWFsc1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL21peGluc1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL3RhYmxlc1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL2hlcm9cIjtcbkBpbXBvcnQgXCJ2My9wYXJ0aWFscy9sb2dpblwiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL2Jvb2tpbmdcIjtcblxuLnQtZy1ibHVlIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQoJGJyYW5kQmx1ZSwkYnJhbmRCbHVlLCRkYXJrQmx1ZSk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cbi5idG4ge1xuXHRoZWlnaHQ6IDM1cHg7XG59XG5cbi5ob21lLXBhZ2UtbG9naW4td2lkZ2V0e1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cdHdpZHRoOjI4JTtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdCYgc3Vwe1xuXHRcdGZvbnQtc2l6ZTogLjkwcmVtO1xuXHR9XG59XG4uaG9tZS1wYWdlLWJvb2tpbmctd2lkZ2V0e1xuXHRAaW5jbHVkZSBzaGFkb3ctdXA7XG5cdHdpZHRoOjY5Ljg1JTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRmbG9hdDogcmlnaHQ7XG5cdG1pbi1oZWlnaHQ6IDI4ZW07XG59XG4jcmVzZXJ2YXRpb25GbGlnaHRTZWFyY2hGb3JtIHtcblx0dWx7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAuYWEtZmxpZ2h0U2VhcmNoRm9ybS1kYXRlc1JvdyB7XG4gICAgXHRtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICAgICNib29raW5nQ2hlY2tib3hDb250YWluZXIge1xuICAgICAgICBcbiAgICAgICAgLmN1c3RvbUNvbXBvbmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdCAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkIH4gbGFiZWwge1xuXHQgICAgICAgICAgICBjb2xvcjogJGdyYXkgIWltcG9ydGFudDtcblx0ICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4jdHJhdmVsQWxlcnQge1xuXHR0b3A6IC0yMHB4O1xuXHQmIC50cmF2ZWxBbGVydCB7XG5cdFx0cGFkZGluZzogOXB4IDI1cHggOHB4IDI1cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbjogMCAyLjEzMTc4JTtcblx0XHRmbG9hdDpyaWdodDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdH1cblx0JiBbY2xhc3N8PVwibWVzc2FnZVwiXSB7XG5cdFx0cGFkZGluZzogMTBweCAwIDEwcHggMjVweDtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIFx0Jjo6YmVmb3JlIHtcbiAgICBcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICBcdFx0dG9wOjhweDtcbiAgICBcdH1cbiAgICB9XG59XG4uZmVhdHVyZXtcblx0JiA+IGF7XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0Jjpob3ZlciwmOmZvY3Vze1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmIC5mZWF0dXJlLWNhbGwsXG5cdFx0XHQmLmZlYXR1cmUtY2FsbHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYgaDMge1xuXHRcdG1hcmdpbjogMTBweCAwO1xuXHR9XG5cdCYgLmxpc3Qtc3RhbmRhcmR7XG5cdFx0cGFkZGluZzowcHg7XG5cdH1cblx0JiAuZmVhdHVyZS1ib2R5e1xuXHRcdGNvbG9yIDogJGRhcmtHcmF5O1xuXHR9XG5cdCYgaW1ne1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cbn1cbi50cmF2ZWwtZGVhbHN7XG5cdCYgYTpmaXJzdC1vZi10eXBle1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0Jjpmb2N1c3tcblx0XHRcdCYgLnByaWNle1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0JiBhOmxhc3Qtb2YtdHlwZXtcblx0XHRmbG9hdDogbGVmdDtcbiAgICBcdGNsZWFyOiBib3RoO1xuICAgIFx0bWFyZ2luLXRvcDogLTVweDtcblx0fVxuXHQmIC50cmlwe1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1heC13aWR0aDogNjIlO1xuICAgIFx0Y29sb3I6JG1lZGl1bUdyYXk7XG5cdH1cblx0JiAucHJpY2V7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0JiAuaW5kaWNhdG9ye1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDIwKTtcblx0XHRcdHRvcDogLTAuNWVtO1xuICAgIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdHBhZGRpbmctYm90dG9tOjFweDtcblx0XHR9XG5cdFx0Jjpob3ZlciwmOmZvY3Vze1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdCYgLm5vdGV7XG5cdFx0Y29sb3I6JGJyYW5kQmx1ZTtcblx0fVxufVxuLmluY2lkZW50LWhlcm8ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bUdyYXk7XG5cdGhlaWdodDogNTk0cHg7XG5cdG1hcmdpbi1sZWZ0OiAtNDVweDtcblx0d2lkdGg6IDExMDBweDtcblx0cGFkZGluZzogNDJweCA1NnB4IDBweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHdoaXRlO1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdGgyIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodCg2OCk7XG5cdH1cblxuXHRwIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQoMjIpO1xuXHRcdGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuXHR9XG59XG5hLmluY2lkZW50LWhlcm8ge1xuXHRwIHtcblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuI2FhLWxhbmctZW4ge1xuXHQmICNhYS10YWItYm9va2luZy1tb2R1bGV7XG5cdFx0d2lkdGg6IDMwJTtcblx0fVxuXHQmICNhYS10YWItdmlld1Jlc2VydmF0aW9uc3tcblx0XHR3aWR0aDogNDAlO1xuXHR9XG5cdCYgI2FhLXRhYi1mbGlnaHRTdGF0dXN7XG5cdFx0d2lkdGg6IDMwJTtcblx0fVxufVxuI2FhLWxhbmctZXMge1xuXHQmICNhYS10YWItYm9va2luZy1tb2R1bGV7XG5cdFx0d2lkdGg6IDI3JTtcblx0fVxuXHQmICNhYS10YWItdmlld1Jlc2VydmF0aW9uc3tcblx0XHR3aWR0aDogNDYlO1xuXHR9XG5cdCYgI2FhLXRhYi1mbGlnaHRTdGF0dXN7XG5cdFx0d2lkdGg6IDI3JTtcblx0fVxufVxuI2FhLWxhbmctcHQge1xuXHQmICNhYS10YWItYm9va2luZy1tb2R1bGV7XG5cdFx0d2lkdGg6IDMwJTtcblx0fVxuXHQmICNhYS10YWItdmlld1Jlc2VydmF0aW9uc3tcblx0XHR3aWR0aDogNDQlO1xuXHR9XG5cdCYgI2FhLXRhYi1mbGlnaHRTdGF0dXN7XG5cdFx0d2lkdGg6IDI2JTtcblx0fVxufVxuI2FhLWxhbmctZnIge1xuXHQmICNhYS10YWItYm9va2luZy1tb2R1bGV7XG5cdFx0d2lkdGg6IDI3JTtcblx0fVxuXHQmICNhYS10YWItdmlld1Jlc2VydmF0aW9uc3tcblx0XHR3aWR0aDogNDglO1xuXHR9XG5cdCYgI2FhLXRhYi1mbGlnaHRTdGF0dXN7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxuXHQjaG9tZS1wYWdlLXdpZGdldHMgLnVpLXRhYnMtYW5jaG9ye1xuXHRcdGZvbnQtc2l6ZToyMXB4O1xuXHR9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8ocGhvbmUpIHtcblx0aGVhZGVyIHtcblx0XHQubW9iaWxlLXV0aWxpdHkge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cdFx0I3RyYXZlbEFsZXJ0e1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdC50cmF2ZWxBbGVydCB7XG5cdFx0XHRib3JkZXI6IG1lZGl1bSBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbjogMnB4IDAgMCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdFx0Lm1lc3NhZ2Utd2FybmluZzo6YmVmb3JlIHtcblx0XHRcdFx0dG9wOiAycHg7XG5cdFx0XHRcdGxlZnQ6IDRweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvZ2VuZXJhbC9oYWNrc1wiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGJhY2tncm91bmRzKSBvciAkbXVsdC1iZ3M7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLXN2ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW93ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogLXdlYmtpdCgkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW1veigkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgICAtbygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgICAgICB7IC1waWUtYmFja2dyb3VuZDogICAgLXBpZSgkYmFja2dyb3VuZHMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogICAgICAgICAkYmFja2dyb3VuZHMgO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC13aXRoLWNzczItZmFsbGJhY2soXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkc2ltcGxlLWJhY2tncm91bmQ6IGlmKCRtdWx0LWJncyBvciBwcmVmaXhlZCgtY3NzMiwgJGJhY2tncm91bmRzKSwgLWNzczIoLWNvbXBhc3MtbnRoKCRiYWNrZ3JvdW5kcywgbGFzdCkpLCBmYWxzZSk7XG4gIEBpZiBub3QoYmxhbmsoJHNpbXBsZS1iYWNrZ3JvdW5kKSkgeyBiYWNrZ3JvdW5kOiAkc2ltcGxlLWJhY2tncm91bmQ7IH1cbiAgQGluY2x1ZGUgYmFja2dyb3VuZCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbn1cblxuXG4vLyBCYWNrZ3JvdW5kIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2UtMSxcbiAgJGltYWdlLTI6IGZhbHNlLFxuICAkaW1hZ2UtMzogZmFsc2UsXG4gICRpbWFnZS00OiBmYWxzZSxcbiAgJGltYWdlLTU6IGZhbHNlLFxuICAkaW1hZ2UtNjogZmFsc2UsXG4gICRpbWFnZS03OiBmYWxzZSxcbiAgJGltYWdlLTg6IGZhbHNlLFxuICAkaW1hZ2UtOTogZmFsc2UsXG4gICRpbWFnZS0xMDogZmFsc2Vcbikge1xuICAkaW1hZ2VzOiBjb21wYWN0KCRpbWFnZS0xLCAkaW1hZ2UtMiwgJGltYWdlLTMsICRpbWFnZS00LCAkaW1hZ2UtNSwgJGltYWdlLTYsICRpbWFnZS03LCAkaW1hZ2UtOCwgJGltYWdlLTksICRpbWFnZS0xMCk7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRpbWFnZXMpIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgkaW1hZ2VzKSA+IDE7XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1zdmcoJGltYWdlcyk7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW93ZygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdCgkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW1veigkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgICAtbygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgIHsgQHdhcm4gXCJQSUUgZG9lcyBub3Qgc3VwcG9ydCBiYWNrZ3JvdW5kLWltYWdlLiBVc2UgQGluY2x1ZGUgYmFja2dyb3VuZCgjeyRpbWFnZXN9KSBpbnN0ZWFkLlwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgJGltYWdlcyA7XG59XG5cbi8vIEVtaXQgYSBJRS1TcGVjaWZpYyBmaWx0ZXJzIHRoYXQgcmVuZGVycyBhIHNpbXBsZSBsaW5lYXIgZ3JhZGllbnQuXG4vLyBGb3IgdXNlIGluIElFIDYgLSA4LiBCZXN0IHByYWN0aWNlIHdvdWxkIGhhdmUgeW91IGFwcGx5IHRoaXMgdmlhIGFcbi8vIGNvbmRpdGlvbmFsIElFIHN0eWxlc2hlZXQsIGJ1dCBpZiB5b3UgbXVzdCwgeW91IHNob3VsZCBwbGFjZSB0aGlzIGJlZm9yZVxuLy8gYW55IGJhY2tncm91bmQtaW1hZ2UgcHJvcGVydGllcyB0aGF0IHlvdSBoYXZlIHNwZWNpZmllZC5cbi8vXG4vLyBGb3IgdGhlIGAkb3JpZW50YXRpb25gIHBhcmFtZXRlciwgeW91IGNhbiBwYXNzIGB2ZXJ0aWNhbGAgb3IgYGhvcml6b250YWxgLlxuQG1peGluIGZpbHRlci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbjogdmVydGljYWwpIHtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbiAgJGdyYWRpZW50LXR5cGU6IGlmKCRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCwgMCwgMSk7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZ3JhZGllbnRUeXBlPSN7JGdyYWRpZW50LXR5cGV9LCBzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScpO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgcHJvcGVydGllcyBhbmQgdmFsdWVzLlxuQG1peGluIGJvcmRlci1pbWFnZSgkdmFsdWUpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIHsgICAgLW1vei1ib3JkZXItaW1hZ2U6ICAgIC1tb3oocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAgICAtb3dnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogLXdlYmtpdChyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIHsgICAgICAtby1ib3JkZXItaW1hZ2U6ICAgICAgLW8ocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICB7ICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAtc3ZnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWU7XG59XG5cbi8vIExpc3Qgc3R5bGUgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUtaW1hZ2UoJGltYWdlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJGltYWdlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCRpbWFnZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkaW1hZ2UgO1xufVxuXG4vLyBMaXN0IHN0eWxlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlKCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICR2YWx1ZSA7XG59XG5cbi8vIGNvbnRlbnQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGNvbnRlbnQoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGNvbnRlbnQ6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICAgICAgICAgJHZhbHVlIDtcbn1cbiJdfQ== */
