/*!
Theme Name: jodiesdesign
Theme URI: http://underscores.me/
Author: Jodie Pluijmen
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jodiesdesign
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

jodiesdesign is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/.block{margin-top:50px}a{text-decoration:none}.container{max-width:1920px;margin-left:auto;margin-right:auto}.container:after{content:" ";display:block;clear:both}.container::after{clear:both;content:"";display:block}.container div,.container .thumb{height:475px;background:#ffffff;width:50%;float:left;background-position:center}.container div:nth-child(2n+2),.container .thumb:nth-child(2n+2){float:right;margin-right:0}.container div .hover-thumb,.container .thumb .hover-thumb{width:100%;height:100%;opacity:0}.container div .hover-thumb h5,.container .thumb .hover-thumb h5{color:#ffffff;-webkit-transition:0.5s;-o-transition:0.5s;transition:0.5s;text-align:center;font-size:2em;padding-top:30%}.container div .hover-thumb:hover,.container .thumb .hover-thumb:hover{background:rgba(20,20,20,0.3);opacity:1}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}img{max-width:100%;height:auto}*{-webkit-box-sizing:border-box;box-sizing:border-box}h2{text-align:center;font-size:1.1em;padding-top:50px}h1#title-about{font-size:2em;padding-top:60px;text-align:center}.slide-about{margin:50px}.slide-about::after{clear:both;content:"";display:block}.slide-about img.about-me-image{margin:50px;float:right;width:500px;height:auto}.slide-about p.about-me-text{margin:50px;margin-left:80px;float:left;max-width:600px;height:auto;text-align:center;font-size:1.2em;line-height:30px}.skills{width:800px;height:auto;margin:0 auto}.skills::after{clear:both;content:"";display:block}.skills .logo-skill{width:75px;height:75px;float:left}.skills .name-skill{float:left;padding:29px 10px 10px 29px}.skills .stars-skill{width:auto;height:40px;float:right}.skills .slide-skill{padding:40px}.menu-site-menu-container ul #menu-item-96{float:right;position:fixed !important;right:30px !important}.menu-site-menu-container ul .menu-item{float:left;position:fixed;margin:35px}.menu-site-menu-container ul .menu-item a{font-size:1.5em;color:#000;-webkit-transition:0.5s;-o-transition:0.5s;transition:0.5s}.menu-site-menu-container ul .menu-item a:hover{color:#777575;-webkit-transition:0.5s;-o-transition:0.5s;transition:0.5s}header{width:100%;height:700px;-webkit-background-size:cover;background-size:cover;background-position:center}body{font-family:"Futura Bold", "Futura Condensed ExtraBold", "Futura Condensed Medium", "FuturaExtended", "Futura Extra Bold", "Futura (Light)", "Futura Medium", "Futura Medium Italic"}.quote{font-size:2em;text-align:center;margin-top:100px}.title-portfolio-item{font-size:2em;text-align:center;margin-top:80px}h3.type-portfolio-item{font-size:1.2em;text-align:center;margin-top:40px}.forwards-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);float:right}body article::after{clear:both;content:"";display:block}.image{max-width:800px;height:auto;margin-left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);margin-top:50px;margin-bottom:50px}.text{max-width:900px;margin-left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);margin-top:50px;margin-bottom:50px;text-align:center;font-size:1.1em;line-height:23px}div.block.video{width:640px;height:auto;margin-left:50% !important;-webkit-transform:translateX(-50%) !important;-ms-transform:translateX(-50%) !important;transform:translateX(-50%) !important}div.block.images::after{clear:both;content:"";display:block}.slide{float:left;width:33.33333%;float:left}.slide img{width:100%;padding:10px}div.block.prototype{text-align:center}.link{text-align:center}.link a{color:grey}footer{width:100%;height:285px;margin-top:40px}.logo-social-media-footer{z-index:2;width:75px;height:75px;margin-top:40px;margin-bottom:40px;-webkit-transition:0.5s;-o-transition:0.5s;transition:0.5s}.logo-social-media-footer:hover{width:85px;height:85px;margin-top:35px;margin-bottom:35px;-webkit-transition:0.5s;-o-transition:0.5s;transition:0.5s}.social-media-list-item{width:100%;height:auto;text-align:center}.informatie_footer{font-size:1.2em;text-align:center;line-height:30px}/*!
                              ,--."" 
                         __,----( o )) 
                       ,'--.      , ( 
                -"",:-(    o ),-'/  ; 
                  ( o) `o  _,'\ / ;( 
                   `-;_-<'\_|-'/ '  ) 
                       `.`-.__/ '   | 
          \`.            `. .__,   ; 
           )_;--.         \`       | 
          /'(__,-:         )      ; 
        ;'    (_,-:     _,::     .| 
       ;       ( , ) _,':::'    ,; 
      ;         )-,;'  `:'     .:: 
      |         `'  ;         `:::\ 
      :       ,'    '            `:\ 
      ;:    '  _,-':         .'     `-. 
       ';::..,'  ' ,        `   ,__    `. 
         `;''   / ;           _;_,-'     `. 
               /            _;--.          \ 
             ,'            / ,'  `.         \ 
            /:            (_(   ,' \         ) 
           /:.               \_(  /-. .:::,;/ 
          (::..                 `-'\ "`""' 
          ;::::.                    \        __ 
          ,::::::.            .:'    )    ,-'  ) 
         /  `;:::::::'`__,:.:::'    /`---'   ,' 
        ;    `""""'   (  \:::'     /     _,-' 
        ;              \  \:'    ,';:.,-' 
        (              :  )\    ( 
         `.             \   \    ; 
   -hrr-   `-.___       : ,\ \  ( 
              ,','._::::| \ \ \  \ 
             (,(,---;;;;;  \ \|;;;) 
                         `._\_\ 

*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ0ZW1wbGF0ZS9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsInRlbXBsYXRlL19yZXNldC5zY3NzIiwidGVtcGxhdGUvX2Fib3V0LnNjc3MiLCJ0ZW1wbGF0ZS9fbWVudS5zY3NzIiwidGVtcGxhdGUvX2hlYWRlci5zY3NzIiwidGVtcGxhdGUvX3F1b3RlLnNjc3MiLCJ0ZW1wbGF0ZS9fcG9ydGZvbGlvLnNjc3MiLCJ0ZW1wbGF0ZS9faW1hZ2Uuc2NzcyIsInRlbXBsYXRlL190ZXh0LnNjc3MiLCJ0ZW1wbGF0ZS9fdmlkZW8uc2NzcyIsInRlbXBsYXRlL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsInRlbXBsYXRlL19wcm90b3R5cGUuc2NzcyIsInRlbXBsYXRlL19saW5rLnNjc3MiLCJ0ZW1wbGF0ZS9fZm9vdGVyLnNjc3MiLCJ0ZW1wbGF0ZS9fYXNjaWlBcnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQkUsT0NYRSxlQUFlLENBQ2xCLEVBQ0Msb0JBQW9CLENBQUcsV0NRckIsaUJBQUEsaUJBQUEsaUJDcURtRSxDQzdEbkUsaUJBQ0UsWUFDQSxjQUNBLFVBQVcsQ0NLZixrQkFDRSxXQUNBLFdBQ0EsYUFBYyxDQUNmLGlDSkxLLGFBQ0EsbUJDQUosVUFBQSxXREVJLDBCQUEyQixDQVJuQyxpRUNNSSxZQUFBLGNJaURzQyxDTHZEMUMsMkRBZVksV0FDQSxZQUNBLFNBQVUsQ0FqQnRCLGlFQW9CZ0IsY0FDQyx3QkFBQSxBQUNELG1CQURDLEFBQ0QsZ0JBQUEsa0JBQ0EsY0FDQSxlQUFnQixDQXhCaEMsdUVBNEJZLDhCQUNBLFNBQVUsQ0FFYiwyWk0vQlIsU0FDQSxVQUNBLFNBQ0EsZUFDQSxhQUNBLHVCQUF3QixDQUN4Qiw4RUFJQSxhQUFjLENBQ2QsS0FFQSxhQUFjLENBQ2QsTUFFQSxlQUFnQixDQUNoQixhQUVBLFdBQVksQ0FDWixvREFHQSxXQUNBLFlBQWEsQ0FDYixNQUVBLHlCQUNBLGdCQUFpQixDQUNqQixJQUlHLGVBQ0EsV0FBVyxDQUNkLEVBR0csOEJBQUEsQUFBc0IscUJBQUEsQ0FDekIsR0NuREcsa0JBQ0EsZ0JBQ0EsZ0JBQWdCLENBQ25CLGVBR0csY0FDQSxpQkFDQSxpQkFBa0IsQ0FDckIsYUFJRyxXQUFXLENIS2Isb0JBQ0UsV0FDQSxXQUNBLGFBQWMsQ0FDZixnQ0dOQyxZQUNBLFlBQ0EsWUFDQSxXQUFXLENBUmYsNkJBYUksWUFDQSxpQkFDQSxXQUNBLFlBQ0EsWUFDQSxrQkFDQSxnQkFDQSxnQkFBaUIsQ0FDaEIsUUFNRCxZQUNBLFlBQ0EsYUFBYyxDSHRCaEIsZUFDRSxXQUNBLFdBQ0EsYUFBYyxDQUNmLG9CR3FCSyxXQUNBLFlBQ0EsVUFBVSxDQVRsQixvQkFhUSxXQUNBLDJCQUEyQixDQWRuQyxxQkFrQlEsV0FDQSxZQUNBLFdBQVcsQ0FwQm5CLHFCQXNCaUIsWUFBWSxDQUFHLDJDQ3REVCxZQUNDLDBCQUNBLHFCQUFvQixDQVA1Qyx3Q0FTWSxXQUNBLGVBQ0EsV0FBVyxDQVh2QiwwQ0FlZ0IsZ0JBQ0EsV0FDQSx3QkFBQSxBQUFnQixtQkFBaEIsQUFBZ0IsZUFBQSxDQWpCaEMsZ0RBcUJnQixjQUNBLHdCQUFBLEFBQWdCLG1CQUFoQixBQUFnQixlQUFBLENBQ25CLE9DdEJULFdBQ0EsYUFDQSw4QkFBQSxBQUNBLHNCQUFBLDBCQUEyQixDQUM5QixLQUVJLG9MQUN1SyxDQUMzSyxPQ1JHLGNBQ0Esa0JBQ0EsZ0JBQWdCLENBQ25CLHNCQ0hHLGNBQ0Esa0JBQ0EsZUFBZSxDQUNsQix1QkFHRyxnQkFDQSxrQkFDQSxlQUFlLENBQ2xCLGdCQUdHLGlDQUFBLEFBQ0EsNkJBREEsQUFDQSx5QkFBQSxXQUFXLENQS2Isb0JBQ0UsV0FDQSxXQUNBLGFBQWMsQ0FDZixPUXRCQyxnQkFDQSxZQUNBLGdCQUNBLG1DQUFBLEFBQ0EsK0JBREEsQUFDQSwyQkFBQSxnQkFDQSxrQkFBa0IsQ0FDckIsTUNORyxnQkFDQSxnQkFDQSxtQ0FBQSxBQUNBLCtCQURBLEFBQ0EsMkJBQUEsZ0JBQ0EsbUJBQ0Esa0JBQ0EsZ0JBQ0EsZ0JBQWlCLENBQ3BCLGdCQ1JHLFlBQ0EsWUFDQSwyQkFDQSw4Q0FBQSxBQUFxQywwQ0FBckMsQUFBcUMscUNBQUEsQ1ZldkMsd0JBQ0UsV0FDQSxXQUNBLGFBQWMsQ0FDZixPV2hCQyxXZFlBLGdCQUFBLFVlQTRELENEYmhFLFdBS1EsV0FDQSxZQUFZLENBR2Ysb0JFZEQsaUJBQWtCLENBR3JCLE1DRkcsaUJBQWtCLENBRnRCLFFBSVEsVUFBVSxDQUViLE9DTEQsV0FDQSxhQUNBLGVBQWUsQ0FDbEIsMEJBR0csVUFDQSxXQUNBLFlBQ0EsZ0JBQ0EsbUJBQ0Esd0JBQUEsQUFBZ0IsbUJBQWhCLEFBQWdCLGVBQUEsQ0FDbkIsZ0NBR0csV0FDQSxZQUNBLGdCQUNBLG1CQUNBLHdCQUFBLEFBQWdCLG1CQUFoQixBQUFnQixlQUFBLENBQ25CLHdCQUdHLFdBQ0EsWUFDQSxpQkFBa0IsQ0FDckIsbUJBR0csZ0JBQ0Esa0JBQ0EsZ0JBQWlCLENBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNHQyIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblRoZW1lIE5hbWU6IGpvZGllc2Rlc2lnblxuVGhlbWUgVVJJOiBodHRwOi8vdW5kZXJzY29yZXMubWUvXG5BdXRob3I6IEpvZGllIFBsdWlqbWVuXG5BdXRob3IgVVJJOiBodHRwOi8vdW5kZXJzY29yZXMubWUvXG5EZXNjcmlwdGlvbjogRGVzY3JpcHRpb25cblZlcnNpb246IDEuMC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcblRleHQgRG9tYWluOiBqb2RpZXNkZXNpZ25cblRhZ3M6IGN1c3RvbS1iYWNrZ3JvdW5kLCBjdXN0b20tbG9nbywgY3VzdG9tLW1lbnUsIGZlYXR1cmVkLWltYWdlcywgdGhyZWFkZWQtY29tbWVudHMsIHRyYW5zbGF0aW9uLXJlYWR5XG5cblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxuVXNlIGl0IHRvIG1ha2Ugc29tZXRoaW5nIGNvb2wsIGhhdmUgZnVuLCBhbmQgc2hhcmUgd2hhdCB5b3UndmUgbGVhcm5lZCB3aXRoIG90aGVycy5cblxuam9kaWVzZGVzaWduIGlzIGJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHBzOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE3IEF1dG9tYXR0aWMsIEluYy5cblVuZGVyc2NvcmVzIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdQTCB2MiBvciBsYXRlci5cblxuTm9ybWFsaXppbmcgc3R5bGVzIGhhdmUgYmVlbiBoZWxwZWQgYWxvbmcgdGhhbmtzIHRvIHRoZSBmaW5lIHdvcmsgb2Zcbk5pY29sYXMgR2FsbGFnaGVyIGFuZCBKb25hdGhhbiBOZWFsIGh0dHBzOi8vbmVjb2xhcy5naXRodWIuaW8vbm9ybWFsaXplLmNzcy9cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFM6XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuIyBUeXBvZ3JhcGh5XG4jIEVsZW1lbnRzXG4jIEZvcm1zXG4jIE5hdmlnYXRpb25cblx0IyMgTGlua3Ncblx0IyMgTWVudXNcbiMgQWNjZXNzaWJpbGl0eVxuIyBBbGlnbm1lbnRzXG4jIENsZWFyaW5nc1xuIyBXaWRnZXRzXG4jIENvbnRlbnRcblx0IyMgUG9zdHMgYW5kIHBhZ2VzXG5cdCMjIENvbW1lbnRzXG4jIEluZmluaXRlIHNjcm9sbFxuIyBNZWRpYVxuXHQjIyBDYXB0aW9uc1xuXHQjIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuXG5AaW1wb3J0IFwidGVtcGxhdGUvbWl4aW5cIjtcblxuQGltcG9ydCBcImJvdXJib25cIjtcblxuQGltcG9ydCBcInN1c3lcIjsgLypzdXN5IHZlcnNpZSAyISovXG5cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9ncmlkXCI7XG5cbi8qUkVTRVQgU0hFRVQqL1xuXG5AaW1wb3J0IFwidGVtcGxhdGUvcmVzZXRcIjtcblxuLypBQk9VVCovXG5AaW1wb3J0IFwidGVtcGxhdGUvYWJvdXRcIjtcblxuLypIRUFERVIqL1xuQGltcG9ydCBcInRlbXBsYXRlL21lbnVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9oZWFkZXJcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9xdW90ZVwiO1xuXG4vKlBPUlRGT0xJTyBJVEVNUyovXG5cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9wb3J0Zm9saW9cIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9pbWFnZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlL3RleHRcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS92aWRlb1wiO1xuQGltcG9ydCBcInRlbXBsYXRlL2ltYWdlc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlL3Byb3RvdHlwZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlL2xpbmtcIjtcblxuXG4vKkZPT1RFUiovXG5cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9mb290ZXJcIjtcblxuLypBUlQqL1xuXG5AaW1wb3J0IFwidGVtcGxhdGUvYXNjaWlBcnRcIjsgXG5cblxuIiwiJHN1c3k6IChcbiAgICBjb2x1bW5zOiAxMixcbiAgICBndXR0ZXJzOjAsXG4gICAgY29udGFpbmVyOjE5MjBweCxcbiAgICBnbG9iYWwtYm94LXNpemluZzogYm9yZGVyLWJveFxuKTtcblxuXG4uYmxvY2t7XG4gICAgbWFyZ2luLXRvcDo1MHB4O1xufVxuYXt0ZXh0LWRlY29yYXRpb246bm9uZTt9XG5cbi5jb250YWluZXJ7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIFxuICAgIGRpdiwgLnRodW1ie1xuICAgICAgICBoZWlnaHQ6NDc1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZmZmZjtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGFzdDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmhvdmVyLXRodW1ie1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaDV7XG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmZmZmZjtcbiAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaG92ZXItdGh1bWI6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLDIwLDIwLDAuMyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgIFxuICAgICAgXG4gICAgfVxufSIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wveVA1aGlaXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBSb3cgU3RhcnQgJiBFbmRcbi8vID09PT09PT09PT09PT09PVxuXG4vLyBCcmVha1xuLy8gLS0tLS1cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHRoYXQgc2hvdWxkIGZvcmNlIGEgbGluZSBicmVhay5cbkBtaXhpbiBicmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IGJvdGgpKTtcbn1cblxuXG4vLyBOb0JyZWFrXG4vLyAtLS0tLS0tXG4vLyBDYW5jZWwgdGhlIGJyZWFrKCkgZWZmZWN0LCBlLmcuIHdoZW4gdXNpbmcgbWVkaWEgcXVlcmllcy5cbkBtaXhpbiBub2JyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogbm9uZSkpO1xufVxuXG5cbi8vIEZ1bGxcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPGxheW91dCBzaG9ydGhhbmQ+XG5AbWl4aW4gZnVsbChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgOiAkY29udGV4dDtcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZ1bGwsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgc3BhbihmdWxsIG9mIHBhcnNlLWdyaWQoJGNvbnRleHQpIGJyZWFrKTtcbn1cblxuXG4vLyBGaXJzdFxuLy8gLS0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGZpcnN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZmlyc3QsICRpbnNwZWN0KTtcbiAgQGlmIG5vdChpcy1zcGxpdCgkY29udGV4dCkpIHtcbiAgICBAaW5jbHVkZSBmbG9hdC1maXJzdCgkZmxvdyk7XG4gIH1cbn1cblxuQG1peGluIGFscGhhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBmaXJzdCgkY29udGV4dCk7XG59XG5cblxuLy8gTGFzdFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gbGFzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXN0LCAkaW5zcGVjdCk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KSxcbiAgICBsYXN0LWZsb3c6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJGNvbnRleHQpLFxuICAgIG1hcmdpbjogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCBudWxsLCAwKSxcbiAgKTtcblxuICBAaW5jbHVkZSBmbG9hdC1sYXN0KCRvdXRwdXQuLi4pO1xufVxuXG5AbWl4aW4gb21lZ2EoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGxhc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIEdldCBFZGdlXG4vLyAtLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGVkZ2UgdmFsdWUgYmFzZWQgb24gbG9jYXRpb24sIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWVkZ2UoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBzdXN5LWdldChlZGdlLCAkc3Bhbik7XG5cbiAgQGlmIG5vdCgkZWRnZSkge1xuICAgICRjb3VudDogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpO1xuICAgICRsb2NhdGlvbjogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgICAkbjogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gICAgJG51bWJlcjogaWYodHlwZS1vZigkbG9jYXRpb24pID09IG51bWJlciwgdHJ1ZSwgZmFsc2UpO1xuICAgICRpbmRleDogaWYoJG51bWJlciBhbmQgdW5pdGxlc3MoJGxvY2F0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xuXG4gICAgQGlmICRuID09ICRjb3VudCB7XG4gICAgICAkZWRnZTogZnVsbDtcbiAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiBhbmQgJG4gYW5kICRpbmRleCB7XG4gICAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgICAkZWRnZTogaWYoJG4gPT0gJGNvdW50LCBmdWxsLCBmaXJzdCk7XG4gICAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiArICRuIC0gMSA9PSAkY291bnQge1xuICAgICAgICAkZWRnZTogbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVkZ2UgPT0gYWxwaGEgb3IgJGVkZ2UgPT0gb21lZ2Ege1xuICAgICRlZGdlOiBpZigkZWRnZSA9PSBhbHBoYSwgZmlyc3QsIGxhc3QpO1xuICB9XG5cbiAgQHJldHVybiAkZWRnZTtcbn1cblxuXG4vLyBHZXQgTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGxvY2F0aW9uIHZhbHVlIGJhc2VkIG9uIGVkZ2UsIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWxvY2F0aW9uKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRsb2NhdGlvbiAgIDogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRuICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gIEBpZiAkZWRnZSBhbmQgbm90KCRsb2NhdGlvbikgYW5kIHR5cGUtb2YoJG4pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJG4pIHtcbiAgICBAaWYgJGVkZ2UgPT0gZmlyc3Qge1xuICAgICAgJGxvY2F0aW9uOiAxO1xuICAgIH0gQGVsc2UgaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkbG9jYXRpb246IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKSAtICRuICsgMTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsb2NhdGlvblxufVxuIiwiaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyphZGRlZCovXG5pbWd7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDphdXRvO1xufVxuXG4qe1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59IiwiaDJ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZToxLjFlbTtcbiAgICBwYWRkaW5nLXRvcDo1MHB4O1xufVxuXG5oMSN0aXRsZS1hYm91dHtcbiAgICBmb250LXNpemU6MmVtO1xuICAgIHBhZGRpbmctdG9wOjYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2xpZGUtYWJvdXR7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luOjUwcHg7XG4gICAgXG4gICAgaW1nLmFib3V0LW1lLWltYWdle1xuICAgIG1hcmdpbjo1MHB4O1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHdpZHRoOjUwMHB4O1xuICAgIGhlaWdodDphdXRvO1xuICAgIFxuICAgIH1cbiAgICBcbiAgICBwLmFib3V0LW1lLXRleHR7XG4gICAgbWFyZ2luOjUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICB3aWR0aDo2MDBweDtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBcbn1cblxuLnNraWxsc3tcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB3aWR0aDo4MDBweDtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBcbiAgICAubG9nby1za2lsbHtcbiAgICAgICAgd2lkdGg6NzVweDtcbiAgICAgICAgaGVpZ2h0Ojc1cHg7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5uYW1lLXNraWxse1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBwYWRkaW5nOjI5cHggMTBweCAxMHB4IDI5cHg7XG4gICAgfVxuICAgIFxuICAgIC5zdGFycy1za2lsbHtcbiAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICAgIGZsb2F0OnJpZ2h0O31cbiAgICBcbiAgICAuc2xpZGUtc2tpbGx7cGFkZGluZzo0MHB4O31cbn1cbiIsIi5tZW51LXNpdGUtbWVudS1jb250YWluZXJ7XG4gICAgXG4gICAgXG4gICAgdWx7XG4gICAgXG4gICAgICAgICAjbWVudS1pdGVtLTk2e2Zsb2F0OnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OjMwcHghaW1wb3J0YW50O31cbiAgICAgICAgLm1lbnUtaXRlbXtcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAgICAgICAgIG1hcmdpbjozNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuNWVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYTpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjpyZ2JhKDExOSwxMTcsMTE3LDEuMDApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICBcbiAgICB9XG4gICAgXG59IiwiaGVhZGVye1xuICAgIHdpZHRoOnNwYW4oMTIpO1xuICAgIGhlaWdodDo3MDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG5ib2R5e2ZvbnQtZmFtaWx5OiBcbiAgICBcIkZ1dHVyYSBCb2xkXCIsIFwiRnV0dXJhIENvbmRlbnNlZCBFeHRyYUJvbGRcIiwgXCJGdXR1cmEgQ29uZGVuc2VkIE1lZGl1bVwiLCBcIkZ1dHVyYUV4dGVuZGVkXCIsIFwiRnV0dXJhIEV4dHJhIEJvbGRcIiwgXCJGdXR1cmEgKExpZ2h0KVwiLCBcIkZ1dHVyYSBNZWRpdW1cIiwgXCJGdXR1cmEgTWVkaXVtIEl0YWxpY1wiO1xufVxuXG4iLCIucXVvdGV7XG4gICAgZm9udC1zaXplOjJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDoxMDBweDtcbn0iLCIudGl0bGUtcG9ydGZvbGlvLWl0ZW17XG4gICAgZm9udC1zaXplOjJlbTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOjgwcHg7XG59XG5cbmgzLnR5cGUtcG9ydGZvbGlvLWl0ZW17XG4gICAgZm9udC1zaXplOjEuMmVtO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIG1hcmdpbi10b3A6NDBweDtcbn1cblxuLmZvcndhcmRzLWFycm93e1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgZmxvYXQ6cmlnaHQ7XG59XG5cbmJvZHkgYXJ0aWNsZXtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn0iLCIuaW1hZ2V7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtYXJnaW4tdG9wOjUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTo1MHB4O1xufSIsIi50ZXh0e1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6NTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtYXJnaW4tdG9wOjUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbn0iLCJkaXYuYmxvY2sudmlkZW97XG4gICAgd2lkdGg6NjQwcHg7XG4gICAgaGVpZ2h0OmF1dG87XG4gICAgbWFyZ2luLWxlZnQ6NTAlIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkhaW1wb3J0YW50O1xuICAgIFxufSIsImRpdi5ibG9jay5pbWFnZXN7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgXG4gICAgXG59XG5cbi5zbGlkZXtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIEBpbmNsdWRlIHNwYW4oNCk7XG4gICAgXG4gICAgaW1ne1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBwYWRkaW5nOjEwcHg7XG4gICAgICAgIFxuICAgIFxuICAgIH1cbiAgICBcblxufSIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsImRpdi5ibG9jay5wcm90b3R5cGV7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIFxufSIsIi5saW5re1xuICAgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhe1xuICAgICAgICBjb2xvcjpncmV5O1xuICAgICAgICBcbiAgICB9XG59IiwiZm9vdGVye1xuICAgIHdpZHRoOnNwYW4oMTIpO1xuICAgIGhlaWdodDoyODVweDtcbiAgICBtYXJnaW4tdG9wOjQwcHg7XG59XG5cbi5sb2dvLXNvY2lhbC1tZWRpYS1mb290ZXJ7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDo3NXB4O1xuICAgIGhlaWdodDo3NXB4O1xuICAgIG1hcmdpbi10b3A6NDBweDtcbiAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gICAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLmxvZ28tc29jaWFsLW1lZGlhLWZvb3Rlcjpob3ZlcntcbiAgICB3aWR0aDo4NXB4O1xuICAgIGhlaWdodDo4NXB4O1xuICAgIG1hcmdpbi10b3A6MzVweDtcbiAgICBtYXJnaW4tYm90dG9tOjM1cHg7XG4gICAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLnNvY2lhbC1tZWRpYS1saXN0LWl0ZW17XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbmZvcm1hdGllX2Zvb3RlcntcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbn0iLCIvKiFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwtLS5cIlwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgIF9fLC0tLS0oIG8gKSkgXG4gICAgICAgICAgICAgICAgICAgICAgICwnLS0uICAgICAgLCAoIFxuICAgICAgICAgICAgICAgIC1cIlwiLDotKCAgICBvICksLScvICA7IFxuICAgICAgICAgICAgICAgICAgKCBvKSBgbyAgXywnXFwgLyA7KCBcbiAgICAgICAgICAgICAgICAgICBgLTtfLTwnXFxffC0nLyAnICApIFxuICAgICAgICAgICAgICAgICAgICAgICBgLmAtLl9fLyAnICAgfCBcbiAgICAgICAgICBcXGAuICAgICAgICAgICAgYC4gLl9fLCAgIDsgXG4gICAgICAgICAgIClfOy0tLiAgICAgICAgIFxcYCAgICAgICB8IFxuICAgICAgICAgIC8nKF9fLC06ICAgICAgICAgKSAgICAgIDsgXG4gICAgICAgIDsnICAgIChfLC06ICAgICBfLDo6ICAgICAufCBcbiAgICAgICA7ICAgICAgICggLCApIF8sJzo6OicgICAgLDsgXG4gICAgICA7ICAgICAgICAgKS0sOycgIGA6JyAgICAgLjo6IFxuICAgICAgfCAgICAgICAgIGAnICA7ICAgICAgICAgYDo6OlxcIFxuICAgICAgOiAgICAgICAsJyAgICAnICAgICAgICAgICAgYDpcXCBcbiAgICAgIDs6ICAgICcgIF8sLSc6ICAgICAgICAgLicgICAgIGAtLiBcbiAgICAgICAnOzo6Li4sJyAgJyAsICAgICAgICBgICAgLF9fICAgIGAuIFxuICAgICAgICAgYDsnJyAgIC8gOyAgICAgICAgICAgXztfLC0nICAgICBgLiBcbiAgICAgICAgICAgICAgIC8gICAgICAgICAgICBfOy0tLiAgICAgICAgICBcXCBcbiAgICAgICAgICAgICAsJyAgICAgICAgICAgIC8gLCcgIGAuICAgICAgICAgXFwgXG4gICAgICAgICAgICAvOiAgICAgICAgICAgIChfKCAgICwnIFxcICAgICAgICAgKSBcbiAgICAgICAgICAgLzouICAgICAgICAgICAgICAgXFxfKCAgLy0uIC46OjosOy8gXG4gICAgICAgICAgKDo6Li4gICAgICAgICAgICAgICAgIGAtJ1xcIFwiYFwiXCInIFxuICAgICAgICAgIDs6Ojo6LiAgICAgICAgICAgICAgICAgICAgXFwgICAgICAgIF9fIFxuICAgICAgICAgICw6Ojo6OjouICAgICAgICAgICAgLjonICAgICkgICAgLC0nICApIFxuICAgICAgICAgLyAgYDs6Ojo6Ojo6J2BfXyw6Ljo6OicgICAgL2AtLS0nICAgLCcgXG4gICAgICAgIDsgICAgYFwiXCJcIlwiJyAgICggIFxcOjo6JyAgICAgLyAgICAgXywtJyBcbiAgICAgICAgOyAgICAgICAgICAgICAgXFwgIFxcOicgICAgLCc7Oi4sLScgXG4gICAgICAgICggICAgICAgICAgICAgIDogIClcXCAgICAoIFxuICAgICAgICAgYC4gICAgICAgICAgICAgXFwgICBcXCAgICA7IFxuICAgLWhyci0gICBgLS5fX18gICAgICAgOiAsXFwgXFwgICggXG4gICAgICAgICAgICAgICwnLCcuXzo6Ojp8IFxcIFxcIFxcICBcXCBcbiAgICAgICAgICAgICAoLCgsLS0tOzs7OzsgIFxcIFxcfDs7OykgXG4gICAgICAgICAgICAgICAgICAgICAgICAgYC5fXFxfXFwgXG5cbiovIl19 */
