.container{width:100%;max-width:1010px}.row-noBreak{position:relative;*zoom:1}.row-noBreak:after,.row-noBreak:before{content:"";display:table}.row-noBreak:after{clear:both}.row,.row-noBreak,[class*=row-]{margin-left:-2.13178%;position:relative;*zoom:1}.row-noBreak:after,.row-noBreak:before,.row:after,.row:before,[class*=row-]:after,[class*=row-]:before{content:"";display:table}.row-noBreak:after,.row:after,[class*=row-]:after{clear:both}.row-noBreak.tab-bottom,.row.tab-bottom,[class*=row-].tab-bottom{padding-bottom:29px}.row-space{margin-top:18px;margin-bottom:18px}.row-margin-top{margin-top:2.13178%}[class*=span]{float:left;margin-left:2.13178%}.pushRight+[class*=span]{margin-left:0}.span1{width:6.20155%}.span1.pushLeft,.span1.pushRight{width:8.33333%}.span1.pushLeft{margin-left:0}.span2{width:14.53488%}.span2.pushLeft,.span2.pushRight{width:16.66667%}.span2.pushLeft{margin-left:0}.span3{width:22.86822%}.span3.pushLeft,.span3.pushRight{width:25%}.span3.pushLeft{margin-left:0}.span4{width:31.20155%}.span4.pushLeft,.span4.pushRight{width:33.33333%}.span4.pushLeft{margin-left:0}.span5{width:39.53488%}.span5.pushLeft,.span5.pushRight{width:41.66667%}.span5.pushLeft{margin-left:0}.span6{width:47.86822%}.span6.pushLeft,.span6.pushRight{width:50%}.span6.pushLeft{margin-left:0}.span7{width:56.20155%}.span7.pushLeft,.span7.pushRight{width:58.33333%}.span7.pushLeft{margin-left:0}.span8{width:64.53488%}.span8.pushLeft,.span8.pushRight{width:66.66667%}.span8.pushLeft{margin-left:0}.span9{width:72.86822%}.span9.pushLeft,.span9.pushRight{width:75%}.span9.pushLeft{margin-left:0}.span10{width:81.20155%}.span10.pushLeft,.span10.pushRight{width:83.33333%}.span10.pushLeft{margin-left:0}.span11{width:89.53488%}.span11.pushLeft,.span11.pushRight{width:91.66667%}.span11.pushLeft{margin-left:0}.span12{width:97.86822%}.span12.pushLeft,.span12.pushRight{width:100%}.span12.pushLeft{margin-left:0}.forceWidth1{width:6.20155%!important}.forceWidth2{width:14.53488%!important}.forceWidth3{width:22.86822%!important}.forceWidth4{width:31.20155%!important}.forceWidth5{width:39.53488%!important}.forceWidth6{width:47.86822%!important}.forceWidth7{width:56.20155%!important}.forceWidth8{width:64.53488%!important}.forceWidth9{width:72.86822%!important}.forceWidth10{width:81.20155%!important}.forceWidth11{width:89.53488%!important}.forceWidth12{width:97.86822%!important}.width1{width:6.20155%}.width2{width:14.53488%}.width3{width:22.86822%}.width4{width:31.20155%}.width5{width:39.53488%}.width6{width:47.86822%}.width7{width:56.20155%}.width8{width:64.53488%}.width9{width:72.86822%}.width10{width:81.20155%}.width11{width:89.53488%}.width12{width:97.86822%}.offset1{margin-left:10.46512%}.offset2{margin-left:18.79845%}.offset3{margin-left:27.13178%}.offset4{margin-left:35.46512%}.offset5{margin-left:43.79845%}.offset6{margin-left:52.13178%}.offset7{margin-left:60.46512%}.offset8{margin-left:68.79845%}.offset9{margin-left:77.13178%}.offset10{margin-left:85.46512%}.offset11{margin-left:93.79845%}.offset12{margin-left:102.13178%}.offset-right1{margin-right:10.46512%}.offset-right2{margin-right:18.79845%}.offset-right3{margin-right:27.13178%}.offset-right4{margin-right:35.46512%}.offset-right5{margin-right:43.79845%}.offset-right6{margin-right:52.13178%}.offset-right7{margin-right:60.46512%}.offset-right8{margin-right:68.79845%}.offset-right9{margin-right:77.13178%}.offset-right10{margin-right:85.46512%}.offset-right11{margin-right:93.79845%}.offset-right12{margin-right:102.13178%}.hidden{display:none;visibility:hidden}.visible{display:block!important}.hidden-desktop,.visible-phone,.visible-tablet{display:none!important}.row-noBreak>[class*=span] .btn,.row>[class*=span] .btn{width:100%;min-width:0}@media (max-width:479px){.container{min-width:240px;padding-left:7px!important;padding-right:7px!important}}@media screen and (min-width:480px) and (max-width:767px){.container{min-width:460px}.span-phone-landscape1{width:6.20155%}.span-phone-landscape2{width:14.53488%}.span-phone-landscape3{width:22.86822%}.span-phone-landscape4{width:31.20155%}.span-phone-landscape5{width:39.53488%}.span-phone-landscape6{width:47.86822%}.span-phone-landscape7{width:56.20155%}.span-phone-landscape8{width:64.53488%}.span-phone-landscape9{width:72.86822%}.span-phone-landscape10{width:81.20155%}.span-phone-landscape11{width:89.53488%}.span-phone-landscape12{width:97.86822%}}@media screen and (max-width:767px){.visible-phone{display:inherit!important}.hidden-phone{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.span-phone1{width:6.20155%}.span-phone1.pushLeft,.span-phone1.pushRight{width:8.33333%}.span-phone2{width:14.53488%}.span-phone2.pushLeft,.span-phone2.pushRight{width:16.66667%}.span-phone3{width:22.86822%}.span-phone3.pushLeft,.span-phone3.pushRight{width:25%}.span-phone4{width:31.20155%}.span-phone4.pushLeft,.span-phone4.pushRight{width:33.33333%}.span-phone5{width:39.53488%}.span-phone5.pushLeft,.span-phone5.pushRight{width:41.66667%}.span-phone6{width:47.86822%}.span-phone6.pushLeft,.span-phone6.pushRight{width:50%}.span-phone7{width:56.20155%}.span-phone7.pushLeft,.span-phone7.pushRight{width:58.33333%}.span-phone8{width:64.53488%}.span-phone8.pushLeft,.span-phone8.pushRight{width:66.66667%}.span-phone9{width:72.86822%}.span-phone9.pushLeft,.span-phone9.pushRight{width:75%}.span-phone10{width:81.20155%}.span-phone10.pushLeft,.span-phone10.pushRight{width:83.33333%}.span-phone11{width:89.53488%}.span-phone11.pushLeft,.span-phone11.pushRight{width:91.66667%}.span-phone12{width:97.86822%}.span-phone12.pushLeft,.span-phone12.pushRight{width:100%}body{-webkit-text-size-adjust:none}.container{width:auto}.row{margin-left:0}.row>[class*=span]{float:none;display:block;width:auto;margin-left:0}.row-noBreak>[class*=span]{float:left;margin-left:2.13178%}.row-noBreak>[class*=span].pushLeft{margin-left:0}.grid-gutter-left-phone{margin-left:2.13178%}.grid-gutter-right-phone{margin-right:2.13178%}.align-center-phone{text-align:center!important}.alpha,h1{font-size:27px;font-size:1.92857rem;line-height:40px}.beta,h2{font-size:24px;font-size:1.71429rem;line-height:30px}.delta,.gamma,h3,h4{line-height:25px}.font-large{font-size:16px;font-size:1.14286rem}.half-column-phone-left{float:left;width:50%;text-align:left}.half-column-phone-right{float:right;width:50%;text-align:right}header{padding-top:9px}header .site-logo{position:relative;bottom:0;max-width:250px}header #site-nav .menu-item a{padding-left:6px;padding-right:6px}header #mobile-utility-nav{min-height:27px}header #mobile-utility-nav .account-panel{left:-153px}header #mobile-site-nav{padding:12px 0}header #menu-btn{background:#fff}header #menu-btn,header #menu-btn a{position:relative;float:right;overflow:hidden}header #menu-btn a{padding:7px 7px 2px;width:40px}header #menu-btn.is-open{background:#4db4fa;height:40px}header #menu-btn.is-open a{color:#fff}header #mobile-nav{position:relative;top:-12px;z-index:99;width:100%;font-family:Arial,sans-serif;font-size:16px;font-size:1.14286rem;line-height:22px}header #mobile-nav .content{left:780px;position:absolute;width:100%;display:none}header #mobile-nav ul{background:-owg-linear-gradient(#4db4fa,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#4db4fa),to(#00467f));background:linear-gradient(#4db4fa,#00467f);margin:0;padding:0;position:absolute;width:100%;-webkit-box-shadow:0 10px 15px -5px rgba(0,0,0,.8);box-shadow:0 10px 15px -5px rgba(0,0,0,.8)}header #mobile-nav ul li ul{background:#ebeff0;left:780px;padding-top:0;top:0}header #mobile-nav ul li ul li a{color:#627a88;padding:10px 15px;border-bottom:1px solid #d0dae0}header #mobile-nav ul li ul li a:hover{background:#0078d2}header #mobile-nav ul li a{color:#fff;display:block;padding:14px 15px;text-decoration:none;border-bottom:1px solid #b1e1eb}header #mobile-nav ul li.sub>a{padding:19px 15px 18px}header #mobile-nav ul li.sub>a .nav-title{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:24px;font-size:1.71429rem;line-height:30px}header #mobile-nav ul li.sub>a .nav-sub-title{color:#b1e1eb}header #mobile-nav ul li.sub>a .nav-icon{position:relative;bottom:12px;float:right}header #mobile-nav ul li.title a{text-transform:uppercase;color:#fff;padding:17px 15px 16px;font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:24px;font-size:1.71429rem;line-height:30px}header #mobile-nav ul li.title a,header #mobile-nav ul li.title a:hover{background:-owg-linear-gradient(#4db4fa,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#4db4fa),to(#00467f));background:linear-gradient(#4db4fa,#00467f)}header #mobile-nav ul li a:hover{color:#fff;background:rgba(0,0,0,0)}header #mobile-nav ul li:last-child>a{border-bottom:none}header #mobile-nav ul li.current ul li.current ul li.current ul li.current ul li.current ul li ul,header #mobile-nav ul li.current ul li.current ul li.current ul li.current ul li ul,header #mobile-nav ul li.current ul li.current ul li ul #mobile-nav ul li.current ul li.current ul li.current ul li ul,header #mobile-nav ul li.current ul li ul,header #mobile-nav ul li ul{display:none}header #mobile-nav ul li.current>ul,header #mobile-nav ul li.current ul li.current>ul,header #mobile-nav ul li.current ul li.current ul li.current>ul,header #mobile-nav ul li.current ul li.current ul li.current ul li.current>ul,header #mobile-nav ul li.current ul li.current ul li.current ul li.current ul li.current>ul,header #mobile-nav ul li.current ul li.current ul li.current ul li.current ul li.current ul li.current>ul{display:block}.ui-dialog{width:95%!important;padding-left:11px;padding-right:11px;position:absolute!important}.ui-dialog .ui-dialog-titlebar .ui-dialog-title{font-size:21px;font-size:1.5rem;line-height:21px}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button,.ui-dialog .ui-dialog-buttonpane button{width:47.8%!important;min-width:0}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:last-child,.ui-dialog .ui-dialog-buttonpane button:last-child{margin-left:0}.ui-dialog .aa-dialog-content-wrapper,.ui-widget-overlay{width:100%!important}.ui-autocomplete{width:95%!important}.ui-autocomplete .ui-menu-item{padding:5px 0 4px}.alert-box{width:100%;max-width:580px;margin-top:0}.alert-box .alert-box-content h1{font-size:28px;font-size:2rem}}@media (min-width:768px) and (max-width:979px),print{.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.span-tablet1{width:6.20155%}.span-tablet1.pushLeft,.span-tablet1.pushRight{width:8.33333%}.span-tablet2{width:14.53488%}.span-tablet2.pushLeft,.span-tablet2.pushRight{width:16.66667%}.span-tablet3{width:22.86822%}.span-tablet3.pushLeft,.span-tablet3.pushRight{width:25%}.span-tablet4{width:31.20155%}.span-tablet4.pushLeft,.span-tablet4.pushRight{width:33.33333%}.span-tablet5{width:39.53488%}.span-tablet5.pushLeft,.span-tablet5.pushRight{width:41.66667%}.span-tablet6{width:47.86822%}.span-tablet6.pushLeft,.span-tablet6.pushRight{width:50%}.span-tablet7{width:56.20155%}.span-tablet7.pushLeft,.span-tablet7.pushRight{width:58.33333%}.span-tablet8{width:64.53488%}.span-tablet8.pushLeft,.span-tablet8.pushRight{width:66.66667%}.span-tablet9{width:72.86822%}.span-tablet9.pushLeft,.span-tablet9.pushRight{width:75%}.span-tablet10{width:81.20155%}.span-tablet10.pushLeft,.span-tablet10.pushRight{width:83.33333%}.span-tablet11{width:89.53488%}.span-tablet11.pushLeft,.span-tablet11.pushRight{width:91.66667%}.span-tablet12{width:97.86822%}.span-tablet12.pushLeft,.span-tablet12.pushRight{width:100%}.offset-tablet1{margin-left:10.46512%}.offset-tablet2{margin-left:18.79845%}.offset-tablet3{margin-left:27.13178%}.offset-tablet4{margin-left:35.46512%}.offset-tablet5{margin-left:43.79845%}.offset-tablet6{margin-left:52.13178%}.offset-tablet7{margin-left:60.46512%}.offset-tablet8{margin-left:68.79845%}.offset-tablet9{margin-left:77.13178%}.offset-tablet10{margin-left:85.46512%}.offset-tablet11{margin-left:93.79845%}.offset-tablet12{margin-left:102.13178%}.container{min-width:739px}#site-nav .menu-item a{padding-left:6px;padding-right:6px}}@media screen and (max-width:1031px){.container{padding-left:11px;padding-right:11px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19yZXNwb25zaXZlLWdyaWQuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19ncmlkLXZhcmlhYmxlcy5zY3NzIiwiL2Fzc2V0cy9jc3MvdjMvcGFydGlhbHMvX21peGlucy5zY3NzIiwiLi4vdjMvc3RhbmRhbG9uZS1jYXIvcmVzcG9uc2l2ZS5zY3NzIiwiL2Fzc2V0cy9jc3MvdjMvcGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwiL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbWFnZXMuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jcm9zc19icm93c2VyX3N1cHBvcnQuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FLUSxVQUFXLENBQ1gsZ0JDSXVDLENERjlDLGFBR0csaUJBQWtCLEVFUGxCLE1BQVEsQ0FFUix1Q0FFSSxVQUFXLENBQ1gsYUFBYyxDQUNqQixtQkFHRyxVQUFXLENBQ2QsZ0NGSUQscUJBQXVDLENBQ3ZDLGlCQUFrQixFRWZsQixNQUFRLENBRVIsdUdBRUksVUFBVyxDQUNYLGFBQWMsQ0FDakIsa0RBR0csVUFBVyxDQUNkLGlFRlNHLG1CQUFvQixDQUN2QixXQUlELGVBQWdCLENBQ2hCLGtCQUFtQixDQUN0QixnQkFHRyxtQkNwQmtFLENEcUJyRSxjQUdHLFVBQVcsQ0FDWCxvQkN6QmtFLENEMEJyRSx5QkFHRyxhQUFjLENBQ2pCLE9BSU8sY0MvQmlFLENEOEJyRSxpQ0FLUSxjQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxlQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxTQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxlQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxlQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxTQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxlQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxlQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLE9BQ0ksZUMvQmlFLENEOEJyRSxpQ0FLUSxTQUE0QyxDQUxwRCxnQkFTUSxhQUFjLENBVHRCLFFBQ0ksZUMvQmlFLENEOEJyRSxtQ0FLUSxlQUE0QyxDQUxwRCxpQkFTUSxhQUFjLENBVHRCLFFBQ0ksZUMvQmlFLENEOEJyRSxtQ0FLUSxlQUE0QyxDQUxwRCxpQkFTUSxhQUFjLENBVHRCLFFBQ0ksZUMvQmlFLENEOEJyRSxtQ0FLUSxVQUE0QyxDQUxwRCxpQkFTUSxhQUFjLENBQ2pCLGFBTUQsd0JDeEM0RSxDRHVDaEYsYUFDSSx5QkN4QzRFLENEdUNoRixhQUNJLHlCQ3hDNEUsQ0R1Q2hGLGFBQ0kseUJDeEM0RSxDRHVDaEYsYUFDSSx5QkN4QzRFLENEdUNoRixhQUNJLHlCQ3hDNEUsQ0R1Q2hGLGFBQ0kseUJDeEM0RSxDRHVDaEYsYUFDSSx5QkN4QzRFLENEdUNoRixhQUNJLHlCQ3hDNEUsQ0R1Q2hGLGNBQ0kseUJDeEM0RSxDRHVDaEYsY0FDSSx5QkN4QzRFLENEdUNoRixjQUNJLHlCQ3hDNEUsQ0R5Qy9FLFFBS0csY0NqRGlFLENEZ0RyRSxRQUNJLGVDakRpRSxDRGdEckUsUUFDSSxlQ2pEaUUsQ0RnRHJFLFFBQ0ksZUNqRGlFLENEZ0RyRSxRQUNJLGVDakRpRSxDRGdEckUsUUFDSSxlQ2pEaUUsQ0RnRHJFLFFBQ0ksZUNqRGlFLENEZ0RyRSxRQUNJLGVDakRpRSxDRGdEckUsUUFDSSxlQ2pEaUUsQ0RnRHJFLFNBQ0ksZUNqRGlFLENEZ0RyRSxTQUNJLGVDakRpRSxDRGdEckUsU0FDSSxlQ2pEaUUsQ0RrRHBFLFNBS0cscUJDakRpRSxDRGdEckUsU0FDSSxxQkNqRGlFLENEZ0RyRSxTQUNJLHFCQ2pEaUUsQ0RnRHJFLFNBQ0kscUJDakRpRSxDRGdEckUsU0FDSSxxQkNqRGlFLENEZ0RyRSxTQUNJLHFCQ2pEaUUsQ0RnRHJFLFNBQ0kscUJDakRpRSxDRGdEckUsU0FDSSxxQkNqRGlFLENEZ0RyRSxTQUNJLHFCQ2pEaUUsQ0RnRHJFLFVBQ0kscUJDakRpRSxDRGdEckUsVUFDSSxxQkNqRGlFLENEZ0RyRSxVQUNJLHNCQ2pEaUUsQ0RrRHBFLGVBS0csc0JDdkRpRSxDRHNEckUsZUFDSSxzQkN2RGlFLENEc0RyRSxlQUNJLHNCQ3ZEaUUsQ0RzRHJFLGVBQ0ksc0JDdkRpRSxDRHNEckUsZUFDSSxzQkN2RGlFLENEc0RyRSxlQUNJLHNCQ3ZEaUUsQ0RzRHJFLGVBQ0ksc0JDdkRpRSxDRHNEckUsZUFDSSxzQkN2RGlFLENEc0RyRSxlQUNJLHNCQ3ZEaUUsQ0RzRHJFLGdCQUNJLHNCQ3ZEaUUsQ0RzRHJFLGdCQUNJLHNCQ3ZEaUUsQ0RzRHJFLGdCQUNJLHVCQ3ZEaUUsQ0VmekUsUUFDRSxZQUFhLENBQ2IsaUJBQWtCLENBQUcsU0FFckIsdUJBQXlCLENBUUUsK0NBVzNCLHNCQUF3QixDQUFHLHdEQU16QixVQUFXLENBQ1gsV0FBWSxDQUNiLHlCQU9ELFdBQ0UsZUFBZ0IsQ0FDaEIsMEJBQTRCLENBQzVCLDJCQUE2QixDQUM5QixDQUtILDBEQUNFLFdBQ0UsZUFBZ0IsQ0FBRyx1QkFJakIsY0YvQ21FLENFOENyRSx1QkFDRSxlRi9DbUUsQ0U4Q3JFLHVCQUNFLGVGL0NtRSxDRThDckUsdUJBQ0UsZUYvQ21FLENFOENyRSx1QkFDRSxlRi9DbUUsQ0U4Q3JFLHVCQUNFLGVGL0NtRSxDRThDckUsdUJBQ0UsZUYvQ21FLENFOENyRSx1QkFDRSxlRi9DbUUsQ0U4Q3JFLHVC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LENBSGhELGNBQ0UsZUZ6VW1FLENFd1VyRSwrQ0FHSSxTQUE0QyxDQUhoRCxjQUNFLGVGelVtRSxDRXdVckUsK0NBR0ksZUFBNEMsQ0FIaEQsY0FDRSxlRnpVbUUsQ0V3VXJFLCtDQUdJLGVBQTRDLENBSGhELGNBQ0UsZUZ6VW1FLENFd1VyRSwrQ0FHSSxTQUE0QyxDQUhoRCxlQUNFLGVGelVtRSxDRXdVckUsaURBR0ksZUFBNEMsQ0FIaEQsZUFDRSxlRnpVbUUsQ0V3VXJFLGlEQUdJLGVBQTRDLENBSGhELGVBQ0UsZUZ6VW1FLENFd1VyRSxpREFHSSxVQUE0QyxDQUFHLGdCQUdqRCxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxnQkFDRSxxQkZyVW1FLENFb1VyRSxpQkFDRSxxQkZyVW1FLENFb1VyRSxpQkFDRSxxQkZyVW1FLENFb1VyRSxpQkFDRSxzQkZyVW1FLENFcVVwQyxXQUlqQyxlQUFnQixDQUFHLHVCQUduQixnQkFBaUIsQ0FDakIsaUJBQWtCLENBQ25CLENBU0gscUNBQ0UsV0FDRSxpQkFBa0IsQ0FDbEIsa0JBQW1CLENBQUciLCJmaWxlIjoidjMvc3RhbmRhbG9uZS1jYXIvcmVzcG9uc2l2ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGFpbmVyIHtcbiAgICBAaWYgJGZsdWlkID09IGZhbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAkZml4ZWRDb250YWluZXJXaWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogJGdyaWRUb3RhbDtcbiAgICB9XG59XG5cbi5yb3ctbm9CcmVha3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5yb3csXG4ucm93LW5vQnJlYWssXG5bY2xhc3MqPVwicm93LVwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICYudGFiLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyOXB4O1xuICAgIH1cbn1cblxuLnJvdy1zcGFjZSB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4ucm93LW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6ICRmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbn1cblxuW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZmx1aWRHcmlkR3V0dGVyV2lkdGg7XG59XG5cbi5wdXNoUmlnaHQgKyBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcbiAgICAuc3BhbiN7JGl9IHtcbiAgICAgICAgd2lkdGg6IHNwYW5XaWR0aCgkaSk7XG5cbiAgICAgICAgJi5wdXNoUmlnaHQsXG4gICAgICAgICYucHVzaExlZnQge1xuICAgICAgICAgICAgd2lkdGg6IHNwYW5XaWR0aCgkaSkgKyAkZmx1aWRHcmlkR3V0dGVyV2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnB1c2hMZWZ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkQ29sdW1ucyB7XG4gICAgLmZvcmNlV2lkdGgjeyRpfSB7XG4gICAgICAgIHdpZHRoOiBmb3JjZVdpZHRoKCRpKTtcbiAgICB9XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcbiAgICAud2lkdGgjeyRpfSB7XG4gICAgICAgIHdpZHRoOiB3aWR0aCgkaSk7XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkQ29sdW1ucyB7XG4gICAgLm9mZnNldCN7JGl9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IG9mZnNldFdpZHRoKCRpKTtcbiAgICB9XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcbiAgICAub2Zmc2V0LXJpZ2h0I3skaX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IG9mZnNldFdpZHRoKCRpKTtcbiAgICB9XG59XG4iLCIkZmx1aWQ6IGZhbHNlIWRlZmF1bHQ7XG5cbiRncmlkQ29sdW1uczogMTI7XG4kZ3JpZENvbHVtbldpZHRoOiA2NHB4O1xuJGdyaWRHdXR0ZXJXaWR0aDogMjJweDtcbiRncmlkSGVyb1dpZHRoOiA5MHB4O1xuJGdyaWRIZXJvSGVpZ2h0T2Zmc2V0OiA4NXB4O1xuXG4kZ3JpZFRvdGFsR3V0dGVyOiAkZ3JpZENvbHVtbnMgKiAkZ3JpZENvbHVtbldpZHRoICsgJGdyaWRDb2x1bW5zICogJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGdyaWRUb3RhbDogJGdyaWRUb3RhbEd1dHRlciAtICRncmlkR3V0dGVyV2lkdGg7XG5cbiRmbHVpZEdyaWRDb2x1bW5XaWR0aDogcGVyY2VudGFnZSgkZ3JpZENvbHVtbldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG4kZmx1aWRHcmlkR3V0dGVyV2lkdGg6IHBlcmNlbnRhZ2UoJGdyaWRHdXR0ZXJXaWR0aCAvICRncmlkVG90YWxHdXR0ZXIpO1xuXG5AZnVuY3Rpb24gc3BhbldpZHRoKCRuKSB7XG4gICAgQHJldHVybiAkbiAqICRmbHVpZEdyaWRDb2x1bW5XaWR0aCArICRmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqICgkbiAtIDEpOyB9XG5cbkBmdW5jdGlvbiB3aWR0aCgkbikge1xuICAgIEByZXR1cm4gJG4gKiAkZmx1aWRHcmlkQ29sdW1uV2lkdGggKyAkZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoJG4gLSAxKTsgfVxuXG5AZnVuY3Rpb24gZm9yY2VXaWR0aCgkbikge1xuICAgIEByZXR1cm4gJG4gKiAkZmx1aWRHcmlkQ29sdW1uV2lkdGggKyAkZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoJG4gLSAxKSAhaW1wb3J0YW50OyB9XG5cbkBmdW5jdGlvbiBvZmZzZXRXaWR0aCgkbikge1xuICAgIEByZXR1cm4gJG4gKiAkZmx1aWRHcmlkQ29sdW1uV2lkdGggKyAkZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoJG4gKyAxKTsgfVxuXG4kZml4ZWRDb250YWluZXJXaWR0aDogICAoJGdyaWRDb2x1bW5zICogJGdyaWRDb2x1bW5XaWR0aCkgKyAoJGdyaWRHdXR0ZXJXaWR0aCAqICgkZ3JpZENvbHVtbnMgLSAxKSk7XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIHNlbGZjbGVhciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1cy1hY2Nlc3NpYmxle1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGZvY3VzQ29sb3I7XG4gICAgICAgLmlzLW1vYmlsZSAmIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBjbGlwOiByZWN0KDBweCwgMHB4LCAwcHgsIDBweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cbkBtaXhpbiBoaWRlLXRleHQge1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplICtweDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgLyAkYmFzZUZvbnRTaXplICtyZW07XG59XG5AbWl4aW4gZm9udC1zaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSAvICRiYXNlRm9udFNpemUgK3JlbTtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtc2l6ZSArICRsaW5lSGVpZ2h0SW5jcmVtZW50ICsgcHg7XG59XG5cbkBtaXhpbiBmb250LXNpemUtaW1wb3J0YW50KCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplIC8gJGJhc2VGb250U2l6ZSArcmVtICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBoZWFkMSgkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2FscGhhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQyKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnYmV0YScsICR0eXBlKSk7XG59XG5cbkBtaXhpbiBoZWFkMygkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2dhbW1hJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ0KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdkZWx0YScsICR0eXBlKSk7XG59XG5cbkBtaXhpbiBoZWFkNSgkdHlwZTogJ2Rlc2t0b3AnKSB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlRm9udEZhbWlseTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdlcHNpbG9uJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ2KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJGJhc2VGb250RmFtaWx5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ3pldGEnLCAkdHlwZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtaXhpbiBmb250LXNtYWxse1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZUZvbnRGYW1pbHk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRzbS1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJHNtLWxpbmVIZWlnaHQ7XG59XG5cbkBtaXhpbiBmb250LWxhcmdlIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRsZy1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxnLWxpbmVIZWlnaHQ7XG59XG5cbkBtaXhpbiBzaGFkb3ctdXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItdXAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcbn1cblxuQG1peGluIHNoYWRvdy1kb3duIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdzEyLWRvd24ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcbn1cblxuQG1peGluIHNoYWRvdy11cC10b3Age1xuICAgIEBpbmNsdWRlIHNoYWRvdy11cDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgdG9wO1xufVxuXG5AbWl4aW4gc2hhZG93LWRvd24tYm90dG9tIHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctZG93bjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tO1xufVxuXG5AbWl4aW4gc2hhZG93LWJvdGgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItdXAucG5nKSwgdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi1kb3duLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIGJvdHRvbSwgNTAlIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA0cHg7XG5cbiAgICAubHQtaWU5ICYge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1saW5lLWhlaWdodCgkc2l6ZTonYmFzZScpIHtcbiAgICAkbjogMTtcbiAgICBAaWYgKCRzaXplID09ICd4c21hbGwnKSB7XG4gICAgICAgICRuOiAwLjI1O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NtYWxsJykge1xuICAgICAgICAkbjogMC41O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ2xhcmdlJykge1xuICAgICAgICAkbjogMS41O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHNpemUgPT0gJ3hsYXJnZScpIHtcbiAgICAgICAgJG46IDI7XG4gICAgfVxuICAgIEByZXR1cm4gJGJhc2VMaW5lSGVpZ2h0ICogJG47XG59XG5cbkBtaXhpbiBzdXBlcnNjcmlwdCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHRvcDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHBvc2l0aW9uOidhbGwnLCRzaXplOidiYXNlJykge1xuICAgIEBpZiAoJHBvc2l0aW9uID09ICd0b3AnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3RoJykge1xuICAgICAgICBtYXJnaW4tdG9wOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG59XG5AbWl4aW4gcGFkZGluZygkcG9zaXRpb246J2FsbCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRwb3NpdGlvbiA9PSAnYm90aCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgcGFkZGluZzogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxufVxuXG5AbWl4aW4gaHItbGluZSgkcG9zaXRpb246J2JvdGgnLCRzaXplOidiYXNlJykge1xuICAgIEBpZiAoJHBvc2l0aW9uID09ICd0b3AnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaHItZGFzaGVkKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3R0b20nKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRwb3NpdGlvbiA9PSAnbWlkZGxlJykge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcmdpbigkcG9zaXRpb24sJHNpemUpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHBvc2l0aW9uLCRzaXplKTtcbn1cblxuQG1peGluIGhyLWltYWdlKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgJGltYWdlOiB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdy1kb3duLnBuZyk7XG4gICAgJGltYWdlX3RvcDogJGltYWdlIG5vLXJlcGVhdCA1MCUgdG9wIC8gMTAwJSA1cHg7XG4gICAgJGltYWdlX2JvdHRvbTogJGltYWdlIG5vLXJlcGVhdCA1MCUgYm90dG9tIC8gMTAwJSA1cHg7XG4gICAgJGltYWdlX3RvcF9pZTogJGltYWdlIG5vLXJlcGVhdCA1MCUgdG9wO1xuICAgICRpbWFnZV9ib3R0b21faWU6ICRpbWFnZSBuby1yZXBlYXQgNTAlIGJvdHRvbTtcbiAgICAkaW1hZ2VfYm90aDogJGltYWdlX3RvcCwgJGltYWdlX2JvdHRvbTtcbiAgICAkaGNfYm9yZGVyOiAxcHggZG90dGVkIHRyYW5zcGFyZW50OyAgICAvLyBBMTFZOiBVc2VkIGZvciBoaWdoLWNvbnRyYXN0XG4gICAgQGlmICRwb3NpdGlvbiA9PSAndG9wJyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3A7XG4gICAgICAgIGJvcmRlci10b3A6ICRoY19ib3JkZXI7XG4gICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfdG9wX2llO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV9ib3R0b207XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoY19ib3JkZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoY19ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6ICRoY19ib3JkZXI7XG4gICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfdG9wX2llO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV9ib3R0b21faWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcmdpbigkcG9zaXRpb24sJHNpemUpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHBvc2l0aW9uLCRzaXplKTtcbn1cblxuQG1peGluIGllLTEwKCkge1xuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxufVxuXG5AbWl4aW4gZWRnZSB7XG4gICAgQHN1cHBvcnRzICgtbXMtdXNlci1zZWxlY3Q6IG5vbmUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG1pY3Jvc29mdC1icm93c2VycygkYnJvd3NlcnMuLi4pIHtcbiAgICBAZWFjaCAkYnJvd3NlciBpbiAkYnJvd3NlcnMge1xuICAgICAgICBAaWYgKCRicm93c2VyID09IGllLTEwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpZS0xMCB7XG4gICAgICAgICAgICAgIEBjb250ZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgKCRicm93c2VyID09IGVkZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVkZ2Uge1xuICAgICAgICAgICAgICBAY29udGVudFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gTWl4aW5zIGZvciBncmFkaWVudHNcbi8vXG5AbWl4aW4gZ3JhZGllbnQoJGRlZmF1bHQsJGZyb20sJHRvKSB7XG4gICAgYmFja2dyb3VuZDogJGRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZmlsdGVyLWdyYWRpZW50KCRmcm9tLCAkdG8pO1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRmcm9tLCAkdG8pKTtcbn1cbkBtaXhpbiBnLWJyYW5kQmx1ZSB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQoJGxpZ2h0Qmx1ZSwgJGxpZ2h0Qmx1ZSwgJGJyYW5kQmx1ZSk7XG59XG5AbWl4aW4gZ3JhZGllbnQtbGlnaHRCbHVlLWRhcmtCbHVlIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudCgkYnJhbmRCbHVlLCAkbGlnaHRCbHVlLCAkZGFya0JsdWUpO1xufVxuXG4vL1xuLy8gTWl4aW5zIGZvciB0aGVtZXNcbi8vXG5AbWl4aW4gdGhlbWUtYnJhbmRCbHVlLWdyYWRpZW50IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1saWdodEJsdWUtZGFya0JsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEsIGgyLCBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmZvY3VzLCAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIHRoZW1lLWRhcmtCbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0JsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEsIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAmOmZvY3VzLCAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tbm90ZXtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbkBtaXhpbiB0aGVtZS11bHRyYUxpZ2h0R3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVsdHJhTGlnaHRHcmF5O1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJ2FsbCcpO1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJGRldHJvaXRCbHVlO1xuICAgIH1cbiAgICBoMyxoNCxoNSxoNiwubm90ZSB7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgfVxufVxuQG1peGluIHRoZW1lLXN1cGVyVWx0cmFMaWdodEdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRkZXRyb2l0Qmx1ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiB0aGVtZS1zdXBlclVsdHJhTGlnaHRHcmF5LWdyYWRpZW50IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudCgkc3VwZXJVbHRyYUxpZ2h0R3JheSwkc3VwZXJVbHRyYUxpZ2h0R3JheSwkd2hpdGUpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJ2FsbCcpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgaDMsaDQsaDUsaDYsLm5vdGUge1xuICAgICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkZXRyb2l0Qmx1ZTtcbiAgICB9XG59XG5cbkBtaXhpbiB0aGVtZS1kaWFsb2ctZ3JheU92ZXJsYXl7XG5cdCYudWktZGlhbG9ne1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0LnVpLWRpYWxvZy10aXRsZWJhcntcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiB0aGVtZS1tb2JpbGVkaWFsb2ctZ3JheWJhY2tncm91bmR7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuXHQudWktZGlhbG9nLXRpdGxlYmFye1xuXHRcdC51aS1idXR0b257XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VwZXJVbHRyYUxpZ2h0R3JheTtcblx0XHR9XG5cdH1cblx0LnVpLWRpYWxvZy1idXR0b25wYW5le1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuXHR9XG59XG5cbi8vXG4vLyBNaXhpbnMgZm9yIFJlc3BvbnNpdmUgTWVkaWFRdWVyaWVzXG4vL1xuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XG4gICAgLyogTWVkaWE6ICN7JG1lZGlhfSAqL1xuICAgIEBpZiAkbWVkaWEgPT0gcGhvbmVfcG9ydHJhaXQge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpICB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBwaG9uZV9zbWFsbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lX2xhbmRzY2FwZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF9wb3J0cmFpdCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF9wb3J0cmFpdF9kb3duIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF9sYW5kc2NhcGUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDEwMzJweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X2xhbmRzY2FwZV91cCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMzJweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X2Rvd24geyAgICAvL3Bob25lLXRhYmxldFxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMycHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldF91cCB7ICAgICAgICAvL3RhYmxldC1kZXNrdG9wXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBkZXNrdG9wIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzM3B4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBkZXNrdG9wX2hlaWdodF9kb3duIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc0MHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxufVxuXG5AbWl4aW4gaGlkZUFjY2Vzc2libGVDb21wb25lbnQoKSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuQG1peGluIHJvdGF0ZSggJGRlZ3JlZXMgKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gfVxuXG4gQG1peGluIGFmZml4KCR0b3A6IDAsICRtYXJnaW5Cb3R0b206IDApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luQm90dG9tO1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogJHRvcDtcbiB9XG5cbiBAbWl4aW4gaWNvbi1idXR0b24oJHRvcCwgJHJpZ2h0KSB7XG4gICAgdG9wOiAkdG9wO1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAuaWNvbi1sb2NhdGU6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gfVxuXG4gQG1peGluIGluZm8tbm90ZSgpIHtcbiAgICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseVJlZ3VsYXI7XG4gICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodCgkc20tc2l6ZSk7XG4gICAgIGNvbG9yOiAkcmFuZ2VyR3JlZW47XG4gfVxuXG4gQG1peGluIGFpbGVyb24tYnV0dG9uKCR0eXBlOiBcInByaW1hcnlcIil7XG4gICAgQGlmICR0eXBlID09IFwicHJpbWFyeVwiIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogNnB4IDE3cHg7XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInNlY29uZGFyeVwiIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICBwYWRkaW5nOiA1cHggMTdweDtcbiAgIH1cbiAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlNZWRpdW07XG4gICBtaW4td2lkdGg6IDc2cHg7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBsaW5lLWhlaWdodDogMjVweDtcbn1cblxuQG1peGluIGFpbGVyb24tYnV0dG9uLXBob25lKCR0eXBlOiBcInByaW1hcnlcIikge1xuICAgIEBpbmNsdWRlIGFpbGVyb24tYnV0dG9uKCR0eXBlKTtcbiAgICBAaWYgJHR5cGUgPT0gXCJwcmltYXJ5XCIge1xuICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJzZWNvbmRhcnlcIiB7XG4gICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgfVxuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDEycHggMDtcbiB9XG4iLCJAaW1wb3J0IFwiY29tcGFzcy9jc3MzXCI7XG5cbi8vIFJlcXVpcmVkIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlc3BvbnNpdmUgc3R1ZmYgc2VwYXJhdGVseVxuQGltcG9ydCBcInYzL3BhcnRpYWxzL21peGluc1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL2dyaWQtdmFyaWFibGVzXCI7XG5cbiRmbHVpZDogdHJ1ZTtcbkBpbXBvcnQgXCJ2My9wYXJ0aWFscy9yZXNwb25zaXZlLWdyaWRcIjtcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcblxuLy8gRm9yIGRlc2t0b3BzXG4udmlzaWJsZS1waG9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuLnZpc2libGUtdGFibGV0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4udmlzaWJsZS1kZXNrdG9wIHtcbiAgLy8gRG9uJ3Qgc2V0IGluaXRpYWxseVxufVxuLmhpZGRlbi1waG9uZSB7XG4gIC8vIERvbid0IHNldCBpbml0aWFsbHlcbn1cbi5oaWRkZW4tdGFibGV0IHtcbiAgLy8gRG9uJ3Qgc2V0IGluaXRpYWxseVxufVxuLmhpZGRlbi1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLy8gR0VORVJJQyBDTEFTU0VTXG4ucm93LCAucm93LW5vQnJlYWsge1xuICAmID4gW2NsYXNzKj1cInNwYW5cIl0gLmJ0bntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuXG4vLyBQaG9uZSBsZXZlbCAtIFBvcnRyYWl0XG4vL0BpbmNsdWRlIHJlc3BvbmQtdG8ocGhvbmVfcG9ydHJhaXQpIHtcbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCl7XG4gIC5jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogMjQwcHg7ICAvL3RoaXMgaXMgZHVlIHRvIGRpZmZlcmVudCB6b29tIGxldmVscyBvbiBhbmRyb2lkIGRldmljZXNcbiAgICBwYWRkaW5nLWxlZnQ6IDdweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDdweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFBob25lIGxldmVsIC0gTGFuZHNjYXBlXG4vL0BpbmNsdWRlIHJlc3BvbmQtdG8ocGhvbmVfbGFuZHNjYXBlKSB7XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWluLXdpZHRoOiA0NjBweDsgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcbiAgICAuc3Bhbi1waG9uZS1sYW5kc2NhcGUjeyRpfSB7XG4gICAgICB3aWR0aDogc3BhbldpZHRoKCRpKTsgfSB9XG59XG5cbi8vIFBob25lIGxldmVsIC0gUG9ydHJhaXQgYW5kIExhbmRzY2FwZVxuLy9AaW5jbHVkZSByZXNwb25kLXRvKHBob25lKSB7XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XG5cbiAgLy8gU2hvd1xuICAudmlzaWJsZS1waG9uZSB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC8vIEhpZGVcbiAgLmhpZGRlbi1waG9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8vIEhpZGUgZXZlcnl0aGluZyBlbHNlXG4gIC5oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkQ29sdW1ucyB7XG4gICAgLnNwYW4tcGhvbmUjeyRpfSB7XG4gICAgICB3aWR0aDogc3BhbldpZHRoKCRpKTtcbiAgICAgICYucHVzaExlZnQsJi5wdXNoUmlnaHQge1xuICAgICAgICB3aWR0aDogc3BhbldpZHRoKCRpKSArICRmbHVpZEdyaWRHdXR0ZXJXaWR0aDsgfSB9IH1cblxuXG4gIC8vIFBhZGRpbmcgdG8gc2V0IGNvbnRlbnQgaW4gYSBiaXRcbiAgYm9keSB7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbiAgLy8gUmVtb3ZlIHdpZHRoIGZyb20gY29udGFpbmVyc1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbiBvbiByb3dzIGFuZCB0aHVtYm5haWxzXG4gIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8vIE1ha2UgYWxsIGdyaWQtc2l6ZWQgZWxlbWVudHMgYmxvY2sgbGV2ZWwgYWdhaW5cbiAgICAmID4gW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgfVxuXG4gIC5yb3ctbm9CcmVhayA+IFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZsdWlkR3JpZEd1dHRlcldpZHRoO1xuICAgICYucHVzaExlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4gIC5ncmlkLWd1dHRlci1sZWZ0LXBob25le1xuICAgIG1hcmdpbi1sZWZ0OiAkZmx1aWRHcmlkR3V0dGVyV2lkdGg7XG4gIH1cbiAgLmdyaWQtZ3V0dGVyLXJpZ2h0LXBob25le1xuICAgIG1hcmdpbi1yaWdodDogJGZsdWlkR3JpZEd1dHRlcldpZHRoO1xuICB9XG5cbiAgLmFsaWduLWNlbnRlci1waG9uZXtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vSGVhZGluZ3NcbiAgaDEsIC5hbHBoYXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjcpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAyOyB9XG4gIGgyLCAuYmV0YSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMS41OyB9XG4gIGgzLCAuZ2FtbWEsIGg0LCAuZGVsdGEge1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjI1OyB9XG5cbiAgLmZvbnQtbGFyZ2V7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgfVxuICAuaGFsZi1jb2x1bW4tcGhvbmUtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5oYWxmLWNvbHVtbi1waG9uZS1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuICAvKlxuICAgKiAgSGVhZGVyIG1vYmlsZVxuICAgKi9cbiAgaGVhZGVye1xuICAgIHBhZGRpbmctdG9wOjlweDtcblxuICAgIC5zaXRlLWxvZ297XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgfVxuICAgICNzaXRlLW5hdiAubWVudS1pdGVtIGF7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICB9XG4gICAgI21vYmlsZS11dGlsaXR5LW5hdntcbiAgICAgIG1pbi1oZWlnaHQ6IDI3cHg7XG4gICAgICAuYWNjb3VudC1wYW5lbHtcbiAgICAgICAgbGVmdDotMTUzcHg7XG4gICAgICB9XG4gICAgfVxuICAgICNtb2JpbGUtc2l0ZS1uYXZ7XG4gICAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgfVxuXG4gICAgI21lbnUtYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICBhIHtcblxuICAgICAgICBwYWRkaW5nOiA3cHggN3B4IDJweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbG9hdDpyaWdodDtcblxuICAgICAgfVxuICAgICAgJi5pcy1vcGVue1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRCbHVlO1xuICAgICAgICBoZWlnaHQ6NDBweDtcbiAgICAgICAgYXtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI21vYmlsZS1uYXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTJweDtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIEBpbmNsdWRlIGhlYWQ1O1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBsZWZ0OiA3ODBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRsaWdodEJsdWUsICRkYXJrQmx1ZSkpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxMHB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuOCkpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTAxO1xuICAgICAgICAgICAgbGVmdDogNzgwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgbGkgYXtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5MDQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5MDI7XG4gICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMTVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQjFFMUVCO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnN1YiA+IGF7XG4gICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDE1cHggMThweDtcbiAgICAgICAgICAgIC5uYXYtdGl0bGV7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWQzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdi1zdWItdGl0bGV7XG4gICAgICAgICAgICAgIGNvbG9yOiAjQjFFMUVCO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdi1pY29ue1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMTJweDtcbiAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnRpdGxlIGF7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkbGlnaHRCbHVlLCAkZGFya0JsdWUpKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMTVweCAxNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZDM7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkbGlnaHRCbHVlLCAkZGFya0JsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYTpob3ZlcntcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGF7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNtb2JpbGUtbmF2IHVsIGxpIHVsLCAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50IHVsIGxpIHVsLCAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkgdWwgI21vYmlsZS1uYXYgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkgdWwsICNtb2JpbGUtbmF2IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkgdWwsICNtb2JpbGUtbmF2IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaSB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50ID4gdWwsICNtb2JpbGUtbmF2IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCA+IHVsLCAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCA+IHVsLCAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50ID4gdWwsICNtb2JpbGUtbmF2IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCA+IHVsLCAjbW9iaWxlLW5hdiB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCB1bCBsaS5jdXJyZW50IHVsIGxpLmN1cnJlbnQgdWwgbGkuY3VycmVudCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIFdpZGdldHNcbiAgICovXG5cbiAgLy9EaWFsb2cgT3ZlcnJpZGVzXG4gIC51aS1kaWFsb2d7XG4gICAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMTFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXG4gICAgLnVpLWRpYWxvZy10aXRsZWJhciAudWktZGlhbG9nLXRpdGxle1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIH1cbiAgICAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9uLFxuICAgIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnNldCBidXR0b257XG4gICAgICB3aWR0aDogNDcuOCUgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFhLWRpYWxvZy1jb250ZW50LXdyYXBwZXJ7XG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC51aS13aWRnZXQtb3ZlcmxheXtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy9BdXRvY29tcGxldGUgb3ZlcnJpZGVzXG4gIC51aS1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcbiAgICAudWktbWVudS1pdGVte1xuICAgICAgcGFkZGluZzogNXB4IDAgNHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLy9JbnRlcnN0aXRpYWwgcGFnZVxuICAuYWxlcnQtYm94e1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC5hbGVydC1ib3gtY29udGVudCBoMXtcbiAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjgpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFRhYmxldCBsZXZlbCAtIFBvcnRyYWl0IGFuZCBzbWFsbCBkZXNrdG9wIHNjcmVlbnNcbi8vQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXRfcG9ydHJhaXQpIHtcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCl7XG5cbiAgIC8vIFNob3dcbiAgLnZpc2libGUtdGFibGV0IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLy8gSGlkZVxuICAuaGlkZGVuLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8vIEhpZGUgZXZlcnl0aGluZyBlbHNlXG4gIC5oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkQ29sdW1ucyB7XG4gICAgLnNwYW4tdGFibGV0I3skaX0ge1xuICAgICAgd2lkdGg6IHNwYW5XaWR0aCgkaSk7XG4gICAgICAmLnB1c2hMZWZ0LCYucHVzaFJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IHNwYW5XaWR0aCgkaSkgKyAkZmx1aWRHcmlkR3V0dGVyV2lkdGg7IH0gfSB9XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcbiAgICAub2Zmc2V0LXRhYmxldCN7JGl9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBvZmZzZXRXaWR0aCgkaSk7IH0gfVxuXG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWluLXdpZHRoOiA3MzlweDsgfVxuXG4gICNzaXRlLW5hdiAubWVudS1pdGVtIGF7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICB9XG59XG5cbi8vIFRhYmxldCBsZXZlbCAtIExhbmRzY2FwZSBhbmQgc21hbGwgRGVza3RvcFxuLy9AaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldF9sYW5kc2NhcGUpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDEwMzFweCl7fVxuXG4vL1Bob25lLCB0YWJsZXQgYW5kIHNtYWxsIERlc2t0b3AgLSBsZXNzIHRoYW4gQUEgbWF4LXdpZHRoXG4vL0BpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMxcHgpe1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxuXG59XG5cbi8vRGVza3RvcCBsZXZlbCBvbmx5IC0gbW9yZSB0aGFuIEFBIG1heC13aWR0aFxuLy9AaW5jbHVkZSByZXNwb25kLXRvKGRlc2t0b3ApIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMycHgpe31cbiIsIiRleHRyZW1lSGlnaGxpZ2h0Qmx1ZTogI0YwRjdGQzsgLy8gQUEgRXh0cmVtZSBoaWdobGlnaHQgYmx1ZVxuJGhpZ2hsaWdodEJsdWU6ICNFMUYwRkE7IC8vIEFBIEhpZ2hsaWdodCBCbHVlXG4kbGlnaHRCbHVlOiAjNERCNEZBOyAvLyBBQSBMaWdodCBCbHVlXG4kYnJhbmRCbHVlOiAjMDA3OEQyOyAvLyBBQSBCbHVlIChCcmFuZCBCbHVlKVxuJGRldHJvaXRCbHVlOiAjMDA2MUFCOyAvLyBBQSBCdXR0b24gQmx1ZVxuJGRhcmtCbHVlOiAjMDA0NjdGOyAvLyBBQSBEYXJrIEJsdWVcbiR0ZWFsOiAjQjFFMUVCOyAvLyBBQSBUZWFsXG4kbGlnaHRUZWFsOiAjRUZGOUZCOyAvLyBBQSBMaWdodCBUZWFsXG5cbiR3aGl0ZTogI0ZGRkZGRjsgLy8gQUEgV2hpdGVcbiRncmVlbjogIzAwODcxMjsgLy8gQUEgR3JlZW5cbiRyYW5nZXJHcmVlbjogIzAwN0QxMDsgLy8gQUEgRGFyayBHcmVlbiB1c2VkIGZvciBncmV5IGJhY2tncm91bmRzXG4keWVsbG93R3JlZW46ICNEMUQ1MzI7IC8vIEFBIFllbGxvdy1HcmVlblxuJGxpZ2h0T3JhbmdlOiAjRkFBRjAwOyAvLyBBQSBMaWdodCBPcmFuZ2VcbiRvcmFuZ2U6ICNEMTQ5MDQ7IC8vIEFBIE9yYW5nZVxuJHJlZDogI0Y1MjMwNTsgLy8gQUEgUmVkXG4kZGFya1JlZDogI0MzMDAxOTsgLy8gQUEgRGFyayBSZWRcbiRsdWNreVB1cnBsZTogIzkzMTk4MjsgLy8gQUEgTHVja3kgUHVycGxlXG5cbiR1bHRyYUxpZ2h0R3JheTogI0VCRUZGMDsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGxpZ2h0R3JheTogI0QwREFFMDsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXk6ICM5REE2QUI7IC8vIEFBIEdyYXlcbiRtZWRpdW1HcmF5OiAjNjI3QTg4OyAvLyBBQSBNZWRpdW0gR3JheVxuJGRhcmtHcmF5OiAjMzY0OTVBOyAvLyBBQSBEYXJrIEdyYXlcbiRjYWRldEdyYXk6ICM1MzY3NzM7IC8vQUEgQ2FkZXQgR3JheVxuJGRhcmtDYWRldEdyYXk6ICM0NjU3NjI7IC8vQUEgRGFyayBDYWRldCBHcmF5XG4kYmxhY2s6ICMxMzEzMTM7IC8vIEJsYWNrXG4kc3VwZXJVbHRyYUxpZ2h0R3JheTogI0Y1RjVGNzsgLy8gQUEgU3VwZXIgVWx0cmEgTGlnaHQgR3JheVxuJGV4dHJlbWVVbHRyYUxpZ2h0R3JheTogI0ZBRkJGQjsgLy8gQUEgRXh0cmVtZSBVbHRyYSBMaWdodCBHcmF5XG4kaGFsZndheUxpZ2h0R3JheTogI0U3RUNFRjsgLy8gQUEgaGFsZndheSBsaWdodCBHcmF5XG4kdGFibGVMaWdodEdyYXk6ICNGM0Y1RjY7ICAgLy8gQUEgVGFibGUgTGlnaHQgR3JheVxuXG4vLyBMZWdhY3kgdmFyaWFibGVzIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHlcbiRncmF5MDE6ICR1bHRyYUxpZ2h0R3JheTsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGdyYXkwMjogJGxpZ2h0R3JheTsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXkwMzogJGdyYXk7IC8vIEFBIEdyYXlcbiRncmF5MDQ6ICRtZWRpdW1HcmF5OyAvLyBBQSBNZWRpdW0gR3JheVxuJGdyYXkwNTogJGRhcmtHcmF5OyAvLyBBQSBEYXJrIEdyYXlcblxuLy9cbi8vIEVsaXRlIFRpZXIgY29sb3JzXG4vLyBUaGVzZSBhcmUgTk9UIEZJTkFMLCBiYXNlZCBvbiBjb25jZXB0cyBieSBEYXZlIEplbm5pbmdzIGFuZCBNaWtlIEhlYWRsZXlcbi8vXG4kdGllclJFR0Rhcms6ICRkYXJrQmx1ZTtcbiR0aWVyUkVHTWlkOiAkYnJhbmRCbHVlO1xuJHRpZXJSRUdMaWdodDogJGxpZ2h0Qmx1ZTtcblxuXG4kdGllckdMRERhcms6ICM3MzY1MkI7XG4kdGllckdMRE1pZDogIzc4NjkzMTtcbiR0aWVyR0xETGlnaHQ6ICNGRkY0REM7XG5cbiR0aWVyUExURGFyazogI0M3QzhDQTtcbiR0aWVyUExUTWlkOiAjRTdFOEU4O1xuJHRpZXJQTFRMaWdodDogI0ZERkRGRDtcblxuJHRpZXJFWFBEYXJrOiAjMDAwMDAwO1xuJHRpZXJFWFBNaWQ6ICM1MTUxNTE7XG4kdGllckVYUExpZ2h0OiAjQzdDOENBO1xuXG5cbi8vXG4vLyBCcmFuZC1yZWxhdGVkIHRleHQgY29sb3JzXG4vL1xuJGJvZHlDb2xvcjogJGRhcmtHcmF5O1xuXG4kbGlua0NvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtIb3ZlckNvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtWaXNpdGVkQ29sb3I6ICRsaWdodEJsdWU7XG5cbiRhbHRMaW5rQ29sb3I6ICRkYXJrR3JheTtcbiRhbHRMaW5rSG92ZXJDb2xvcjogJGJyYW5kQmx1ZTtcbiRhbHRMaW5rVmlzaXRlZENvbG9yOiAkZGFya0dyYXk7XG5cbiRoZWFkaW5nc0NvbG9yOiAkYnJhbmRCbHVlO1xuJGFsdEhlYWRpbmdzQ29sb3I6ICRtZWRpdW1HcmF5O1xuXG4kZm9jdXNDb2xvcjogI0IwRDFFODtcblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRhbWVyaWNhbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2FtZXJpY2FuLXYyL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSWNvbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2ljb25zL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSW1nUGF0aDogXCIvY29udGVudC9pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbiRzdGFuZGFyZEZvbnRGYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuJHNhbnNGb250RmFtaWx5TGlnaHQ6IFwiQW1lcmljYW5TYW5zTGlnaHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRzYW5zRm9udEZhbWlseVJlZ3VsYXI6IFwiQW1lcmljYW5TYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2Fuc0ZvbnRGYW1pbHlNZWRpdW06IFwiQW1lcmljYW5TYW5zTWVkaXVtXCIsIENhbGlicmksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRiYXNlRm9udFNpemU6IDE0O1xuJGJhc2VGb250RmFtaWx5OiAkc3RhbmRhcmRGb250RmFtaWx5O1xuJGJhc2VMaW5lSGVpZ2h0OiAyMHB4O1xuXG4vL1xuLy8gRm9udCBzaXplcyAoaW4gcGl4ZWxzKVxuLy9cbiRsZy1zaXplOiA1NiFkZWZhdWx0O1xuJGgxLXNpemU6IDM4IWRlZmF1bHQ7XG4kaDItc2l6ZTogMzAhZGVmYXVsdDtcbiRoMy1zaXplOiAyNCFkZWZhdWx0O1xuJGg0LXNpemU6IDE4IWRlZmF1bHQ7XG4kaDUtc2l6ZTogMTYhZGVmYXVsdDtcbiRoNi1zaXplOiAxNCFkZWZhdWx0O1xuJHNtLXNpemU6IDEyIWRlZmF1bHQ7XG4kdnNtLXNpemU6IDEwIWRlZmF1bHQ7XG4kbWVkLXNpemU6IDIxIWRlZmF1bHQ7XG4kcmVnLXNpemU6IDI3IWRlZmF1bHQ7XG5cbiRmb250U2l6ZXM6IChcbiAgICBhbHBoYTogKFxuICAgICAgICBkZXNrdG9wOiAkaDEtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAzMlxuICAgICksXG4gICAgYmV0YTogKFxuICAgICAgICBkZXNrdG9wOiAkaDItc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAyN1xuICAgICksXG4gICAgZ2FtbWE6IChcbiAgICAgICAgZGVza3RvcDogJGgzLXNpemUsXG4gICAgICAgIG1vYmlsZTogMjFcbiAgICApLFxuICAgIGRlbHRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNC1zaXplLFxuICAgICAgICBtb2JpbGU6IDE4XG4gICAgKSxcbiAgICBlcHNpbG9uOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNS1zaXplLFxuICAgICAgICBtb2JpbGU6IDE2XG4gICAgKSxcbiAgICB6ZXRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNi1zaXplLFxuICAgICAgICBtb2JpbGU6IDE1XG4gICAgKVxuKTtcblxuJGxpbmVIZWlnaHRJbmNyZW1lbnQ6IDYhZGVmYXVsdDtcbiRsZy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAzLjE7XG4kaDEtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMi4yO1xuJGgyLWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuODtcbiRoMy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjU7XG4kaDQtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMS4yO1xuJGg1LWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuMTtcbiRoNi1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQ7XG4kc20tbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMC45O1xuXG4kaWNvbi1zbWFsbDogICAxMiFkZWZhdWx0O1xuJGljb24tZGVmYXVsdDogMTQhZGVmYXVsdDtcbiRpY29uLW1lZGl1bTogIDE4IWRlZmF1bHQ7XG4kaWNvbi1sYXJnZTogICAyNCFkZWZhdWx0O1xuJGljb24teGxhcmdlOiAgNTQhZGVmYXVsdDtcbiRpY29uLXh4bGFyZ2U6IDcwIWRlZmF1bHQ7XG4kaWNvbi14eHhsYXJnZTo4NiFkZWZhdWx0O1xuXG4vLyBsaXN0IHNwYWNpbmdcbiRiYXNlTGlzdFNwYWNpbmc6IDZweDtcblxuLy9cbi8vIFRoaXMgaXMgdGhlIGJhc2U2NC1lbmNvZGVkIGRyb3Bkb3duIHRyaWFuZ2xlIHVzZWQgaW4gZHJvcGRvd24gdHJpZ2dlcnMgc3VjaFxuLy8gYXMgdGhlIGNvdW50cnkvbGFuZ3VhZ2UgYW5kIGFjY291bnQgc3RhdHVzIGluIHRoZSBoZWFkZXIsIGFzIHdlbGwgYXMgPHNlbGVjdD5cbi8vIGlucHV0cyBpbiBmb3Jtcy5cbi8vXG4kZHJvcGRvd25UcmlhbmdsZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaERRQUVBSUFBQUFBQUFQOEEveUg1QkFFSEFBRUFMQUFBQUFBTkFBUUFBQUlMaEEraEc1ak1EcHh2aGdJQU93PT0pO1xuJGJsdWVEcm9wZG93blRyaWFuZ2xlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBUENBWUFBQUQrcEEvYkFBQUFBWE5TUjBJQXJzNGM2UUFBQU45SlJFRlVPQkcxa2NFTmdrQVFSZi9BUVZ1Z0JROWNMTVVlOUlSbnRRQzFCS1VoVGw0MHNRVjZNREhyekVJVUI1QmR3RW1XTEp1Wjl6TjVoTzN0QkdOVytFY1JuUU5NZ2pXSXN0SDV3bVEyV2ZEdUhzRThMN3hKTkVvUVVRNEs1OWpQOHNBQytRS1lCVy95R0J4Z0djeXlUS0FJRU9vaHpuaURaSENBTUlSVjFpZEFIbzV4eWw4NWZTc3RHZS81N3dCNW5vWkpMK2tpVldaVkZaTFZJM3lsVjZScVZIMEQ2ZkNScnFTNkJVaVhxM1FsMVQxQU9ydWwxNlQ2QlVoM20vUVdxVHFnV2JMdTB0Si9TTldqelpKMVYxVjZoMVE5NnZlL3VTNGh4Nk5lRlhoWmcxN2c4blFBQUFBQVNVVk9SSzVDWUlJPScpO1xuXG4vL1xuLy8gR1JJRC1WQVJJQUJMRVNcbi8vXG5cbiRmbHVpZDogZmFsc2UhZGVmYXVsdDtcblxuJGdyaWRDb2x1bW5zOiAxMjtcbiRncmlkQ29sdW1uV2lkdGg6IDY0cHg7XG4kZ3JpZEd1dHRlcldpZHRoOiAyMnB4O1xuJGdyaWRIZXJvV2lkdGg6IDkwcHg7XG4kZ3JpZEhlcm9IZWlnaHRPZmZzZXQ6IDg1cHg7XG5cbiRncmlkVG90YWxHdXR0ZXI6ICRncmlkQ29sdW1ucyAqICRncmlkQ29sdW1uV2lkdGggKyAkZ3JpZENvbHVtbnMgKiAkZ3JpZEd1dHRlcldpZHRoO1xuXG4kZ3JpZFRvdGFsOiAkZ3JpZFRvdGFsR3V0dGVyIC0gJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGZsdWlkR3JpZENvbHVtbldpZHRoOiBwZXJjZW50YWdlKCRncmlkQ29sdW1uV2lkdGggLyAkZ3JpZFRvdGFsR3V0dGVyKTtcbiRmbHVpZEdyaWRHdXR0ZXJXaWR0aDogcGVyY2VudGFnZSgkZ3JpZEd1dHRlcldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG4kZml4ZWRDb250YWluZXJXaWR0aDogICAoJGdyaWRDb2x1bW5zICogJGdyaWRDb2x1bW5XaWR0aCkgKyAoJGdyaWRHdXR0ZXJXaWR0aCAqICgkZ3JpZENvbHVtbnMgLSAxKSk7XG4kbW9iaWxlQ29udGFpbmVyTGVmdFBhZGRpbmc6IDMlO1xuJG1vYmlsZUNvbnRhaW5lclJpZ2h0UGFkZGluZzogMyU7XG5cbi8vXG4vLyBIZWFkZXItU3BhY2luZ1xuLy9cblxuJG1vYmlsZS1oZWFkZXItbWFyZ2luLWJvdHRvbTogMjBweDtcbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvZ2VuZXJhbC9oYWNrc1wiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGJhY2tncm91bmRzKSBvciAkbXVsdC1iZ3M7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLXN2ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW93ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogLXdlYmtpdCgkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW1veigkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgICAtbygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgICAgICB7IC1waWUtYmFja2dyb3VuZDogICAgLXBpZSgkYmFja2dyb3VuZHMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogICAgICAgICAkYmFja2dyb3VuZHMgO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC13aXRoLWNzczItZmFsbGJhY2soXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkc2ltcGxlLWJhY2tncm91bmQ6IGlmKCRtdWx0LWJncyBvciBwcmVmaXhlZCgtY3NzMiwgJGJhY2tncm91bmRzKSwgLWNzczIoLWNvbXBhc3MtbnRoKCRiYWNrZ3JvdW5kcywgbGFzdCkpLCBmYWxzZSk7XG4gIEBpZiBub3QoYmxhbmsoJHNpbXBsZS1iYWNrZ3JvdW5kKSkgeyBiYWNrZ3JvdW5kOiAkc2ltcGxlLWJhY2tncm91bmQ7IH1cbiAgQGluY2x1ZGUgYmFja2dyb3VuZCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbn1cblxuXG4vLyBCYWNrZ3JvdW5kIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2UtMSxcbiAgJGltYWdlLTI6IGZhbHNlLFxuICAkaW1hZ2UtMzogZmFsc2UsXG4gICRpbWFnZS00OiBmYWxzZSxcbiAgJGltYWdlLTU6IGZhbHNlLFxuICAkaW1hZ2UtNjogZmFsc2UsXG4gICRpbWFnZS03OiBmYWxzZSxcbiAgJGltYWdlLTg6IGZhbHNlLFxuICAkaW1hZ2UtOTogZmFsc2UsXG4gICRpbWFnZS0xMDogZmFsc2Vcbikge1xuICAkaW1hZ2VzOiBjb21wYWN0KCRpbWFnZS0xLCAkaW1hZ2UtMiwgJGltYWdlLTMsICRpbWFnZS00LCAkaW1hZ2UtNSwgJGltYWdlLTYsICRpbWFnZS03LCAkaW1hZ2UtOCwgJGltYWdlLTksICRpbWFnZS0xMCk7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRpbWFnZXMpIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgkaW1hZ2VzKSA+IDE7XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1zdmcoJGltYWdlcyk7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW93ZygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdCgkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW1veigkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgICAtbygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgIHsgQHdhcm4gXCJQSUUgZG9lcyBub3Qgc3VwcG9ydCBiYWNrZ3JvdW5kLWltYWdlLiBVc2UgQGluY2x1ZGUgYmFja2dyb3VuZCgjeyRpbWFnZXN9KSBpbnN0ZWFkLlwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgJGltYWdlcyA7XG59XG5cbi8vIEVtaXQgYSBJRS1TcGVjaWZpYyBmaWx0ZXJzIHRoYXQgcmVuZGVycyBhIHNpbXBsZSBsaW5lYXIgZ3JhZGllbnQuXG4vLyBGb3IgdXNlIGluIElFIDYgLSA4LiBCZXN0IHByYWN0aWNlIHdvdWxkIGhhdmUgeW91IGFwcGx5IHRoaXMgdmlhIGFcbi8vIGNvbmRpdGlvbmFsIElFIHN0eWxlc2hlZXQsIGJ1dCBpZiB5b3UgbXVzdCwgeW91IHNob3VsZCBwbGFjZSB0aGlzIGJlZm9yZVxuLy8gYW55IGJhY2tncm91bmQtaW1hZ2UgcHJvcGVydGllcyB0aGF0IHlvdSBoYXZlIHNwZWNpZmllZC5cbi8vXG4vLyBGb3IgdGhlIGAkb3JpZW50YXRpb25gIHBhcmFtZXRlciwgeW91IGNhbiBwYXNzIGB2ZXJ0aWNhbGAgb3IgYGhvcml6b250YWxgLlxuQG1peGluIGZpbHRlci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbjogdmVydGljYWwpIHtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbiAgJGdyYWRpZW50LXR5cGU6IGlmKCRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCwgMCwgMSk7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZ3JhZGllbnRUeXBlPSN7JGdyYWRpZW50LXR5cGV9LCBzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScpO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgcHJvcGVydGllcyBhbmQgdmFsdWVzLlxuQG1peGluIGJvcmRlci1pbWFnZSgkdmFsdWUpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIHsgICAgLW1vei1ib3JkZXItaW1hZ2U6ICAgIC1tb3oocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAgICAtb3dnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogLXdlYmtpdChyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIHsgICAgICAtby1ib3JkZXItaW1hZ2U6ICAgICAgLW8ocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICB7ICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAtc3ZnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWU7XG59XG5cbi8vIExpc3Qgc3R5bGUgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUtaW1hZ2UoJGltYWdlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJGltYWdlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCRpbWFnZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkaW1hZ2UgO1xufVxuXG4vLyBMaXN0IHN0eWxlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlKCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICR2YWx1ZSA7XG59XG5cbi8vIGNvbnRlbnQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGNvbnRlbnQoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGNvbnRlbnQ6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICAgICAgICAgJHZhbHVlIDtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNyb3NzIGJyb3dzZXIgc3VwcG9ydCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBwcmVmaXhlZCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgJHByZWZpeGVkOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkcHJlZml4ZWQ6ICRwcmVmaXhlZCBvciBzdHItaW5kZXgoJGl0ZW0sICd1cmwnKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICdyZ2InKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICcjJykgIT0gMTtcbiAgICB9IEBlbHNlaWYgdHlwZS1vZigkaXRlbSkgPT0gJ2NvbG9yJyB7XG4gICAgfSBAZWxzZWlmICRpdGVtICE9IG51bGwge1xuICAgICAgJHByZWZpeGVkOiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcmVmaXhlZDtcbn1cblxuQGZ1bmN0aW9uIHByZWZpeCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogXCJcIjtcblxuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eTEpID09ICdsaXN0JyB7XG4gICAgLy8gUGFzc2luZyBhIHNpbmdsZSBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxO1xuICB9IEBlbHNlIHtcbiAgICAvLyBQYXNzaW5nIG11bHRpcGxlIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gIH1cblxuICAkcHJvcHM6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRpdGVtID09IG51bGwge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgcHJlZml4ZWQoJHByZWZpeCwgJGl0ZW0pIHtcbiAgICAgICAgJGl0ZW06ICN7JHByZWZpeH0tI3skaXRlbX07XG4gICAgICB9XG4gICAgICBAaWYgJHByb3BzIHtcbiAgICAgICAgJHByb3BzOiAkcHJvcHMsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcHJvcHM6ICRpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcm9wcztcbn1cblxuQGZ1bmN0aW9uIC1zdmcoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1zdmcnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vd2coJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vd2cnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC13ZWJraXQoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy13ZWJraXQnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1tb3ooJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1tb3onLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXBpZSgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXBpZScsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iXX0= */
