From d4d84966cc4ea90ec4ace030f37eae677925e117 Mon Sep 17 00:00:00 2001 From: Gustav Lindqvist Date: Sat, 14 Jul 2018 09:35:22 +0200 Subject: [PATCH] Cleaned up CSS. Closes #42, #50 --- .gitignore | 5 +- assets/css/style.css | 251 +++------------------- assets/css/style.min.css | 4 +- sass/base/_base.scss | 15 +- sass/base/_typography.scss | 13 +- sass/components/_blog-navigation.scss | 15 +- sass/components/_content--formatting.scss | 2 +- sass/components/_content--media.scss | 19 +- sass/components/_feed--post.scss | 26 +-- sass/components/_pagination.scss | 6 +- sass/icons.scss | 65 ------ sass/layout/_footer.scss | 14 +- sass/layout/_grid.scss | 8 +- sass/layout/_header.scss | 53 ++--- sass/pages/_author.scss | 24 +-- sass/pages/_page.scss | 15 +- sass/pages/_post.scss | 17 +- sass/pages/_tag.scss | 8 +- sass/utils/_animations.scss | 12 +- sass/utils/_helpers.scss | 22 +- sass/utils/_variables.scss | 3 - sass/vendors/_fluidbox.min.scss | 1 - sass/vendors/_highlightjs.scss | 88 -------- 23 files changed, 171 insertions(+), 515 deletions(-) delete mode 100644 sass/icons.scss delete mode 100644 sass/vendors/_fluidbox.min.scss delete mode 100644 sass/vendors/_highlightjs.scss diff --git a/.gitignore b/.gitignore index fa5285f..55127ca 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,7 @@ Thumbs.db # Sass .sass-cache *.psd -.DS_Store \ No newline at end of file +.DS_Store +.csscomb + +.csscomb.json \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css index deb06e3..707d694 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -47,11 +47,11 @@ Setting up the variables. Default fonts, colors, widths and breakpoints. @keyframes fadeInUp { 0% { - opacity: 0; + opacity: 0; transform: translate3d(0, 100%, 0); } 100% { - opacity: 1; + opacity: 1; transform: none; } } @@ -110,195 +110,6 @@ Setting up the variables. Default fonts, colors, widths and breakpoints. } } -@keyframes a { - 0% { - transform: translate(-50%, -50%) rotateX(0) rotateY(0); - } - 50% { - transform: translate(-50%, -50%) rotateX(-180deg) rotateY(0); - } - to { - transform: translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg); - } -} - -.fluidbox { - outline: none; -} - -.fluidbox__overlay { - position: fixed; - top: -100%; - right: 0; - bottom: -100%; - left: 0; - background-color: rgba(255, 255, 255, .85); - opacity: 0; - cursor: pointer; - cursor: zoom-out; - transition: all .5s ease-in-out; - pointer-events: none; -} - -.fluidbox--opened .fluidbox__overlay { - pointer-events: auto; -} - -.fluidbox__wrap { - position: relative; - margin: 0 auto; - background-position: center center; - background-size: cover; - transition: all .5s ease-in-out; -} - -.fluidbox--closed .fluidbox__thumb, .fluidbox__thumb { - transition: opacity 0s ease-in-out 0s; -} - -.fluidbox__ghost { - position: absolute; - background-position: center center; - background-size: 100% 100%; - background-repeat: no-repeat; - transition: opacity 0s 0s,transform .5s 0s; -} - -.fluidbox--opened .fluidbox__ghost { - cursor: pointer; - cursor: zoom-out; -} - -.fluidbox--closed .fluidbox__ghost { - transition: opacity 0s .5s,transform .5s 0s; -} - -.fluidbox__loader { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - opacity: 0; - pointer-events: none; - - perspective: 200px; -} - -.fluidbox__loader:before { - content: ""; - position: absolute; - top: 50%; - left: 50%; - padding-bottom: 20%; - width: 20%; - background-color: rgba(255, 255, 255, .85); - transition-delay: 0s; - transition-duration: .5s; - transition-property: transform; - transform: translate(-50%, -50%); - - transform-style: preserve-3d; -} - -.fluidbox--loading .fluidbox__loader { - opacity: 1; - transition: opacity .5s ease-in-out .5s; -} - -.fluidbox--loading .fluidbox__loader:before { - animation: a 1s 0s infinite ease-in-out forwards; -} - -.hljs { - display: block; - background: none; - color: #333333; -} - -.hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { - color: #999988; - font-style: italic; -} - -.hljs-keyword, .css .rule .hljs-keyword, .hljs-winutils, .javascript .hljs-title, .nginx .hljs-title, .hljs-subst, .hljs-request, .hljs-status { - color: #333333; - font-weight: bold; -} - -.hljs-number, .hljs-hexcolor, .ruby .hljs-constant { - color: #009999; -} - -.hljs-string, .hljs-tag .hljs-value, .hljs-phpdoc, .tex .hljs-formula { - color: #DD1144; -} - -.hljs-title, .hljs-id, .coffeescript .hljs-params, .scss .hljs-preprocessor { - color: #990000; - font-weight: bold; -} - -.javascript .hljs-title, .lisp .hljs-title, .clojure .hljs-title, .hljs-subst { - font-weight: normal; -} - -.hljs-class .hljs-title, .haskell .hljs-type, .vhdl .hljs-literal, .tex .hljs-command { - color: #445588; - font-weight: bold; -} - -.hljs-tag { - color: #000080; - font-weight: normal; -} -.hljs-tag .hljs-title { - color: #000080; - font-weight: normal; -} - -.hljs-rules .hljs-property, .django .hljs-tag .hljs-keyword { - color: #000080; - font-weight: normal; -} - -.hljs-attribute, .hljs-variable, .lisp .hljs-body { - color: teal; -} - -.hljs-regexp { - color: #009926; -} - -.hljs-symbol, .ruby .hljs-symbol .hljs-string, .lisp .hljs-keyword, .tex .hljs-special, .hljs-prompt { - color: #990073; -} - -.hljs-built_in, .lisp .hljs-title, .clojure .hljs-built_in { - color: #0086B3; -} - -.hljs-preprocessor, .hljs-pragma, .hljs-pi, .hljs-doctype, .hljs-shebang, .hljs-cdata { - color: #999999; - font-weight: bold; -} - -.hljs-deletion { - background: #FFDDDD; -} - -.hljs-addition { - background: #DDFFDD; -} - -.diff .hljs-change { - background: #0086B3; -} - -.hljs-chunk { - color: #AAAAAA; -} - /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ @@ -623,7 +434,7 @@ body { display: -ms-flexbox; display: flex; -ms-flex-direction: column; - flex-direction: column; + flex-direction: column; overflow-y: scroll; min-height: 100%; height: 100%; @@ -634,16 +445,16 @@ body { font-family: "Noto Sans", Helvetica, "Helvetica Neue", Arial, sans-serif; line-height: 1.8; } -body main { - -ms-flex: 1; - flex: 1; -} @media (min-width: 400px) { body { font-size: 18px; font-size: 1.8rem; } } +body main { + -ms-flex: 1; + flex: 1; +} * { box-sizing: border-box; @@ -735,7 +546,7 @@ a:hover { } p, blockquote, figure, canvas, iframe, form { - margin-right: 0; + margin-right: 0; margin-bottom: 20px; margin-left: 0; } @@ -774,9 +585,6 @@ q { font-size: 125%; font-family: "Noto Serif", serif; } -q:before, q:after { - display: none; -} @media (min-width: 550px) { q { margin-top: 40px; @@ -789,6 +597,9 @@ q:before, q:after { width: calc(100% + 40px); } } +q:before, q:after { + display: none; +} cite { display: block; @@ -810,7 +621,7 @@ cite:before { ul, ol { margin-top: 10px; margin-bottom: 20px; - margin-left: 20px; + margin-left: 20px; padding: 0; } ul li, ol li { @@ -901,7 +712,7 @@ hr { height: 1.3em; background: #989898; vertical-align: text-bottom; - transition: .2s all ease; + transition: .2s all ease; -webkit-mask-image: url(../images/ghost-logo.svg); mask-image: url(../images/ghost-logo.svg); @@ -942,7 +753,7 @@ hr { width: 1.3em; height: 1.3em; background: #FF4D4C; - vertical-align: text-bottom; + vertical-align: text-bottom; -webkit-mask-image: url(../images/heart.svg); mask-image: url(../images/heart.svg); @@ -1004,14 +815,14 @@ hr { } .header { - background: black; + background: black; color: rgba(255, 255, 255, .7); } .header a { color: white; } .header.home { - background: white; + background: white; color: rgba(0, 0, 0, .7); } .header.home a { @@ -1049,7 +860,7 @@ hr { overflow: hidden; max-height: 60px; font-size: 14px; - font-size: 1.4rem; + font-size: 1.4rem; line-height: 60px; justify-content: space-between; @@ -1067,7 +878,7 @@ hr { height: 30px; } .header .header--top .blog-description { - display: none; + display: none; margin-left: 5px; } @media (min-width: 550px) { @@ -1116,15 +927,15 @@ hr { color: rgba(255, 255, 255, .7); } .header .hero .hero-content p { - margin-top: 1rem; + margin-top: 1rem; margin-bottom: 1rem; } .header .hero .hero-content h1 { - margin-top: 0; + margin-top: 0; color: white; } .header .hero .hero-content h1 img { - max-width: 400px; + max-width: 400px; width: 100%; } .header .hero .hero-content a { @@ -1290,7 +1101,7 @@ hr { } .header .header--top nav.blog-navigation ul li { display: inline-block; - margin-right: 10px; + margin-right: 10px; font-size: 14px; line-height: 60px; } @@ -1308,7 +1119,7 @@ hr { height: 25px; background-color: gray; background-size: contain; - vertical-align: middle; + vertical-align: middle; -webkit-mask-size: contain; mask-size: contain; @@ -1394,7 +1205,7 @@ hr { .content img { display: block; margin-left: auto; - margin-left: calc(0% - 20px); + margin-left: calc(0% - 20px); width: 100%; width: calc(100% + 40px); height: auto; @@ -1405,7 +1216,7 @@ hr { right: 50%; left: 50%; margin-right: -50vw; - margin-bottom: 20px; + margin-bottom: 20px; margin-left: -50vw; width: 100vw; } @@ -1416,7 +1227,7 @@ hr { } .content figure.kg-image-card img.kg-image { margin: 0 auto; - max-width: calc(100vw - 40px); + max-width: calc(100vw - 40px); width: initial; } @media (min-width: 550px) { @@ -1455,7 +1266,7 @@ hr { .feed .post { position: relative; overflow: hidden; - margin-bottom: 20px; + margin-bottom: 20px; padding: 30px; min-height: 25vh; background-color: #585858; @@ -1535,7 +1346,7 @@ hr { font-size: 1.4rem; } .feed .post .post--read-time { - color: rgba(255, 255, 255, .6); + color: rgba(255, 255, 255, .6); font-size: 14px; font-size: 1.4rem; } @@ -1556,7 +1367,7 @@ hr { } .feed .post .post--bottom-content { position: absolute; - right: 30px; + right: 30px; bottom: 30px; left: 30px; } @@ -1573,7 +1384,7 @@ nav.pagination .newer-posts, nav.pagination .older-posts { color: black; } nav.pagination .page-number { - margin: 0 20px; + margin: 0 20px; color: gray; } -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ1dGlscy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlscy9fYW5pbWF0aW9ucy5zY3NzIiwidXRpbHMvX2hlbHBlcnMuc2NzcyIsInV0aWxzL19taXhpbnMuc2NzcyIsInZlbmRvcnMvX2ZsdWlkYm94Lm1pbi5zY3NzIiwidmVuZG9ycy9faGlnaGxpZ2h0anMuc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsInBhZ2VzL19hdXRob3Iuc2NzcyIsInBhZ2VzL19wYWdlLnNjc3MiLCJwYWdlcy9fcG9zdC5zY3NzIiwicGFnZXMvX3RhZy5zY3NzIiwiY29tcG9uZW50cy9fYmxvZy1uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LS1mb3JtYXR0aW5nLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LS1tZWRpYS0tZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2ZlZWQtLXBvc3Quc2NzcyIsImNvbXBvbmVudHMvX2ZlZWQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O2tCQUdrQjtBQ0hsQjs7O2tCQUdrQjtBQ0hsQjtFQUNJLHVCQUF1QjtFQUN2QiwwQkFBMEIsRUFDN0I7O0FBRUQ7RUFDSSx1QkFBdUIsRUFDMUI7O0FBQ0Q7RUFDSSxzQkFBc0IsRUFDekI7O0FBQ0Q7RUFDSSx1QkFBdUIsRUFDMUI7O0FBQ0Q7RUFDSSxvQkFBb0IsRUFDdkI7O0FBQ0Q7RUFDSSx1QkFBdUIsRUFDMUI7O0FBRUQ7RUFDSTtJQUNJLFdBQVcsRUFBQTtFQUVmO0lBQ0ksV0FBVyxFQUFBLEVB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QixFQUMvQjtNQWxFakI7UUFvRW9CLFdBQVUsRUFDYjtJQXJFakI7TUF5RW9CLG9CQUFvQjtNQUNwQixhQUFhLEVBQ2hCO0lBM0VqQjtNQTZFb0Isc0JBQXNCLEVBQ3pCO0VBOUVqQjtJQW1GZ0IsV0FBVyxFQUNkO0VBcEZiO0lBd0ZZLFVBQVUsRUFhYjtJQXJHVDtNQW1HZ0IsbUJBQW1CLEVBQ3RCO0VBcEdiO0lBd0dZLGVBQWU7SUFDZixpQnJCdEZDO0lxQnVGRCxnQ0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0IsRUFDckI7RUE3R1Q7SUFnSFksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixnQ0FBVyxFQUNkO0VBbkhUO0lBc0hZLGVBQWU7SUFDZixnQ0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0IsRUFVckI7SUFuSVQ7TUEySGdCLGFBQWEsRUFPaEI7TUFsSWI7UUE2SG9CLDBCQUEwQixFQUk3QjtRQWpJakI7VUErSHdCLG9CQUFvQixFQUN2QjtFQWhJckI7SUFzSVksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxhQUFhO0lBQ2IsWUFBWSxFQUNmOztBQzFJVDtFQUNJLGN0QitCUyxFc0I5Qlo7O0FDRkQ7RUFDSSxtQkFBbUI7RUFDbkIsa0JBQWtCLEVBYXJCO0VBZkQ7SUFJUSxhQUFhLEVBQ2hCO0VBTEw7SUFRUSxZdkJJTTtJdUJITixlQUFlLEVBQ2xCIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1BSU5cbi0tLS0tLS0tLS0tLS0tLVxuSW1wb3J0IGFsbCByZWxldmFudCBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJ1dGlscy9fdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidXRpbHMvX21peGluc1wiO1xuQGltcG9ydCBcInV0aWxzL19hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwidXRpbHMvX2hlbHBlcnNcIjtcblxuQGltcG9ydCBcInZlbmRvcnMvX2ZsdWlkYm94Lm1pbi5zY3NzXCI7XG5AaW1wb3J0IFwidmVuZG9ycy9faGlnaGxpZ2h0anMuc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fYmFzZS5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19hdXRob3Iuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19ob21lLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fcGFnZS5zY3NzXCI7XG5AaW1wb3J0IFwicGFnZXMvX3Bvc3Quc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL190YWcuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jsb2ctbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tZm9ybWF0dGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEtLWdhbGxlcnkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS1saWdodGJveC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEtLXZpZGVvcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ZlZWQtLXBvc3Quc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ZlZWQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2Nzc1wiOyIsIi8qIFZBUklBQkxFU1xuLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nIHVwIHRoZSB2YXJpYWJsZXMuIERlZmF1bHQgZm9udHMsIGNvbG9ycywgd2lkdGhzIGFuZCBicmVha3BvaW50cy5cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kZm9udDogXCJOb3RvIFNhbnNcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtaGVhZGluZzogJGZvbnQ7XG4kZm9udC1tb25vc3BhY2U6IFwiSW5jb25zb2xhdGFcIiwgQ29uc29sYXMsIFwiRHJvaWQgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIjtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI0ZGRkZGRjtcbiR0cmFuc3BhcmVudC1ncmV5OiByZ2JhKDAsMCwwLC44KTtcbiRkYXJrLWdyZXk6ICMyMDIwMjA7XG4kZ3JleTogbGlnaHRlbigkYmxhY2ssIDUwJSk7XG4kbGlnaHQtZ3JleTogZGFya2VuKCR3aGl0ZSwgMjUlKTtcblxuXG4kaHVnZTogMTQwMHB4O1xuJGxhcmdlOiAxMDAwcHg7XG4kbWVkaXVtOiA4MDBweDtcbiRzbWFsbDogNTUwcHg7XG4kdGlueTogNDAwcHg7XG5cbiRicmVha3BvaW50czogKFxuICAgIFwiaHVnZVwiOiAobWluLXdpZHRoOiAkaHVnZSksXG4gICAgXCJsYXJnZVwiOiAobWluLXdpZHRoOiAkbGFyZ2UpLFxuICAgIFwibWVkaXVtXCI6IChtaW4td2lkdGg6ICRtZWRpdW0pLFxuICAgIFwic21hbGxcIjogKG1pbi13aWR0aDogJHNtYWxsKSxcbiAgICBcInRpbnlcIjogKG1pbi13aWR0aDogJHRpbnkpLFxuKTtcblxuXG4kd3JhcHBlci13aWR0aDogNjAwcHg7XG4kZ3V0dGVyOiAyMHB4OyIsIi5hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uZGVsYXktMSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbn1cbi5kZWxheS0yIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG59XG4uZGVsYXktMyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbn1cbi5kZWxheS00IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xufVxuLmRlbGF5LTUge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5mYWRlSW4ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuLmZhZGVJblVwIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG4iLCIuaGlkZGVue1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSl7XHJcbiAgICAuYWxpZ25sZWZ0LCAuYWxpZ25yaWdodHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbGlnbmxlZnR7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNjBweDtcclxuICAgICAgICBxe1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmxvY2txdW90ZS5hbGlnbmxlZnR7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgZGFya2VuKCR3aGl0ZSwgMTAlKTtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBxLmFsaWdubGVmdHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGlnbnJpZ2h0e1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNjBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xyXG4gICAgICAgIHEsICZxe1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHEuYWxpZ25yaWdodHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufSIsIi8vLyBSZXNwb25zaXZlIG1hbmFnZXIuXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludFxyXG4vLy8gQHJlcXVpcmVzICRicmVha3BvaW50c1xyXG5AbWl4aW4gcmVzcG9uZC10bygkYnJlYWtwb2ludCkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBAbWVkaWEgI3tpbnNwZWN0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpfSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBlcnJvciAnTm8gdmFsdWUgZm91bmQgZm9yIGAjeyRicmVha3BvaW50fWAuICdcclxuICAgICAgICAgICAgICsgJ1BsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYCBtYXAuJztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNhbGMoJHByb3BlcnR5LCAkZXhwcmVzc2lvbil7XHJcbiAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xyXG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGF7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xODBkZWcpfX1Aa2V5ZnJhbWVzIGF7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xODBkZWcpfX0uZmx1aWRib3h7b3V0bGluZTpub25lfS5mbHVpZGJveF9fb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC44NSk7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOnpvb20tb3V0O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3RvcDotMTAwJTtsZWZ0OjA7Ym90dG9tOi0xMDAlO3JpZ2h0OjA7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5mbHVpZGJveC0tb3BlbmVkIC5mbHVpZGJveF9fb3ZlcmxheXtwb2ludGVyLWV2ZW50czphdXRvfS5mbHVpZGJveF9fd3JhcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5mbHVpZGJveC0tY2xvc2VkIC5mbHVpZGJveF9fdGh1bWIsLmZsdWlkYm94X190aHVtYnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAwcyBlYXNlLWluLW91dCAwczt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgZWFzZS1pbi1vdXQgMHN9LmZsdWlkYm94X19naG9zdHtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMHMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIDBzLHRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIDBzLHRyYW5zZm9ybSAuNXMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzfS5mbHVpZGJveC0tb3BlbmVkIC5mbHVpZGJveF9fZ2hvc3R7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOnpvb20tb3V0fS5mbHVpZGJveC0tY2xvc2VkIC5mbHVpZGJveF9fZ2hvc3R7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMHMgLjVzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgLjVzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgLjVzLHRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwc30uZmx1aWRib3hfX2xvYWRlcntvcGFjaXR5OjA7LXdlYmtpdC1wZXJzcGVjdGl2ZToyMDBweDtwZXJzcGVjdGl2ZToyMDBweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowfS5mbHVpZGJveF9fbG9hZGVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC44NSk7Y29udGVudDonJzstd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZDt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDoyMCU7cGFkZGluZy1ib3R0b206MjAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6LXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTotd2Via2l0LXRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwtd2Via2l0LXRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowczt0cmFuc2l0aW9uLWRlbGF5OjBzfS5mbHVpZGJveC0tbG9hZGluZyAuZmx1aWRib3hfX2xvYWRlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0IC41czt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0IC41c30uZmx1aWRib3gtLWxvYWRpbmcgLmZsdWlkYm94X19sb2FkZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uOmEgMXMgMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOmEgMXMgMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgZm9yd2FyZHN9IiwiLmhsanMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5obGpzLWNvbW1lbnQsIC5obGpzLXRlbXBsYXRlX2NvbW1lbnQsIC5kaWZmIC5obGpzLWhlYWRlciwgLmhsanMtamF2YWRvYyB7XHJcbiAgICBjb2xvcjogIzk5ODtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLmhsanMta2V5d29yZCwgLmNzcyAucnVsZSAuaGxqcy1rZXl3b3JkLCAuaGxqcy13aW51dGlscywgLmphdmFzY3JpcHQgLmhsanMtdGl0bGUsIC5uZ2lueCAuaGxqcy10aXRsZSwgLmhsanMtc3Vic3QsIC5obGpzLXJlcXVlc3QsIC5obGpzLXN0YXR1cyB7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uaGxqcy1udW1iZXIsIC5obGpzLWhleGNvbG9yLCAucnVieSAuaGxqcy1jb25zdGFudCB7XHJcbiAgICBjb2xvcjogIzA5OTtcclxufVxyXG5cclxuLmhsanMtc3RyaW5nLCAuaGxqcy10YWcgLmhsanMtdmFsdWUsIC5obGpzLXBocGRvYywgLnRleCAuaGxqcy1mb3JtdWxhIHtcclxuICAgIGNvbG9yOiAjZGQxMTQ0O1xyXG59XHJcblxyXG4uaGxqcy10aXRsZSwgLmhsanMtaWQsIC5jb2ZmZWVzY3JpcHQgLmhsanMtcGFyYW1zLCAuc2NzcyAuaGxqcy1wcmVwcm9jZXNzb3Ige1xyXG4gICAgY29sb3I6ICM5MDA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmphdmFzY3JpcHQgLmhsanMtdGl0bGUsIC5saXNwIC5obGpzLXRpdGxlLCAuY2xvanVyZSAuaGxqcy10aXRsZSwgLmhsanMtc3Vic3Qge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmhsanMtY2xhc3MgLmhsanMtdGl0bGUsIC5oYXNrZWxsIC5obGpzLXR5cGUsIC52aGRsIC5obGpzLWxpdGVyYWwsIC50ZXggLmhsanMtY29tbWFuZCB7XHJcbiAgICBjb2xvcjogIzQ1ODtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uaGxqcy10YWcge1xyXG4gICAgY29sb3I6ICMwMDAwODA7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgLmhsanMtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMDgwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5obGpzLXJ1bGVzIC5obGpzLXByb3BlcnR5LCAuZGphbmdvIC5obGpzLXRhZyAuaGxqcy1rZXl3b3JkIHtcclxuICAgIGNvbG9yOiAjMDAwMDgwO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmhsanMtYXR0cmlidXRlLCAuaGxqcy12YXJpYWJsZSwgLmxpc3AgLmhsanMtYm9keSB7XHJcbiAgICBjb2xvcjogdGVhbDtcclxufVxyXG5cclxuLmhsanMtcmVnZXhwIHtcclxuICAgIGNvbG9yOiAjMDA5OTI2O1xyXG59XHJcblxyXG4uaGxqcy1zeW1ib2wsIC5ydWJ5IC5obGpzLXN5bWJvbCAuaGxqcy1zdHJpbmcsIC5saXNwIC5obGpzLWtleXdvcmQsIC50ZXggLmhsanMtc3BlY2lhbCwgLmhsanMtcHJvbXB0IHtcclxuICAgIGNvbG9yOiAjOTkwMDczO1xyXG59XHJcblxyXG4uaGxqcy1idWlsdF9pbiwgLmxpc3AgLmhsanMtdGl0bGUsIC5jbG9qdXJlIC5obGpzLWJ1aWx0X2luIHtcclxuICAgIGNvbG9yOiAjMDA4NmIzO1xyXG59XHJcblxyXG4uaGxqcy1wcmVwcm9jZXNzb3IsIC5obGpzLXByYWdtYSwgLmhsanMtcGksIC5obGpzLWRvY3R5cGUsIC5obGpzLXNoZWJhbmcsIC5obGpzLWNkYXRhIHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5obGpzLWRlbGV0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmRkZGQ7XHJcbn1cclxuXHJcbi5obGpzLWFkZGl0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6ICNkZGZmZGQ7XHJcbn1cclxuXHJcbi5kaWZmIC5obGpzLWNoYW5nZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDA4NmIzO1xyXG59XHJcblxyXG4uaGxqcy1jaHVuayB7XHJcbiAgICBjb2xvcjogI2FhYWFhYTtcclxufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qIE1BSU5cbi0tLS0tLS0tLS0tLS0tLVxuSW1wb3J0IGFsbCByZWxldmFudCBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWQVJJQUJMRVNcbi0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyB1cCB0aGUgdmFyaWFibGVzLiBEZWZhdWx0IGZvbnRzLCBjb2xvcnMsIHdpZHRocyBhbmQgYnJlYWtwb2ludHMuXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmRlbGF5LTEge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzOyB9XG5cbi5kZWxheS0yIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9XG5cbi5kZWxheS0zIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1czsgfVxuXG4uZGVsYXktNCB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLmRlbGF5LTUge1xuICBhbmltYXRpb24tZGVsYXk6IDEuMjVzOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mYWRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgICAuYWxpZ25sZWZ0IGltZywgLmFsaWducmlnaHQgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE2MHB4OyB9XG4gICAgLmFsaWdubGVmdCBxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgYmxvY2txdW90ZS5hbGlnbmxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgcS5hbGlnbmxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNjBweDtcbiAgICBtYXJnaW4tbGVmdDogMmVtOyB9XG4gICAgLmFsaWducmlnaHQgcSwgLmFsaWducmlnaHRxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBxLmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7IH0gfVxuXG4uZmx1aWRib3gge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbHVpZGJveF9fb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiB6b29tLW91dDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwJTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDsgfVxuXG4uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX292ZXJsYXkge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uZmx1aWRib3hfX3dyYXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmZsdWlkYm94LS1jbG9zZWQgLmZsdWlkYm94X190aHVtYiwgLmZsdWlkYm94X190aHVtYiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBlYXNlLWluLW91dCAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBlYXNlLWluLW91dCAwczsgfVxuXG4uZmx1aWRib3hfX2dob3N0IHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMHMsdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczsgfVxuXG4uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX2dob3N0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mbHVpZGJveC0tY2xvc2VkIC5mbHVpZGJveF9fZ2hvc3Qge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMHMgLjVzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cyx0cmFuc2Zvcm0gLjVzIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczsgfVxuXG4uZmx1aWRib3hfX2xvYWRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMjAwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4uZmx1aWRib3hfX2xvYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBjb250ZW50OiAnJztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAyMCU7XG4gIHBhZGRpbmctYm90dG9tOiAyMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG5cbi5mbHVpZGJveC0tbG9hZGluZyAuZmx1aWRib3hfX2xvYWRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQgLjVzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXM7IH1cblxuLmZsdWlkYm94LS1sb2FkaW5nIC5mbHVpZGJveF9fbG9hZGVyOmJlZm9yZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICBhbmltYXRpb246IGEgMXMgMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgZm9yd2FyZHM7IH1cblxuLmhsanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmhsanMtY29tbWVudCwgLmhsanMtdGVtcGxhdGVfY29tbWVudCwgLmRpZmYgLmhsanMtaGVhZGVyLCAuaGxqcy1qYXZhZG9jIHtcbiAgY29sb3I6ICM5OTg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uaGxqcy1rZXl3b3JkLCAuY3NzIC5ydWxlIC5obGpzLWtleXdvcmQsIC5obGpzLXdpbnV0aWxzLCAuamF2YXNjcmlwdCAuaGxqcy10aXRsZSwgLm5naW54IC5obGpzLXRpdGxlLCAuaGxqcy1zdWJzdCwgLmhsanMtcmVxdWVzdCwgLmhsanMtc3RhdHVzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5obGpzLW51bWJlciwgLmhsanMtaGV4Y29sb3IsIC5ydWJ5IC5obGpzLWNvbnN0YW50IHtcbiAgY29sb3I6ICMwOTk7IH1cblxuLmhsanMtc3RyaW5nLCAuaGxqcy10YWcgLmhsanMtdmFsdWUsIC5obGpzLXBocGRvYywgLnRleCAuaGxqcy1mb3JtdWxhIHtcbiAgY29sb3I6ICNkZDExNDQ7IH1cblxuLmhsanMtdGl0bGUsIC5obGpzLWlkLCAuY29mZmVlc2NyaXB0IC5obGpzLXBhcmFtcywgLnNjc3MgLmhsanMtcHJlcHJvY2Vzc29yIHtcbiAgY29sb3I6ICM5MDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5qYXZhc2NyaXB0IC5obGpzLXRpdGxlLCAubGlzcCAuaGxqcy10aXRsZSwgLmNsb2p1cmUgLmhsanMtdGl0bGUsIC5obGpzLXN1YnN0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaGxqcy1jbGFzcyAuaGxqcy10aXRsZSwgLmhhc2tlbGwgLmhsanMtdHlwZSwgLnZoZGwgLmhsanMtbGl0ZXJhbCwgLnRleCAuaGxqcy1jb21tYW5kIHtcbiAgY29sb3I6ICM0NTg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5obGpzLXRhZyB7XG4gIGNvbG9yOiAjMDAwMDgwO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5obGpzLXRhZyAuaGxqcy10aXRsZSB7XG4gICAgY29sb3I6ICMwMDAwODA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaGxqcy1ydWxlcyAuaGxqcy1wcm9wZXJ0eSwgLmRqYW5nbyAuaGxqcy10YWcgLmhsanMta2V5d29yZCB7XG4gIGNvbG9yOiAjMDAwMDgwO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5obGpzLWF0dHJpYnV0ZSwgLmhsanMtdmFyaWFibGUsIC5saXNwIC5obGpzLWJvZHkge1xuICBjb2xvcjogdGVhbDsgfVxuXG4uaGxqcy1yZWdleHAge1xuICBjb2xvcjogIzAwOTkyNjsgfVxuXG4uaGxqcy1zeW1ib2wsIC5ydWJ5IC5obGpzLXN5bWJvbCAuaGxqcy1zdHJpbmcsIC5saXNwIC5obGpzLWtleXdvcmQsIC50ZXggLmhsanMtc3BlY2lhbCwgLmhsanMtcHJvbXB0IHtcbiAgY29sb3I6ICM5OTAwNzM7IH1cblxuLmhsanMtYnVpbHRfaW4sIC5saXNwIC5obGpzLXRpdGxlLCAuY2xvanVyZSAuaGxqcy1idWlsdF9pbiB7XG4gIGNvbG9yOiAjMDA4NmIzOyB9XG5cbi5obGpzLXByZXByb2Nlc3NvciwgLmhsanMtcHJhZ21hLCAuaGxqcy1waSwgLmhsanMtZG9jdHlwZSwgLmhsanMtc2hlYmFuZywgLmhsanMtY2RhdGEge1xuICBjb2xvcjogIzk5OTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhsanMtZGVsZXRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZkZGRkOyB9XG5cbi5obGpzLWFkZGl0aW9uIHtcbiAgYmFja2dyb3VuZDogI2RkZmZkZDsgfVxuXG4uZGlmZiAuaGxqcy1jaGFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjMDA4NmIzOyB9XG5cbi5obGpzLWNodW5rIHtcbiAgY29sb3I6ICNhYWFhYWE7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgYm9keSBtYWluIHtcbiAgICBmbGV4OiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5oMSwgaDIsIGgzLCBoNCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgaDEsIGgyLCBoMywgaDQge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICBoMSBhLCBoMiBhLCBoMyBhLCBoNCBhIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaDEge1xuICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXNpemU6IDMuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBmb250LXNpemU6IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICBmb250LXNpemU6IDQuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgYTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbnAsIGJsb2NrcXVvdGUsIGZpZ3VyZSwgY2FudmFzLCBpZnJhbWUsIGZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5ub3RlIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRGRkI2O1xuICBib3gtc2hhZG93OiAjRkRGRkI2IDAgMCA1cHg7IH1cblxuc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiLCBzZXJpZjsgfVxuICBibG9ja3F1b3RlIGltZyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbnEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiLCBzZXJpZjsgfVxuICBxOmJlZm9yZSwgcTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBxIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2NjY2NjYztcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBjaXRlIGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTQgXFwyMDA5XCI7IH1cblxudWwsIG9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgdWwgbGksIG9sIGxpIHtcbiAgICBtYXJnaW46IDA7IH1cblxudWwge1xuICBsaXN0LXN0eWxlOiBzcXVhcmU7IH1cbiAgdWwgdWwsIHVsIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG4gIG9sIHVsLCBvbCBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgQ29uc29sYXMsIFwiRHJvaWQgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIjsgfVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgQ29uc29sYXMsIFwiRHJvaWQgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIjsgfVxuXG5ociB7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxuI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG4gICNmb290ZXIgLmNvbG9waG9uIHtcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHg7IH1cbiAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgICAgI2Zvb3RlciAuY29sb3Bob24gc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb24gLmdob3N0LWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMS4zZW07XG4gICAgICAgIHdpZHRoOiA0LjJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzk4OTg5ODtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9naG9zdC1sb2dvLnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlOyB9XG4gICAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb24gLmdob3N0LWxvZ286aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICNmb290ZXIgLmJvdHRvbSB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICMxYTE5MTk7IH1cbiAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAgICNmb290ZXIgLmJvdHRvbSBzZWN0aW9uIGEge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiBhIGkuZmEuZmEtaGVhcnQge1xuICAgICAgICAgIGNvbG9yOiAjZDg1MTUxOyB9XG4gICNmb290ZXIgYSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgI2Zvb3RlciBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAjZm9vdGVyIC5oZWFydCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS4zZW07XG4gICAgd2lkdGg6IDEuM2VtO1xuICAgIGJhY2tncm91bmQ6ICNmZjRkNGM7XG4gICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9oZWFydC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgfVxuXG4uZmVlZC5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5mZWVkLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwgMWZyKSk7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTsgfVxuICAgICAgICAuZmVlZC5ncmlkIC5wb3N0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgLmZlZWQuZ3JpZCAucG9zdC50YWctaGFzaC10YWxsIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0LmZlYXR1cmVkIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0LnRhZy1oYXNoLXRhbGwge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgIEBzdXBwb3J0cyBub3QgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5mZWVkLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgLmZlZWQuZ3JpZCAucG9zdCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0Om50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9IH1cblxuLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gIC5oZWFkZXIgYSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5oZWFkZXIuaG9tZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgIC5oZWFkZXIuaG9tZSBhIHtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAuaGVhZGVyLmNvdmVyLWltYWdlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaGVhZGVyLmNvdmVyLWltYWdlIGEge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmhlYWRlci5jb3Zlci1pbWFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAuaGVhZGVyIC5oZWFkZXItLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIGEuYmxvZy10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIGEuYmxvZy10aXRsZSBpbWcuYmxvZy1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCAuYmxvZy1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIC5ibG9nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsLm5hdiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsLm5hdiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5oZWFkZXIgLmhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICAgIGhlaWdodDogNTAwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5oZXJvIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDsgfSB9XG4gICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgaDEgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCAucG9zdC0tdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IC5wb3N0LS10YWdzIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgLnBvc3QtLXRhZ3MgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyB9XG5cbi5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6IGdyYXk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciBhIHtcbiAgICBjb2xvcjogZ3JheTsgfVxuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmhlYWRlci1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IC5ibG9nLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmJsb2ctdGl0bGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCAubGlua3MgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmxpbmtzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cblxuLnBhZ2UtdGVtcGxhdGUgLm1haW4ge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4ge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlIC5tYWluIC5wYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4gLnBhZ2UgLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucGFnZS10ZW1wbGF0ZSAubWFpbiAucGFnZSAuY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wb3N0LXRlbXBsYXRlIC5tYWluIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucG9zdC10ZW1wbGF0ZSAubWFpbiB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH0gfVxuICAucG9zdC10ZW1wbGF0ZSAubWFpbiAucG9zdCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIC5wb3N0IC5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnBvc3QtdGVtcGxhdGUgLm1haW4gLnBvc3QgLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udGFnLXRlbXBsYXRlIC5tYWluIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAudGFnLXRlbXBsYXRlIC5tYWluIC50YWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAudGFnLXRlbXBsYXRlIC5tYWluIC50YWcgLnRhZy1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnRhZy10ZW1wbGF0ZSAubWFpbiAudGFnIC50YWctY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24ge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1naXRodWJpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9naXRodWIuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtdHdpdHRlcmljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R3aXR0ZXIuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtcnNzaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvcnNzLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWZhY2Vib29raWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZmFjZWJvb2suc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtZG93bmxvYWRpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9kb3dubG9hZC5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1pbWFnZWljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ltYWdlLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LXR1bWJscmljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R1bWJsci5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1zdGVhbWljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N0ZWFtLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWdvb2dsZXBsdXNpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9nb29nbGUtcGx1cy5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1jYW1lcmFpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9jYW1lcmEuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmhlYWRlci5jb3Zlci1pbWFnZSAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmNvbnRlbnQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAuY29udGVudCBhOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmNvbnRlbnQgLmdhbGxlcnkge1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY29udGVudCAuZ2FsbGVyeSBhIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAuY29udGVudCAuZ2FsbGVyeSBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRlbnQgLmdhbGxlcnkgaW1nIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb250ZW50IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpOyB9XG5cbi5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uge1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDY4MHB4OyB9IH1cbiAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLXdpZGUge1xuICAgICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IH0gfVxuICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS1mdWxsIHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgZmlnY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuXG4uZmVlZCAucG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMzBweDtcbiAgbWluLWhlaWdodDogMjV2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZlZWQgLnBvc3QgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZlZWQgLnBvc3QuaGFzLWltYWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS10b3AtY29udGVudCwgLmZlZWQgLnBvc3QgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdG9wLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3MgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFncyBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzIGE6bm90KDpudGgtb2YtdHlwZSgxKSkge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3M6aG92ZXIgYSB7XG4gICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3M6aG92ZXIgYTpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZlZWQgLnBvc3Q6aG92ZXIgLnBvc3QtLXRhZ3MgYTpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10aXRsZSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tZXhjZXJwdCB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tcmVhZC10aW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSAuYXV0aG9yIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmZlZWQgLnBvc3QgLnBvc3QtLW1ldGEgLmF1dGhvciBhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSAuYXV0aG9yIGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMzBweDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgcmlnaHQ6IDMwcHg7IH1cblxuLmZlZWQge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbm5hdi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNjBweDsgfVxuICBuYXYucGFnaW5hdGlvbiAubmV3ZXItcG9zdHMsIG5hdi5wYWdpbmF0aW9uIC5vbGRlci1wb3N0cyB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIG5hdi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlciB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgbWFyZ2luOiAwIDIwcHg7IH1cbiIsImh0bWx7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiA2Mi41JTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwgNSUpO1xyXG4gICAgY29sb3I6ICR0cmFuc3BhcmVudC1ncmV5O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS44O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIG1haW4ge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0aW55KXtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcbn1cclxuKiB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59IiwiaDEsIGgyLCBoMywgaDQge1xuICAgIG1hcmdpbjogIHtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgfVxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGlueSkge1xuICAgICAgICBtYXJnaW46ICB7XG4gICAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG5cbmgxIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRpbnkpIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgfVxufVxuaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgfVxufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgfVxufVxuaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4vL1RPRE86IE1vdmUgdGhpcyB0byBwb3N0IGNvbnRlbnQgb25seVxuYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG5wLCBibG9ja3F1b3RlLCBmaWd1cmUsIGNhbnZhcywgaWZyYW1lLCBmb3JtIHtcbiAgICBtYXJnaW46ICB7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4ubm90ZSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLCAxMCUpO1xufVxuXG5tYXJrIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZERkZCNjtcbiAgICBib3gtc2hhZG93OiAjRkRGRkI2IDAgMCA1cHg7XG59XG5cbnN1cCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgZGFya2VuKCR3aGl0ZSwgMTAlKTtcbiAgICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCIsIHNlcmlmO1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5xIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCIsIHNlcmlmO1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgIH1cbn1cblxuY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDIwJSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQ7XG4gICAgYSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwyMDA5XCI7XG4gICAgfVxufVxudWwsIG9sIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogIHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgIHVsLCBvbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbn1cblxuZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuY29kZSB7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tb25vc3BhY2U7XG59XG5cbnByZSB7XG4gICAgbWFyZ2luOiAge1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1vbm9zcGFjZTtcbiAgICB9XG59XG5cbmhyIHtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwgMTAlKTtcbn0iLCIjZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICAgIGNvbG9yOiBkYXJrZW4oJHdoaXRlLCA0MCUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG5cblxuICAgIC5jb2xvcGhvbiB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMjBweDtcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2hvc3QtbG9nbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS4zZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQuMmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ODk4OTg7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9naG9zdC1sb2dvLnN2Zyk7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyNiwgMjUsIDI1KTtcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCR3aGl0ZSwgNDAlKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaS5mYS5mYS1oZWFydCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoMjE2LCA4MSwgODEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFydCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgd2lkdGg6IDEuM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY0ZDRjO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hlYXJ0LnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cbn0iLCIuZmVlZC5ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pe1xuXG4gICAgICAgIEBzdXBwb3J0cyhkaXNwbGF5OiBncmlkKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLWdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoNTAwcHgsMWZyKSk7XG4gICAgICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gICAgICAgICAgICAucG9zdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAmLnRhZy1oYXNoLXRhbGwge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmZlYXR1cmVkIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi50YWctaGFzaC10YWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBzdXBwb3J0cyBub3QgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgLnBvc3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4pe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIuaGVhZGVyIHtcbiAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAmLmhvbWUge1xuICAgICAgICBjb2xvcjogcmdiYShibGFjaywgMC43KTtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuY292ZXItaW1hZ2Uge1xuICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC43KTtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShibGFjaywgMC43KTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmhlYWRlci0tdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBhLmJsb2ctdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBpbWcuYmxvZy1sb2dvIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5hdi5ibG9nLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdWwubmF2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlcm8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpe1xuICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKXtcbiAgICAgICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8tY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsMC43KTtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwwLjcpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC0tdGFncyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgY29sb3I6ICRncmV5O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0aW55KXtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKXtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGh1Z2Upe1xuICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuICAgIGF7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyLWJhY2tncm91bmR7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjcpO1xuICAgIH1cbiAgICAuYmxvZy1jb250ZW50e1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5ibG9nLXRpdGxle1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGlua3MgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnZS10ZW1wbGF0ZSAubWFpbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSl7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSl7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIC5wYWdlIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnR7XHJcbiAgICAgICAgICAgID4gKjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAqOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnBvc3QtdGVtcGxhdGUgLm1haW57XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKXtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKXtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIC5wb3N0IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCl7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICA+ICo6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gKjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRhZy10ZW1wbGF0ZSAubWFpbiB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAudGFnIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCl7XG4gICAgICAgIH1cbiAgICAgICAgLnRhZy1jb250ZW50e1xuICAgICAgICAgICAgPiAqOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+ICo6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5oZWFkZXIge1xyXG4gICAgLmhlYWRlci0tdG9wIHtcclxuICAgICAgICBuYXYuYmxvZy1uYXZpZ2F0aW9uIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJltjbGFzcyQ9XCJpY29uXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZ2l0aHViaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ2l0aHViLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtdHdpdHRlcmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R3aXR0ZXIuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1yc3NpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9yc3Muc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1mYWNlYm9va2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhY2Vib29rLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZG93bmxvYWRpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9kb3dubG9hZC5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYubmF2LWltYWdlaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvaW1hZ2Uuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi10dW1ibHJpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy90dW1ibHIuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1zdGVhbWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N0ZWFtLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZ29vZ2xlcGx1c2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dvb2dsZS1wbHVzLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtY2FtZXJhaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvY2FtZXJhLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jb3Zlci1pbWFnZSAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufSIsIi5jb250ZW50IHtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmNvbnRlbnQge1xyXG4gICAgLmdhbGxlcnkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jb250ZW50IHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpZ3VyZS5rZy1pbWFnZS1jYXJkIHtcclxuICAgICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICByaWdodDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCl7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZy5rZy1pbWFnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpe1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkd3JhcHBlci13aWR0aCs4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYua2ctaW1hZ2Utd2lkZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoKzIwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGgrNDAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGh1Z2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoKzYwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYua2ctaW1hZ2UtZnVsbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZlZWQge1xuICAgIC5wb3N0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXZoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ODU4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRpbnkpe1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCl7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSl7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJsYWNrIG92ZXJsYXlcbiAgICAgICAgJi5oYXMtaW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNyk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC0tdG9wLWNvbnRlbnQsIC5wb3N0LS1ib3R0b20tY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS10b3AtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wb3N0LS10YWdzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyZXkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIC5wb3N0LS10YWdzIGEge1xuICAgICAgICAgICAgJjpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRpbnkpe1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKXtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pe1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC0tZXhjZXJwdCB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHNtYWxsO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC0tcmVhZC10aW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3QtLW1ldGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIC5hdXRob3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZmVlZCB7XHJcbiAgICBwYWRkaW5nOiAkZ3V0dGVyO1xyXG59IiwibmF2LnBhZ2luYXRpb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAubmV3ZXItcG9zdHMsIC5vbGRlci1wb3N0cyB7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLW51bWJlciB7XHJcbiAgICAgICAgY29sb3I6ICRncmV5O1xyXG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxufSJdfQ== */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ1dGlscy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlscy9fYW5pbWF0aW9ucy5zY3NzIiwidXRpbHMvX2hlbHBlcnMuc2NzcyIsInV0aWxzL19taXhpbnMuc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsInBhZ2VzL19hdXRob3Iuc2NzcyIsInBhZ2VzL19wYWdlLnNjc3MiLCJwYWdlcy9fcG9zdC5zY3NzIiwicGFnZXMvX3RhZy5zY3NzIiwiY29tcG9uZW50cy9fYmxvZy1uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LS1mb3JtYXR0aW5nLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LS1tZWRpYS0tZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2ZlZWQtLXBvc3Quc2NzcyIsImNvbXBvbmVudHMvX2ZlZWQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O2tCQUdrQjtBQ0hsQjs7O2tCQUdrQjtBQ0hsQjtFQUNJLHVCQUF1QjtFQUN2QiwwQkFBMEIsRUFDN0I7O0FBRUQ7RUFDSSxzQkFBc0IsRUFDekI7O0FBQ0Q7RUFDSSxxQkFBcUIsRUFDeEI7O0FBQ0Q7RUFDSSxzQkFBc0IsRUFDekI7O0FBQ0Q7RUFDSSxvQkFBb0IsRUFDdkI7O0FBQ0Q7RUFDSSx1QkFBdUIsRUFDMUI7O0FBRUQ7RUFDSTtJQUNJLFdBQVcsRUFBQTtFQUVmO0lBQ0ksV0FBVyxFQUFBLEVBQUE7O0FBR25CO0VBQ0ksdUJBQXVCLEVBQzFCOztBQUVEO0VBQ0k7SUFDSSxXQUFXO0lBQ1gsbUNB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a0IsRUFTckI7RUFYRDtJQUlRLGFBQWEsRUFDaEI7RUFMTDtJQVFRLGVBQWU7SUFDZixZckJHTSxFcUJGVCIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBNQUlOXG4tLS0tLS0tLS0tLS0tLS1cbkltcG9ydCBhbGwgcmVsZXZhbnQgZmlsZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwidXRpbHMvX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInV0aWxzL19taXhpbnNcIjtcbkBpbXBvcnQgXCJ1dGlscy9fYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcInV0aWxzL19oZWxwZXJzXCI7XG5cbkBpbXBvcnQgXCJ2ZW5kb3JzL19ub3JtYWxpemUuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX2Jhc2Uuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX3R5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9faGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fYXV0aG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9faG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwicGFnZXMvX3BhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19wb3N0LnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fdGFnLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ibG9nLW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLWZvcm1hdHRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS1nYWxsZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb250ZW50LS1tZWRpYS0tbGlnaHRib3guc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS12aWRlb3Muc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mZWVkLS1wb3N0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mZWVkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3NcIjsiLCIvKiBWQVJJQUJMRVNcbi0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyB1cCB0aGUgdmFyaWFibGVzLiBEZWZhdWx0IGZvbnRzLCBjb2xvcnMsIHdpZHRocyBhbmQgYnJlYWtwb2ludHMuXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGZvbnQ6IFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRpbmc6ICRmb250O1xuJGZvbnQtbW9ub3NwYWNlOiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNGRkZGRkY7XG4kdHJhbnNwYXJlbnQtZ3JleTogcmdiYSgwLDAsMCwuOCk7XG4kZGFyay1ncmV5OiAjMjAyMDIwO1xuJGdyZXk6IGxpZ2h0ZW4oJGJsYWNrLCA1MCUpO1xuJGxpZ2h0LWdyZXk6IGRhcmtlbigkd2hpdGUsIDI1JSk7XG5cbiRodWdlOiAxNDAwcHg7XG4kbGFyZ2U6IDEwMDBweDtcbiRtZWRpdW06IDgwMHB4O1xuJHNtYWxsOiA1NTBweDtcbiR0aW55OiA0MDBweDtcblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgXCJodWdlXCI6IChtaW4td2lkdGg6ICRodWdlKSxcbiAgICBcImxhcmdlXCI6IChtaW4td2lkdGg6ICRsYXJnZSksXG4gICAgXCJtZWRpdW1cIjogKG1pbi13aWR0aDogJG1lZGl1bSksXG4gICAgXCJzbWFsbFwiOiAobWluLXdpZHRoOiAkc21hbGwpLFxuICAgIFwidGlueVwiOiAobWluLXdpZHRoOiAkdGlueSksXG4pO1xuJHdyYXBwZXItd2lkdGg6IDYwMHB4O1xuJGd1dHRlcjogMjBweDsiLCIuYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmRlbGF5LTEge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjI1cztcbn1cbi5kZWxheS0yIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC41cztcbn1cbi5kZWxheS0zIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC43NXM7XG59XG4uZGVsYXktNCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbn1cbi5kZWxheS01IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMjVzO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4uZmFkZUluIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cbi5mYWRlSW5VcCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufSIsIi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAuYWxpZ25sZWZ0LCAuYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cbiAgICB9XHJcbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE2MHB4O1xyXG4gICAgICAgIHEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XG4gICAgfVxyXG5cclxuICAgIGJsb2NrcXVvdGUuYWxpZ25sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCBkYXJrZW4oJHdoaXRlLCAxMCUpO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcS5hbGlnbmxlZnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTYwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XHJcbiAgICAgICAgcSwgJnEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cbiAgICB9XHJcbiAgICBxLmFsaWducmlnaHQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XG59IiwiLy8vIFJlc3BvbnNpdmUgbWFuYWdlci5cclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBCcmVha3BvaW50XHJcbi8vLyBAcmVxdWlyZXMgJGJyZWFrcG9pbnRzXHJcbkBtaXhpbiByZXNwb25kLXRvKCRicmVha3BvaW50KSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgIEBtZWRpYSAje2luc3BlY3QobWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGVycm9yICdObyB2YWx1ZSBmb3VuZCBmb3IgYCN7JGJyZWFrcG9pbnR9YC4gJ1xyXG4gICAgICAgICAgICAgKyAnUGxlYXNlIG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgIG1hcC4nO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2FsYygkcHJvcGVydHksICRleHByZXNzaW9uKXtcclxuICAgICN7JHByb3BlcnR5fTogY2FsYygjeyRleHByZXNzaW9ufSk7XHJcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiBNQUlOXG4tLS0tLS0tLS0tLS0tLS1cbkltcG9ydCBhbGwgcmVsZXZhbnQgZmlsZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgdXAgdGhlIHZhcmlhYmxlcy4gRGVmYXVsdCBmb250cywgY29sb3JzLCB3aWR0aHMgYW5kIGJyZWFrcG9pbnRzLlxuLS0tLS0tLS0tLS0tLS0tICovXG4uYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5kZWxheS0xIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzOyB9XG5cbi5kZWxheS0yIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7IH1cblxuLmRlbGF5LTMge1xuICBhbmltYXRpb24tZGVsYXk6IC43NXM7IH1cblxuLmRlbGF5LTQge1xuICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG5cbi5kZWxheS01IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmFkZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5hbGlnbmxlZnQsIC5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gICAgLmFsaWdubGVmdCBpbWcsIC5hbGlnbnJpZ2h0IGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xNjBweDsgfVxuICAgIC5hbGlnbmxlZnQgcSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIGJsb2NrcXVvdGUuYWxpZ25sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIHEuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuICAgIC5hbGlnbnJpZ2h0IHEsIC5hbGlnbnJpZ2h0cSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgcS5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IH1cblxuYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS44OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuICBib2R5IG1haW4ge1xuICAgIGZsZXg6IDE7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaDEsIGgyLCBoMywgaDQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgaDEgYSwgaDIgYSwgaDMgYSwgaDQgYSB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmgxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1zaXplOiAzLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBmb250LXNpemU6IDVyZW07IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cblxuaDQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIGE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG5wLCBibG9ja3F1b3RlLCBmaWd1cmUsIGNhbnZhcywgaWZyYW1lLCBmb3JtIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ubm90ZSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxubWFyayB7XG4gIHBhZGRpbmc6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZERkZCNjtcbiAgYm94LXNoYWRvdzogI0ZERkZCNiAwIDAgNXB4OyB9XG5cbnN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXNpemU6IDEuM3JlbTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7IH1cbiAgYmxvY2txdW90ZSBpbWcge1xuICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5xIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEyNSU7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgcSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgLSAyMHB4KTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTsgfSB9XG4gIHE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNjY2NjY2M7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgY2l0ZSBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMjAwOVwiOyB9XG5cbnVsLCBvbCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsIGxpLCBvbCBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlOyB9XG4gIHVsIHVsLCB1bCBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuICBvbCB1bCwgb2wgb2wge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgYmFja2dyb3VuZDogI0YxRjFGMTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7IH1cblxucHJlIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIHByZSBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7IH1cblxuaHIge1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuICAjZm9vdGVyIC5jb2xvcGhvbiB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4OyB9XG4gICAgI2Zvb3RlciAuY29sb3Bob24gc2VjdGlvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uIC5naG9zdC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB3aWR0aDogNC4yZW07XG4gICAgICAgIGhlaWdodDogMS4zZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICM5ODk4OTg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGFsbCBlYXNlO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dob3N0LWxvZ28uc3ZnKTtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb24gLmdob3N0LWxvZ286aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICNmb290ZXIgLmJvdHRvbSB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICMxYTE5MTk7IH1cbiAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAgICNmb290ZXIgLmJvdHRvbSBzZWN0aW9uIGEge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiBhIGkuZmEuZmEtaGVhcnQge1xuICAgICAgICAgIGNvbG9yOiAjZDg1MTUxOyB9XG4gICNmb290ZXIgYSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgI2Zvb3RlciBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAjZm9vdGVyIC5oZWFydCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxLjNlbTtcbiAgICBoZWlnaHQ6IDEuM2VtO1xuICAgIGJhY2tncm91bmQ6ICNGRjRENEM7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvaGVhcnQuc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmVlZC5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5mZWVkLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwgMWZyKSk7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTsgfVxuICAgICAgICAuZmVlZC5ncmlkIC5wb3N0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgLmZlZWQuZ3JpZCAucG9zdC50YWctaGFzaC10YWxsIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0LmZlYXR1cmVkIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0LnRhZy1oYXNoLXRhbGwge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgIEBzdXBwb3J0cyBub3QgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5mZWVkLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgLmZlZWQuZ3JpZCAucG9zdCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0Om50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9IH1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC5oZWFkZXIgYSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5oZWFkZXIuaG9tZSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAgIC5oZWFkZXIuaG9tZSBhIHtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAuaGVhZGVyLmNvdmVyLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaGVhZGVyLmNvdmVyLWltYWdlIGEge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmhlYWRlci5jb3Zlci1pbWFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAuaGVhZGVyIC5oZWFkZXItLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIGEuYmxvZy10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIGEuYmxvZy10aXRsZSBpbWcuYmxvZy1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCAuYmxvZy1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIC5ibG9nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsLm5hdiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsLm5hdiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5oZWFkZXIgLmhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICAgIGhlaWdodDogNTAwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5oZXJvIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDsgfSB9XG4gICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgaDEgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCAucG9zdC0tdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IC5wb3N0LS10YWdzIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgLnBvc3QtLXRhZ3MgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyB9XG5cbi5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6IGdyYXk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciBhIHtcbiAgICBjb2xvcjogZ3JheTsgfVxuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmhlYWRlci1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IC5ibG9nLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmJsb2ctdGl0bGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCAubGlua3MgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmxpbmtzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cblxuLnBhZ2UtdGVtcGxhdGUgLm1haW4ge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4ge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlIC5tYWluIC5wYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4gLnBhZ2UgLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucGFnZS10ZW1wbGF0ZSAubWFpbiAucGFnZSAuY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wb3N0LXRlbXBsYXRlIC5tYWluIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucG9zdC10ZW1wbGF0ZSAubWFpbiB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH0gfVxuICAucG9zdC10ZW1wbGF0ZSAubWFpbiAucG9zdCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIC5wb3N0IC5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnBvc3QtdGVtcGxhdGUgLm1haW4gLnBvc3QgLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udGFnLXRlbXBsYXRlIC5tYWluIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAudGFnLXRlbXBsYXRlIC5tYWluIC50YWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAudGFnLXRlbXBsYXRlIC5tYWluIC50YWcgLnRhZy1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnRhZy10ZW1wbGF0ZSAubWFpbiAudGFnIC50YWctY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24ge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1naXRodWJpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9naXRodWIuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtdHdpdHRlcmljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R3aXR0ZXIuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtcnNzaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvcnNzLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWZhY2Vib29raWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZmFjZWJvb2suc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtZG93bmxvYWRpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9kb3dubG9hZC5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1pbWFnZWljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ltYWdlLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LXR1bWJscmljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R1bWJsci5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1zdGVhbWljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N0ZWFtLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWdvb2dsZXBsdXNpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9nb29nbGUtcGx1cy5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1jYW1lcmFpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9jYW1lcmEuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmhlYWRlci5jb3Zlci1pbWFnZSAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmNvbnRlbnQgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAuY29udGVudCBhOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmNvbnRlbnQgLmdhbGxlcnkge1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY29udGVudCAuZ2FsbGVyeSBhIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAuY29udGVudCAuZ2FsbGVyeSBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRlbnQgLmdhbGxlcnkgaW1nIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb250ZW50IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgLSAyMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgd2lkdGg6IDEwMHZ3OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xuICAgIHdpZHRoOiBpbml0aWFsOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDY4MHB4OyB9IH1cbiAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLXdpZGUge1xuICAgICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IH0gfVxuICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS1mdWxsIHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgZmlnY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuXG4uZmVlZCAucG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgbWluLWhlaWdodDogMjV2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmZlZWQgLnBvc3QgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZlZWQgLnBvc3QuaGFzLWltYWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS10b3AtY29udGVudCwgLmZlZWQgLnBvc3QgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdG9wLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3MgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFncyBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzIGE6bm90KDpudGgtb2YtdHlwZSgxKSkge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3M6aG92ZXIgYSB7XG4gICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3M6aG92ZXIgYTpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZlZWQgLnBvc3Q6aG92ZXIgLnBvc3QtLXRhZ3MgYTpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10aXRsZSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tZXhjZXJwdCB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tcmVhZC10aW1lIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSAuYXV0aG9yIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmZlZWQgLnBvc3QgLnBvc3QtLW1ldGEgLmF1dGhvciBhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSAuYXV0aG9yIGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGxlZnQ6IDMwcHg7IH1cblxuLmZlZWQge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbm5hdi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNjBweDsgfVxuICBuYXYucGFnaW5hdGlvbiAubmV3ZXItcG9zdHMsIG5hdi5wYWdpbmF0aW9uIC5vbGRlci1wb3N0cyB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIG5hdi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlciB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgY29sb3I6IGdyYXk7IH1cbiIsImh0bWwge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XHJcbn1cclxuXHJcbmJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLCA1JSk7XG4gICAgY29sb3I6ICR0cmFuc3BhcmVudC1ncmV5O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0aW55KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcblxyXG4gICAgbWFpbiB7XG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XG59XHJcbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn0iLCJoMSwgaDIsIGgzLCBoNCB7XG4gICAgbWFyZ2luOiAge1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtaGVhZGluZztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0aW55KSB7XG4gICAgICAgIG1hcmdpbjogIHtcbiAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cblxuaDEge1xuICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGlueSkge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICB9XG59XG5oMiB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICB9XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG59XG5oNCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi8vVE9ETzogTW92ZSB0aGlzIHRvIHBvc3QgY29udGVudCBvbmx5XG5hIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbnAsIGJsb2NrcXVvdGUsIGZpZ3VyZSwgY2FudmFzLCBpZnJhbWUsIGZvcm0ge1xuICAgIG1hcmdpbjogIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5ub3RlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG59XG5cbm1hcmsge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRGRkI2O1xuICAgIGJveC1zaGFkb3c6ICNGREZGQjYgMCAwIDVweDtcbn1cblxuc3VwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCBkYXJrZW4oJHdoaXRlLCAxMCUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7XG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbnEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxMjUlO1xuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgfVxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbmNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiBkYXJrZW4oJHdoaXRlLCAyMCUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250O1xuICAgIGEge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMjAwOVwiO1xuICAgIH1cbn1cbnVsLCBvbCB7XG4gICAgbWFyZ2luOiAge1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgdWwsIG9sIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxufVxuXG5vbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbmVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmNvZGUge1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgYmFja2dyb3VuZDogI0YxRjFGMTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbW9ub3NwYWNlO1xufVxuXG5wcmUge1xuICAgIG1hcmdpbjogIHtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgIH1cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tb25vc3BhY2U7XG4gICAgfVxufVxuXG5ociB7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG59IiwiI2Zvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBjb2xvcjogZGFya2VuKCR3aGl0ZSwgNDAlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuXG5cbiAgICAuY29sb3Bob24ge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdob3N0LWxvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0LjJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ODk4OTg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBhbGwgZWFzZTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dob3N0LWxvZ28uc3ZnKTtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyNiwgMjUsIDI1KTtcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCR3aGl0ZSwgNDAlKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaS5mYS5mYS1oZWFydCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoMjE2LCA4MSwgODEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFydCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEuM2VtO1xuICAgICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkY0RDRDO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvaGVhcnQuc3ZnKTtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbn0iLCIuZmVlZC5ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICBAc3VwcG9ydHMoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAkZ3V0dGVyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwxZnIpKTtcbiAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICAgICAgICAgIC5wb3N0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICYudGFnLWhhc2gtdGFsbCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZmVhdHVyZWQge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnRhZy1oYXNoLXRhbGwge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQHN1cHBvcnRzIG5vdCAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5wb3N0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb2xvcjogcmdiYSh3aGl0ZSwgLjcpO1xuICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgICYuaG9tZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb2xvcjogcmdiYShibGFjaywgLjcpO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNvdmVyLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgLjcpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAuNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLS10b3Age1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGEuYmxvZy10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBpbWcuYmxvZy1sb2dvIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmF2LmJsb2ctbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB1bC5uYXYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVybyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwuNyk7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsLjcpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC0tdGFncyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiAkZ3JleTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGlueSkge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGh1Z2UpIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC43KTtcbiAgICB9XG4gICAgLmJsb2ctY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmJsb2ctdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmtzIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnZS10ZW1wbGF0ZSAubWFpbiB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAucGFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoO1xyXG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBvc3QtdGVtcGxhdGUgLm1haW4ge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICB9XG4gICAgLnBvc3Qge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAkd3JhcHBlci13aWR0aDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRhZy10ZW1wbGF0ZSAubWFpbiB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAudGFnIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICB9XG4gICAgICAgIC50YWctY29udGVudCB7XG4gICAgICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaGVhZGVyIHtcbiAgICAuaGVhZGVyLS10b3Age1xuICAgICAgICBuYXYuYmxvZy1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICZbY2xhc3MkPVwiaWNvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZ2l0aHViaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9naXRodWIuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtdHdpdHRlcmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvdHdpdHRlci5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1yc3NpY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Jzcy5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1mYWNlYm9va2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZmFjZWJvb2suc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZG93bmxvYWRpY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYubmF2LWltYWdlaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9pbWFnZS5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi10dW1ibHJpY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3R1bWJsci5zdmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1zdGVhbWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvc3RlYW0uc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtZ29vZ2xlcGx1c2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ29vZ2xlLXBsdXMuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5uYXYtY2FtZXJhaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9jYW1lcmEuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XHJcbiAgICAmLmNvdmVyLWltYWdlIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cbn0iLCIuY29udGVudCB7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvbnRlbnQge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XG4gICAgfVxufSIsIi5jb250ZW50IHtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlIC0gMjBweCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cclxuXHJcbiAgICBmaWd1cmUua2ctaW1hZ2UtY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZy5rZy1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xyXG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGgrODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmtnLWltYWdlLXdpZGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XHJcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGgrMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHdyYXBwZXItd2lkdGgrNDAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGh1Z2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkd3JhcHBlci13aWR0aCs2MDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmtnLWltYWdlLWZ1bGwge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cclxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZlZWQge1xuICAgIC5wb3N0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXZoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ODU4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRpbnkpIHtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmxhY2sgb3ZlcmxheVxuICAgICAgICAmLmhhcy1pbWFnZTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC43KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS10b3AtY29udGVudCwgLnBvc3QtLWJvdHRvbS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3QtLXRvcC1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3QtLXRhZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JleSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIC5wb3N0LS10YWdzIGEge1xuICAgICAgICAgICAgJjpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGlueSkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS1leGNlcnB0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkc21hbGw7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LS1yZWFkLXRpbWUge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC0tbWV0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgLmF1dGhvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC0tYm90dG9tLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5mZWVkIHtcclxuICAgIHBhZGRpbmc6ICRndXR0ZXI7XHJcbn0iLCJuYXYucGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgLm5ld2VyLXBvc3RzLCAub2xkZXItcG9zdHMge1xuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cbn0iXX0= */ diff --git a/assets/css/style.min.css b/assets/css/style.min.css index 7417018..546074c 100644 --- a/assets/css/style.min.css +++ b/assets/css/style.min.css @@ -1,2 +1,2 @@ -.animated{animation-duration:1s;animation-fill-mode:both}.delay-1{animation-delay:.25s}.delay-2{animation-delay:.5s}.delay-3{animation-delay:.75s}.delay-4{animation-delay:1s}.delay-5{animation-delay:1.25s}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}100%{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}.hidden{display:none}@media (min-width:1000px){.alignleft,.alignright{margin-bottom:1em;padding-bottom:0;width:300px}.alignleft img,.alignright img{margin:0}.alignleft{float:left;margin-right:2em;margin-left:-160px}.alignleft q{margin:0;width:initial;text-align:right}blockquote.alignleft{padding-right:20px;padding-left:0;border-right:4px solid #e6e6e6;border-left:0;text-align:right}q.alignleft{margin-top:0;text-align:right}.alignright{float:right;margin-right:-160px;margin-left:2em}.alignright q,.alignrightq{margin:0;width:initial;text-align:left}q.alignright{margin:0;text-align:left}}@keyframes a{0%{transform:translate(-50%,-50%) rotateX(0) rotateY(0)}50%{transform:translate(-50%,-50%) rotateX(-180deg) rotateY(0)}to{transform:translate(-50%,-50%) rotateX(-180deg) rotateY(-180deg)}}.fluidbox{outline:0}.fluidbox__overlay{position:fixed;top:-100%;right:0;bottom:-100%;left:0;background-color:rgba(255,255,255,.85);opacity:0;cursor:pointer;cursor:zoom-out;transition:all .5s ease-in-out;pointer-events:none}.fluidbox--opened .fluidbox__overlay{pointer-events:auto}.fluidbox__wrap{position:relative;margin:0 auto;background-position:center center;background-size:cover;transition:all .5s ease-in-out}.fluidbox--closed .fluidbox__thumb,.fluidbox__thumb{transition:opacity 0s ease-in-out 0s}.fluidbox__ghost{position:absolute;background-position:center center;background-size:100% 100%;background-repeat:no-repeat;transition:opacity 0s 0s,transform .5s 0s}.fluidbox--opened .fluidbox__ghost{cursor:pointer;cursor:zoom-out}.fluidbox--closed .fluidbox__ghost{transition:opacity 0s .5s,transform .5s 0s}.fluidbox__loader{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;perspective:200px}.fluidbox__loader:before{content:"";position:absolute;top:50%;left:50%;padding-bottom:20%;width:20%;background-color:rgba(255,255,255,.85);transition-delay:0s;transition-duration:.5s;transition-property:transform;transform:translate(-50%,-50%);transform-style:preserve-3d}.fluidbox--loading .fluidbox__loader{opacity:1;transition:opacity .5s ease-in-out .5s}.fluidbox--loading .fluidbox__loader:before{animation:a 1s 0s infinite ease-in-out forwards}.hljs{display:block;background:0 0;color:#333}.diff .hljs-header,.hljs-comment,.hljs-javadoc,.hljs-template_comment{color:#998;font-style:italic}.css .rule .hljs-keyword,.hljs-keyword,.hljs-request,.hljs-status,.hljs-subst,.hljs-winutils,.javascript .hljs-title,.nginx .hljs-title{color:#333;font-weight:700}.hljs-hexcolor,.hljs-number,.ruby .hljs-constant{color:#099}.hljs-phpdoc,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#d14}.coffeescript .hljs-params,.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#900;font-weight:700}.clojure .hljs-title,.hljs-subst,.javascript .hljs-title,.lisp .hljs-title{font-weight:400}.haskell .hljs-type,.hljs-class .hljs-title,.tex .hljs-command,.vhdl .hljs-literal{color:#458;font-weight:700}.hljs-tag{color:navy;font-weight:400}.hljs-tag .hljs-title{color:navy;font-weight:400}.django .hljs-tag .hljs-keyword,.hljs-rules .hljs-property{color:navy;font-weight:400}.hljs-attribute,.hljs-variable,.lisp .hljs-body{color:teal}.hljs-regexp{color:#009926}.hljs-prompt,.hljs-symbol,.lisp .hljs-keyword,.ruby .hljs-symbol .hljs-string,.tex .hljs-special{color:#990073}.clojure .hljs-built_in,.hljs-built_in,.lisp .hljs-title{color:#0086b3}.hljs-cdata,.hljs-doctype,.hljs-pi,.hljs-pragma,.hljs-preprocessor,.hljs-shebang{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{margin:.67em 0;font-size:2em}hr{overflow:visible;box-sizing:content-box;height:0}pre{font-size:1em;font-family:monospace,monospace}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-size:1em;font-family:monospace,monospace}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;font-family:inherit;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{display:table;box-sizing:border-box;padding:0;max-width:100%;color:inherit;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{max-height:100%;height:100%;font-size:62.5%}body{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow-y:scroll;min-height:100%;height:100%;background:#f2f2f2;color:rgba(0,0,0,.8);font-size:14px;font-size:1.4rem;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif;line-height:1.8}body main{-ms-flex:1;flex:1}@media (min-width:400px){body{font-size:18px;font-size:1.8rem}}*{box-sizing:border-box}h1,h2,h3,h4{margin-top:30px;margin-bottom:10px;font-weight:500;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif;line-height:1.2}@media (min-width:400px){h1,h2,h3,h4{margin-top:40px;margin-bottom:10px}}h1 a,h2 a,h3 a,h4 a{border:0}h1{letter-spacing:-2px;font-size:35px;font-size:3.5rem}@media (min-width:400px){h1{font-size:40px;font-size:4rem}}@media (min-width:550px){h1{font-size:45px;font-size:4.5rem}}@media (min-width:800px){h1{font-size:50px;font-size:5rem}}h2{font-size:25px;font-size:2.5rem}@media (min-width:550px){h2{font-size:30px;font-size:3rem}}@media (min-width:800px){h2{font-size:35px;font-size:3.5rem}}h3{font-size:20px;font-size:2rem}@media (min-width:800px){h3{font-size:25px;font-size:2.5rem}}h4{font-weight:700;font-size:15px;font-size:1.5rem}a{color:#000;text-decoration:none;transition:all .2s}a:hover{border-color:#000;color:#000}blockquote,canvas,figure,form,iframe,p{margin-right:0;margin-bottom:20px;margin-left:0}.note{padding:10px;background:#e6e6e6}mark{padding:2px;background-color:#fdffb6;box-shadow:#fdffb6 0 0 5px}sup{vertical-align:super;font-size:13px;font-size:1.3rem}blockquote{padding-left:20px;border-left:4px solid #e6e6e6;font-family:"Noto Serif",serif}blockquote img{margin:20px 0!important;width:100%!important}q{display:block;text-align:center;font-style:italic;font-size:125%;font-family:"Noto Serif",serif}q:after,q:before{display:none}@media (min-width:550px){q{margin-top:40px;margin-bottom:40px;margin-left:auto;margin-left:calc(0% - 20px);max-width:100%;max-width:calc(100% + 40px);width:100%;width:calc(100% + 40px)}}cite{display:block;color:#ccc;text-transform:capitalize;font-style:normal;font-size:14px;font-size:1.4rem;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif}cite a{border:none;color:inherit}cite:before{content:"\2014 \2009"}ol,ul{margin-top:10px;margin-bottom:20px;margin-left:20px;padding:0}ol li,ul li{margin:0}ul{list-style:square}ul ol,ul ul{margin-top:0;margin-bottom:0;margin-left:20px}ol{list-style:decimal}ol ol,ol ul{margin-top:0;margin-bottom:0;margin-left:20px}em{font-style:italic}strong{font-weight:700}code{padding:3px 6px;background:#f1f1f1;color:#000;font-size:15px;font-size:1.5rem;font-family:Inconsolata,Consolas,"Droid Sans Mono","Courier New"}pre{margin-top:30px;margin-right:20px;margin-bottom:10px;margin-left:20px;word-wrap:break-word}pre code{padding:0;background:0 0;font-size:15px;font-size:1.5rem;font-family:Inconsolata,Consolas,"Droid Sans Mono","Courier New"}hr{height:4px;border:0;background:#e6e6e6}#footer{background:#252525;color:#999;text-transform:uppercase;font-size:12px;font-size:1.2rem;animation-delay:1s}#footer .colophon{padding:50px 20px}#footer .colophon section{margin:0 auto;max-width:600px}#footer .colophon section:first-child{margin-top:0}#footer .colophon section:last-child{margin-bottom:0}#footer .colophon section .ghost-logo{display:inline-block;margin-left:5px;width:4.2em;height:1.3em;background:#989898;vertical-align:text-bottom;transition:.2s all ease;-webkit-mask-image:url(../images/ghost-logo.svg);mask-image:url(../images/ghost-logo.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#footer .colophon section .ghost-logo:hover{background-color:#fff}#footer .bottom{padding:20px 20px;background:#1a1919}#footer .bottom section{margin:0 auto;max-width:600px}#footer .bottom section a{color:#999}#footer .bottom section a:hover{color:#fff}#footer .bottom section a i.fa.fa-heart{color:#d85151}#footer a{border-color:rgba(255,255,255,0);color:#fff}#footer a:hover{border-color:#fff}#footer .heart{display:inline-block;width:1.3em;height:1.3em;background:#ff4d4c;vertical-align:text-bottom;-webkit-mask-image:url(../images/heart.svg);mask-image:url(../images/heart.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.feed.grid{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media (min-width:800px){@supports (display:grid){.feed.grid{display:-ms-grid;display:grid;grid-gap:20px;-ms-grid-columns:(minmax(500px,1fr)) [auto-fit];grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-auto-flow:dense}.feed.grid .post{margin-bottom:0}.feed.grid .post.tag-hash-tall{min-height:50vh}.feed.grid .post.featured{-ms-grid-column:span 2;grid-column:span 2}.feed.grid .post.tag-hash-tall{-ms-grid-row-span:2;grid-row-end:span 2}}@supports not (display:grid){.feed.grid{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.feed.grid .post{width:calc(50% - 10px)}.feed.grid .post:nth-of-type(2n){margin-left:20px}}}.header{background:#000;color:rgba(255,255,255,.7)}.header a{color:#fff}.header.home{background:#fff;color:rgba(0,0,0,.7)}.header.home a{color:#000}.header.cover-image{position:relative;background:#000;background-position:center;background-size:cover;color:rgba(255,255,255,.7);color:#fff}.header.cover-image a{color:#fff}.header.cover-image:after{content:"";position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background:rgba(0,0,0,.7)}.header .header--top{position:relative;z-index:10;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;overflow:hidden;max-height:60px;font-size:14px;font-size:1.4rem;line-height:60px;justify-content:space-between}.header .header--top a.blog-title{float:left;padding-left:20px;height:60px;font-weight:600}.header .header--top a.blog-title img.blog-logo{margin:15px 0;padding:0;width:auto;height:30px}.header .header--top .blog-description{display:none;margin-left:5px}@media (min-width:550px){.header .header--top .blog-description{display:inline}}.header .header--top nav.blog-navigation{float:right}.header .header--top nav.blog-navigation ul.nav{margin:0}.header .header--top nav.blog-navigation ul.nav li{display:inline-block}.header .hero{position:relative;z-index:10;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:calc(100vh - 60px);height:500px}@media (min-width:550px){.header .hero{height:600px}}@media (min-width:800px){.header .hero{height:700px}}@media (min-width:1000px){.header .hero{height:700px}}.header .hero .hero-content{margin:auto;max-width:600px;width:calc(100% - 40px);color:rgba(255,255,255,.7)}.header .hero .hero-content p{margin-top:1rem;margin-bottom:1rem}.header .hero .hero-content h1{margin-top:0;color:#fff}.header .hero .hero-content h1 img{max-width:400px;width:100%}.header .hero .hero-content a{color:rgba(255,255,255,.7);text-decoration:dotted}.header .hero .hero-content a:hover{color:#fff}.header .hero .hero-content .post--tags{display:block;overflow:auto;margin-top:2rem;width:100%;font-size:12px;font-size:1.2rem}.header .hero .hero-content .post--tags a{display:inline-block;float:left;margin-right:3px;margin-bottom:3px;padding:6px;border:1px solid rgba(255,255,255,.6);background:0 0;color:rgba(255,255,255,.6);text-transform:uppercase;line-height:1}.header .hero .hero-content .post--tags a:hover{background:#fff;color:#000!important}.author-template .header{position:relative;background:#000;color:gray}@media (min-width:400px){.author-template .header{height:500px;background-position:center;background-size:cover}}@media (min-width:550px){.author-template .header{height:600px;background-position:center;background-size:cover}}@media (min-width:1400px){.author-template .header{height:700px;background-position:center;background-size:cover}}.author-template .header a{color:gray}.author-template .header a:hover{color:#fff}.author-template .header .header-background{background:rgba(0,0,0,.7)}.author-template .header .blog-content{position:absolute;box-sizing:border-box;padding:0 20px;width:100%}.author-template .header .blog-content .blog-title{margin:0;color:#fff;letter-spacing:0;font-size:14px;font-size:1.4rem}.author-template .header .blog-content .blog-title:hover{color:#fff}.author-template .header .blog-content .links a{color:#fff}.author-template .header .blog-content .links a:hover{color:#fff}.page-template .main{padding:10px 20px;background:#fff}@media (min-width:800px){.page-template .main{padding:30px 20px}}@media (min-width:1000px){.page-template .main{padding:40px 20px}}.page-template .main .page{margin:0 auto;max-width:600px}.page-template .main .page .content>:first-child{margin-top:0}.page-template .main .page .content>:last-child{margin-bottom:0}.post-template .main{padding:10px 20px;background:#fff}@media (min-width:800px){.post-template .main{padding:30px 20px}}@media (min-width:1000px){.post-template .main{padding:40px 20px}}.post-template .main .post{margin:0 auto;max-width:600px}.post-template .main .post .content>:first-child{margin-top:0}.post-template .main .post .content>:last-child{margin-bottom:0}.tag-template .main{background:#fff}.tag-template .main .tag{margin:0 auto;max-width:600px}.tag-template .main .tag .tag-content>:first-child{margin-top:0}.tag-template .main .tag .tag-content>:last-child{margin-bottom:0}.header .header--top nav.blog-navigation{float:right}.header .header--top nav.blog-navigation ul{margin:0;margin-right:10px}.header .header--top nav.blog-navigation ul li{display:inline-block;margin-right:10px;font-size:14px;line-height:60px}.header .header--top nav.blog-navigation ul li[class$=icon]{margin-right:5px}.header .header--top nav.blog-navigation ul li[class$=icon] .label{display:none}.header .header--top nav.blog-navigation ul li[class$=icon] a:before{content:"";display:inline-block;margin-top:-5px;width:25px;height:25px;background-color:gray;background-size:contain;vertical-align:middle;-webkit-mask-size:contain;mask-size:contain}.header .header--top nav.blog-navigation ul li[class$=icon] a:hover:before{background-color:#000}.header .header--top nav.blog-navigation ul li.nav-githubicon a:before{-webkit-mask-image:url(../images/github.svg);mask-image:url(../images/github.svg)}.header .header--top nav.blog-navigation ul li.nav-twittericon a:before{-webkit-mask-image:url(../images/twitter.svg);mask-image:url(../images/twitter.svg)}.header .header--top nav.blog-navigation ul li.nav-rssicon a:before{-webkit-mask-image:url(../images/rss.svg);mask-image:url(../images/rss.svg)}.header .header--top nav.blog-navigation ul li.nav-facebookicon a:before{-webkit-mask-image:url(../images/facebook.svg);mask-image:url(../images/facebook.svg)}.header .header--top nav.blog-navigation ul li.nav-downloadicon a:before{-webkit-mask-image:url(../images/download.svg);mask-image:url(../images/download.svg)}.header .header--top nav.blog-navigation ul li.nav-imageicon a:before{-webkit-mask-image:url(../images/image.svg);mask-image:url(../images/image.svg)}.header .header--top nav.blog-navigation ul li.nav-tumblricon a:before{-webkit-mask-image:url(../images/tumblr.svg);mask-image:url(../images/tumblr.svg)}.header .header--top nav.blog-navigation ul li.nav-steamicon a:before{-webkit-mask-image:url(../images/steam.svg);mask-image:url(../images/steam.svg)}.header .header--top nav.blog-navigation ul li.nav-googleplusicon a:before{-webkit-mask-image:url(../images/google-plus.svg);mask-image:url(../images/google-plus.svg)}.header .header--top nav.blog-navigation ul li.nav-cameraicon a:before{-webkit-mask-image:url(../images/camera.svg);mask-image:url(../images/camera.svg)}.header .header--top nav.blog-navigation ul li:last-of-type{margin-right:10px}.header.cover-image .header--top nav.blog-navigation ul li[class$=icon] a:before{background-color:#fff}.content a{color:#000;text-decoration:underline;transition:all .2s}.content a:hover{border-color:#000;color:#000}.content .gallery{margin-left:-5px;padding:5px;width:100%}.content .gallery a{border:0}.content .gallery a:hover{border-color:transparent}.content .gallery img{margin:auto;width:auto;height:auto}.content img{display:block;margin-left:auto;margin-left:calc(0% - 20px);width:100%;width:calc(100% + 40px);height:auto}.content figure.kg-image-card{position:relative;right:50%;left:50%;margin-right:-50vw;margin-bottom:20px;margin-left:-50vw;width:100vw}@media (min-width:550px){.content figure.kg-image-card{margin-bottom:40px}}.content figure.kg-image-card img.kg-image{margin:0 auto;max-width:calc(100vw - 40px);width:initial}@media (min-width:550px){.content figure.kg-image-card img.kg-image{max-width:680px}}.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:100vw}@media (min-width:800px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:800px}}@media (min-width:1000px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:1000px}}@media (min-width:1400px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:1200px}}.content figure.kg-image-card img.kg-image.kg-image-full{max-width:100vw;width:100vw}.content figure.kg-image-card figcaption{text-align:center;font-size:14px;line-height:50px}.feed .post{position:relative;overflow:hidden;margin-bottom:20px;padding:30px;min-height:25vh;background-color:#585858;background-position:center;background-size:cover;color:#fff}.feed .post a{color:inherit}.feed .post.has-image:after{content:"";position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:rgba(0,0,0,.7)}.feed .post .post--bottom-content,.feed .post .post--top-content{position:relative;z-index:20;max-width:800px}.feed .post .post--top-content{margin-bottom:60px}.feed .post .post--tags{display:block;overflow:auto;margin-bottom:15px;width:100%;font-size:12px;font-size:1.2rem}.feed .post .post--tags a{display:inline-block;float:left;margin-right:3px;margin-bottom:3px;padding:6px;border:1px solid rgba(255,255,255,.6);background:0 0;color:rgba(255,255,255,.6);text-transform:uppercase;line-height:1}.feed .post .post--tags a:hover{background:#fff;color:#202020!important}.feed .post .post--tags a:not(:nth-of-type(1)){opacity:0}.feed .post .post--tags:hover a{border-color:#fff;color:#fff}.feed .post .post--tags:hover a:not(:nth-of-type(1)){display:inline-block}.feed .post:hover .post--tags a:not(:nth-of-type(1)){opacity:1}.feed .post .post--title{margin:0}.feed .post .post--title a{font-size:inherit}.feed .post .post--excerpt{margin:15px 0;max-width:550px;color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--read-time{color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--meta{display:block;color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--meta .author{color:#fff}.feed .post .post--meta .author a{border-color:transparent}.feed .post .post--meta .author a:hover{border-color:#fff}.feed .post .post--bottom-content{position:absolute;right:30px;bottom:30px;left:30px}.feed{padding:20px}nav.pagination{text-align:center;line-height:60px}nav.pagination .newer-posts,nav.pagination .older-posts{color:#000}nav.pagination .page-number{margin:0 20px;color:gray} -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJ1dGlscy9fYW5pbWF0aW9ucy5zY3NzIiwidXRpbHMvX2hlbHBlcnMuc2NzcyIsInV0aWxzL192YXJpYWJsZXMuc2NzcyIsInV0aWxzL19taXhpbnMuc2NzcyIsInZlbmRvcnMvX2ZsdWlkYm94Lm1pbi5zY3NzIiwidmVuZG9ycy9faGlnaGxpZ2h0anMuc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVDQ0ksbUJBQXVCLEdBVXZCLG9CQUFxQixLQUd6QixTQ2RBLGdCQUFBLEtEV0EsU0NOQSxnQkFBQSxJQUdBLFNEZUksZ0JBQWlCLEtBR3JCLFNDWkEsZ0JBQUEsR0FJSSxTRFFlLGdCQUFBLE1DRGYsa0JEVUEsR0NOSixRQUFBLEVETVEsS0NGUixRQUFBLEdEVUEsUUFBQSxlQUFBLE9EM0NBLG9CQ0NJLEdBZ0RJLFFBQVMsRUEzQ1QsVUFBQSxzQkFBQSxLQUNBLFFBQUEsRUNQUixVQUtBLE1EU1EsVUNOUixlQUFBLFNBR0EsUUFDSSxRQUFBLEtBT0gsMEJET08sV0FBZ0IsWUNMeEIsY0FBQSxJQUNJLGVBQUEsRUFDSSxNQUFBLE1BTVIsZUFBQSxnQkFDSSxPQUFBLEVBS0ksV0FDQSxNQUFBLEtBRUosYURRQyxJQ1pELFlBQUEsT0RTUSxhQ0FaLE9BQUEsRUMzQ0EsTUFBQSxRQUVDLFdBQUEsTUZtRkcscUJEckZKLGNBQUEsS0FBQSxhQUFBLEVBQUEsYUFBQSxJQUFBLE1BQUEsUUFBQSxZQUFBLEVBQUEsV0FBQSxNQUFBLFlDNkZRLFdBQVksRUQ3RnBCLFdBQUEsTUNnR0ksWURoR0osTUFBQSxNQUFBLGFBQUEsT0FBQSxZQUFBLElBQUEsY0FBQSxhQUFBLE9BQUEsRUFBQSxNQUFBLFFBQUEsV0FBQSxLQUFBLGFBQUEsT0FBQSxFQUFBLFdBQUEsTUNnSEEsYURoSEEsR0FBQSxVQUFBLHFCQUFBLFdBQUEsV0FBQSxJQUFBLFVBQUEscUJBQUEsaUJBQUEsV0N1SEksR0R2SEosVUFBQSxxQkFBQSxpQkFBQSxrQkFBQSxVQUFBLFFBQUEsRUFBQSxtQkNpSUksU0FBVSxNRGpJZCxJQUFBLE1BQUEsTUFBQSxFQUFBLE9BQUEsTUNxSUksS0FBTSxFRHJJVixpQkFBQSxzQkFBQSxRQUFBLEVDd0lJLE9BQVEsUUR4SVosT0FBQSxTQUFBLFdBQUEsSUFBQSxJQUFBLFlBQUEsZUFBQSxLQUFBLHFDQUFBLGVBQUEsS0NrSkEsZ0JEbEpBLFNBQUEsU0FBQSxPQUFBLEVBQUEsS0FBQSxvQkFBQSxPQUFBLE9BQUEsZ0JBQUEsTUFBQSxXQUFBLElBQUEsSUFBQSxZQUFBLG1DQUFBLGlCQUFBLFdBQUEsUUFBQSxHQUFBLFlBQUEsR0FBQSxpQkFBQSxTQUFBLFNDZ0tJLG9CQUFxQixPQUFPLE9EaEtoQyxnQkFBQSxLQUFBLEtBQUEsa0JBQUEsVUFBQSxXQUFBLFFBQUEsR0FBQSxFQUFBLENBQUEsVUFBQSxJQUFBLEdBQUEsbUNDdUtJLE9BQVEsUUR2S1osT0FBQSxTSUFBLG1DSDRLSSxXQUFZLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLEdDNUs3QyxrQkRnTEksU0FBVSxTQXJLZCxJQUFBLEVDTkEsTUFBQSxFQUNJLE9BQUEsRUQ4S0EsS0FBTSxFQXBLVixRQUFBLEVDTEEsZUFBQSxLRFNBLFlBQUEsTUNIQSx5QkFDSSxRQUFBLEdEUUEsU0FBa0IsU0FvS2xCLElBQUssSUFqS1QsS0FBQSxJQ0pJLGVBQUEsSUR3S0EsTUFBTyxJQ3BLWCxpQkFBQSxzQkFDSSxpQkFBQSxHQUdKLG9CQUFBLElEb0tJLG9CQUFxQixVQS9KekIsVUFBQSxxQkNBSSxnQkRPSCxZQ0ZELHFDRGlLSSxRQUFTLEVFNU1iLFdBQUEsUUFBQSxJQUFBLFlBQUEsSUZnTkEsNENBNUpBLFVBQUEsRUFBQSxHQUFBLEdBQUEsU0FBQSxZQUFBLFNBSUEsTUUzQ0ksUUFBQSxNRnlNQSxXQUFZLElBMUpoQixNQUFBLEtBSUEsbUJBQUEsY0FBQSxjQUFBLHVCRXhDSSxNQUFBLEtGb01BLFdBQVksT0FySmYseUJFMUNPLGNGMENQLGNBQUEsYUFBQSxZQUFBLGVBQUEsd0JBQUEsbUJBeUpHLE1BQU8sS0F2SlgsWUFBQSxJQUlBLGVBQUEsYUFBQSxxQkV4Q0ksTUFBQSxLRjhDSCxhRXBDRyxhRm9DSCxzQkFBQSxtQkFzSkcsTUFBTyxLQUdZLDJCQUFWLFNBQWIsWUFBbUQseUJENU9uRCxNQUFBLEtDRUEsWUFBQSxJQStPNEMscUJBQXNCLFlBQWxFLHdCQUF5QixrQkFDckIsWUFBYSxJQXZPRyxvQkFBQSx3QkFBQSxtQkFBQSxvQkFBRSxNQUFPLEtDTjdCLFlBQUEsSUFHQSxVRG1QSSxNQUFPLEtDaFBYLFlBQUEsSURTRyxzQkFFSCxNQUFBLEtDTEEsWUFBQSxJRGtQNEIsZ0NBQTVCLDJCQUNJLE1BQU8sS0F2T1IsWUFBQSxJQ0FILGdCREtDLGVBQUEsaUJBdU9HLE1BQU8sS0FsT1gsYUFzT0ksTUFBTyxRQ2xPWCxhQUFBLGFBQUEsb0JBQUEsZ0NBQUEsbUJBQ0ksTUFBQSxRREVpQix3QkFBQSxlQUFBLGtCRTlDckIsTUFBQSxRRU1RLFlBQUEsY0FBQSxTQUFBLGFBQUEsbUJBQUEsY0ptUkosTUFBTyxLQUNQLFlBQWEsSUFsT2YsZUU3Q08sV0FBQSxLRnNSVCxlQXJPQSxXQUFBLEtBeU9BLG1CRTdRSSxXQUFBLFFGaVJKLFlBbE9BLE1BQUEsS0VsQ0ksNEVBS2tCLEtGMlFsQixZQUFhLEtBak9kLHlCQUFBLEtBWUgsS0FrT0ksT0FBUSxFQTNOWixHQW1PSSxPQUFRLE1BQU0sRUsxVXM4QixVQUFBLElMb1Z4OUIsR0E3TkUsU0FBZSxRS3ZINHhDLFdBQUEsWUx5Vnp5QyxPQUFRLEVBUVosSUFFSSxVQUFXLElLblcwa0UsWUFBQSxTQUFBLENBQUEsVUw2V3psRSxFQXROQSxpQkFBQSxZS3ZKMmxGLFlBQUEsY0FBQSxLQUF5SSxnQkFBQSxVTGdLbnVGLGdCQUFBLFVBQUEsT0FpT0QsRUFBRyxPTWpZSCxZQUFBLE9BV0EsS0FBQSxJQUFBLEtBQ2dCLFVBQUEsSUFDWixZTnVLSCxTQUFBLENBQUEsVUErTkQsTUFDSSxVQUFXLElBT2YsSUFBSyxJQUNELFNBQVUsU0FDVixlQUFnQixTTXZYcEIsVUFBQSxJQUlRLFlOaUtQLEVBdU5ELElNalhJLE9BQUEsT05xWEosSUFDSSxJQUFLLE1BUVQsSUEvTUEsYUFBQSxLQVNFLE9BQUEsTUFBZSxTQUFBLE9BQUEsU01wSmpCLE9BQUEsRUFDSSxVQUFlLEtBQ2xCLFlBQUEsUU5xSnFCLFlBQUEsS09qT3BCLE9BQUEsTVA2T0YsU0FBQSxRQXlOQSxPQUFRLE9BOU1MLGVBQUEsS0FNRixjQUFBLGFBQUEsY094T0MsT1B5YkUsbUJBQW9CLE9BeE12QixnQ0FBQSwrQkFBQSxnQ0FBQSx5QkErTUcsUUFBUyxFQTdNYixhQUFBLEtBTXlDLDZCQUFBLDRCQUFBLDZCQUFBLHNCQUN2QyxRQUFBLElBQUEsT090T0MsV1AyZEgsU0E3T0UsUUFBQSxNQUFBLE1PcE9GLE9QOE9FLE9BOE1FLFFBQVMsTUEzTWIsV0FBQSxXQUdBLFFBQUEsRUFFRyxVQUFBLEtBR0QsTU9wT0MsUVB1T0gsWUFBQSxPQWdOQSxTQXJNQSxlQUFBLFNBUUEsU0FxTUksU0FBVSxLQWpoQkcsZ0JBQUEsYUFDYixXR0hKLFdITUEsUUFBQSxFQ0FJLHlDQUFBLHlDRFFBLE9BQUEsS0NBSixjRFJRLGVBQUEsS0NZSixtQkFBQSxVRGhCYyx5Q0FEZCxtQkRFYyxLRUVsQiw2QkFJSSxLRFFDLFFBR0wsbUJBQUEsT0FBQSxRQ0tJLFFBQUEsTUQwakJKLFFBN2lCQSxRQUFBLFVBQUEsU0V0Q0EsUUFBQSxLRk1RLFNBOENSLFFBQUEsS0FtakJBLEtBMWlCQSxXQUFBLEtBQ0ksT0FBQSxLQUNBLFVFNUNRLE1GaURaLEtFeENRLFFBQUEsWUFDQSxRQUFBLEtBR0osbUJGNENILE9BUkQsZUFBQSxPRWxDUSxXQUFBLE9BR0osV0RyQ0osS0RvbkJJLE9BQVEsS0F0aUJaLFdBQUEsUUFDSSxNRXBDdUIsZUZvQ3ZCLFVFbkNRLEtGbUNSLFVBS0gsT0FxaUJHLFlBQWEsV0FBVyxDQUFFLFNBQVMsQ0FBRSxnQkFBZ0IsQ0FBRSxLQUFLLENBQUUsV0t6bkJ3VixZQUFBLElBQTZFLFVMNm5CbmUsU0FBVSxFQWxpQmQsS0FBQSxFQUVJLHlCSzdGd3lCLEtMa29CcHlCLFVBQVcsS0tsb0JpekIsVUFBQSxRTHVvQnAwQixFQWhpQkEsV0FBQSxXQW9pQkEsR0szb0JnK0IsR0FBQSxHQUFBLEdMdUdoK0IsV0FBQSxLS3ZHK2hDLGNBQUEsS0w2R3ZoQyxZQUFBLElBa2lCSixZQUFhLFdBQVcsQ0FBRSxTQUFTLENBQUUsZ0JBQWdCLENBQUUsS0FBSyxDQUFFLFdLL29CdWpDLFlBQUEsSUFBbUQseUJBQXVCLEdBQUEsR0FBQSxHQUFBLEdBQWUsV0FBQSxLQUEyRCxjQUFBLE1MTXJ3QyxLQUFBLEtBQUEsS0FBQSxLS05pbkMsT0FBQSxFTDRwQnpuQyxHSzVwQm9nRCxlQUFBLEtBQTZCLFVBQUEsS0FBaUksVUFBQSxPQUErRyx5QkxrcUI3d0QsR0tscUJpMUQsVUFBQSxLQUFtSixVQUFBLE1BQTZJLHlCQUE0QixHQUFtQixVQUFBLEtBQXFCLFVBQUEsUUFBNEMseUJBQWhaLEdBQXlaLFVBQUEsS0xnckJ0dUUsVUFBVyxNQUluQixHS3ByQjY0RSxVQUFBLEtMc0o3NEUsVUFBQSxPQWtpQkEseUJBdGhCQSxHS2xLdTNGLFVBQUEsS0xrS3YzRixVQUFBLE1NbEtBLHlCTityQkksR0FwaEJKLFVBQUEsS0FDSSxVQU1ILFFBbWhCRCxHQUNJLFVBQVcsS0FsaEJmLFVBQUEsS0FxaEJBLHlCTXJyQkEsR0FDSSxVTnFLSCxLQWtoQk8sVUFBVyxRQUluQixHTWxyQkksWUFBQSxJTm1LQSxVQUFBLEtNaEtKLFVBQUEsT05xckJBLEVNaHJCQSxNQUFBLEtBQUEsZ0JBQUEsS0FBQSxXQUFBLElBSXVCLElOMkp2QixRTXJKbUIsYUFBQSxLQUNmLE1BQUEsS0FJQSxXQUFBLE9BQUEsT0FBQSxLQUFBLE9OMnFCSixFQUNJLGFBQWMsRUEzZ0JsQixjQUFBLEtNMUpBLFlBQUEsRU4wcUJBLE1EdHVCQSxRQUFBLEtDQ0ksV0FBb0IsUUdEeEIsS0hLSSxRQUFBLElBQ0EsaUJBa0VILFFEeEVELFdBQUEsUUFBQSxFQUFBLEVBQUEsSUNpdkJBLElDM3VCSSxlQW9CZSxNRjFCbkIsVUFBQSxLRVFBLFVBQUEsT0ZSQSxXRWVJLGFBQUEsS0RRWSxZQUFBLElBQWMsTUFBQSxRQ045QixZQUFBLFlBQUEsQ0FBQSxNRFNnQixlQW11QlosT0FBUSxLQW51QkksWUNMaEIsTUFBQSxlRDR1QkEsRUMxdUJtQixRQUFBLE1BRWYsV0FBQSxPQUNlLFdBQUEsT0YxQm5CLFVBQUEsS0U2QkEsWUFBQSxZQUFBLENBQUEsTUFPUSxRQUFBLFNBRUosUUFBQSxLQUVlLHlCRG91QmYsRUQ1d0JKLFdBQUEsS0U0Q0ksY0N0Q0ksS0hOUixZQUFBLEtHQUEsWUFDa0IsZ0JIRGxCLFVBQUEsS0tNUSxVRkRKLGtCSExKLE1BQUEsS0dVWSxNQUFBLG1CSFZaLEtHbUJZLFFBQUEsTUFDQSxNQUFBLEtBSVIsZUFBQSxXQUNJLFdBQUEsT0FDQSxVQUFBLEtBQUEsVUFBQSxPQUNBLFlBQUEsV0FBQSxDQUFBLFNBQUEsQ0FBQSxnQkFBQSxDQUFBLEtBQUEsQ0FBQSxXQUNBLE9Gc3dCSixPRXR3QkksS0FDQSxNQUFBLFFIN0JSLFlDQ0ksUUFBYyxjQXd5QmQsR0FBSixHQW55QlEsV0FBQSxLQUR1QixjQUFBLEtETC9CLFlBQUEsS0NNWSxRQUFBLEVBQ0EsTUF3eUJaLE1DL3lCQSxPQUFBLEVEbXpCQSxHQXh5QmdCLFdBQUEsT0EyeUJULE1BQVAsTUR0ekJBLFdBQUEsRUVTSSxjQUFBLEVEZ3pCQSxZQ2h6QkEsS0RtekJKLEdBcnlCcUMsV0FBQSxRQ05yQyxNRDh5QkEsTUM5eUJBLFdBQUEsRUFDSSxjQUFBLEVBQUEsWUFBQSxLRG16QkosR0MveUJJLFdBQUEsT0RtekJKLE9EejBCQSxZQUFBLElBQUEsS0lBQSxRQUFBLElIS0ssSURMTCxXQUFBLFFDT1EsTUFBQSxLQ1BSLFVBQUEsS0ZBQSxVQUFBLE9FRUksWURTSyxXQUFBLENBQUEsUUFBQSxDQUFBLGlCQUFBLENBQUEsY0EyMEJULElDMTBCSSxXQUFBLEtEUUksYUFBQSxLQ05SLGNBQUEsS0RrQlEsWUNIUixLRjdCQSxVQUFBLFdBQUEsU0N1QlksUUFBQSxFQ05aLFdBQUEsSUFDSSxVQUFBLEtEUVEsVUFBUSxPQ0xwQixZQUFBLFdBQUEsQ0FBQSxRQUFBLENBQUEsaUJBQUEsQ0FBQSxjRGcxQkEsR0RyMkJBLE9BQUEsSUVpQ0EsT0FBQSxFQUNJLFdBQUEsUUFJQSxRQUFBLFdBQUEsUUFDSSxNQUFBLEtBQUEsZUFBZ0IsVUFDaEIsVUFBQSxLQUFBLFVBQUEsT0FHUixnQkFBQSxHREdRLGtCRDlDUixRQUFBLEtBQUEsS0NpRHlCLDBCSTNDakIsT0FBQSxFQUFBLEtGT0osVUFBQSxNQVB1QixzQ0FDbkIsV0FBQSxFQUdJLHFDSFZaLGNBQUEsRUd5QlEsc0NGbkJBLFFBQUEsYUROUixZQUFBLElDbTRCSSxNRS8yQlEsTUhwQlosT0FBQSxNRzRCUSxXQVdBLFFIdkNSLGVBQUEsWUdnQ0ksV0FBQSxJQU1JLElBQUEsS0FKQSxtQkFHSiw4QkhyQ0osV0FBQSw4QkcyQ1ksa0JBQWUsUUFDZixVQUFBLFFBR1Isb0JBQUEsVUFBQSxZQUFBLFVBQ2MsNENBQ1YsaUJBQUEsS0YzQ0EsZ0JETlIsUUFBQSxLQUFBLEtNQXVhLFdBQUEsUU5BdmEsd0JNQThwQixPQUFBLEVBQUEsS0xNdHBCLFVBQUEsTUtOc3VFLDBCTkE5dUUsTUFBQSxLRTBCbUIsZ0NJMUJ5M0IsTUFBQSxLTkE1NEIsd0NNQTY3QixNQUFBLFFOQTc3QixVTUFzL0IsYUFBQSxvQkFBeUMsTUFBQSxLQUFnQyxnQkFBcUMsYUFBQSxLQUF3RSxlQUF1QixRQUFBLGFOQW5zQyxNQUFBLE1DODZCSSxPSzk2Qnl3QyxNTkE3d0MsV0FBQSxRTUFxN0MsZUFBQSxZQUE0QyxtQkFBQSx5QkFBbUMsV0FBQSx5QkFBNkIsa0JBQWtCLFFBQStHLFVBQTZrQixRTkEvdUUsb0JBQUEsVU1BaXhELFlBQUEsVUwwN0JqeEQsV0sxN0JxMUQsUUFBQSxZQUFtSixRQUFBLEtMd0lwOUQsbUJBQUEsT0t4SXFrRSxlQUFBLE9BQXdELHlCTkFqcEUseUJNQTJzRSxXQUFPLFFBQUEsU0xvOEJ0c0UsUUFBYSxLQW44QnJCLFNBQW1CLEtDRHZCLGlCQUFBLG9CQUFBLFdEbURDLHNCQUFBLG1DQTdDTyxlQUFBLE1BQWMsaUJBQ2QsY0FBQSxFQURBLCtCRE5SLFdBQUEsS0VLQSwwQkFDSSxnQkQ2Q0gsS0FBQSxFQTdDTyxZQUFBLEtBQUEsRUNHSiwrQkRRSSxrQkFBQSxFQ05SLGFBQUEsS0R3Q0MsR0RuREQsNkJDdUJZLFdEdkJaLFFBQUEsWUVxQkEsUUFBQSxLRnJCQSxtQkFBQSxJRXlCSSxlQUFBLElET29CLGNBQUEsS0kxQmhCLFVBQUEsS0o2QmMsaUJDRnRCLE1BaENJLGlCQWtDSSxpQ0FDQSxZRE9DLE9EM0NULFFHQUEsV0FBQSxLRisrQkksTUFBTyxxQkE5K0JQLFVDREosTUFBQSxLRkFBLGFDR1EsV0FBQSxLQUdBLE1BQUEsZUFBQSxlRE5SLE1BQUEsS0NXUSxvQkRYUixTQUFBLFNDaUJnQixXQUFjLEtEakI5QixvQkFBQSxPQ29CZ0IsZ0JDTmhCLE1Eay9CSSxNQUFPLHFCRGhnQ1gsTUFBQSxLRUFBLHNCRE1RLE1BQUEsS0FIQSwwQkFHQSxRQUFBLEdETlIsU0FBQSxTQ01RLElBQUEsRUROUixLQUFBLEVFRUksUUFBQSxFRFNJLE1BQUEsS0RYUixPQUFBLEtDaUJnQixXQ05oQixlRFNnQixxQkE2L0JaLFNBQVUsU0RqaENkLFFBQUEsR0NDSSxRQUFvQixZRER4QixRQUFBLEtBR2tCLG1CQUFBLElFdUJDLGVBakJmLElGVEosY0FBQSxRRUVJLFNBQUEsT0ZGSixXQUFBLEtFTUksVUFBQSxLRHFoQ0EsVUFBVyxPRDNoQ2YsWUFBQSxLQUFBLGdCQUFBLGNNQTRoQixrQ05BNWhCLE1BQUEsS0VBQSxhQUFBLEtBQ0ksT0FBQSxLQUNBLFlBQUEsSUZGSixnREVTMEIsT0FBQSxLQUFBLEVGVDFCLFFBQUEsRUN5aUNJLE1BM2hDd0IsS0RkNUIsT0FBQSxLQ29CNEMsdUNDTjVDLFFBQUEsS0FFQyxZQUFBLElBQ0QseUJBWkEsdUNEcUJnQyxRQUFBLFFEMUJoQyx5Q0NzakNJLE1DNWhDZSxNQVFmLGdERHVoQ0EsT0FBUSxFQ2poQ08sbUREb2hDZixRQ3BoQ2UsYUN4Q25CLGNGK2pDSSxTRS9qQ0osU0hBQSxRQUFBLEdHTTJCLFFBQUEsWUY0akN2QixRRTVqQ3VCLEtITjNCLG1CQUFBLE9HYUksZUFBQSxPRndqQ0EsV0V4akNBLG1CSGJKLE9BQUEsTUdrQnNCLHlCSGxCdEIsY0cwQndCLE9BQUEsT0FPRix5QkFBQSxjSGpDdEIsT0FBQSxPQUFBLDBCRytDSSxjRnFpQ0ksT0VyaUNKLE9Gd2lDSiw0QkR2bENBLE9BQUEsS0M2RlEsVUFBQSxNQTYvQkosTUFBTyxrQkQxbENYLE1BQUEscUJFQUEsOEJFQUEsV0FBQSxLSkFBLGNBQUEsS0VBQSwrQkRrbUNJLFdBQVksRURsbUNoQixNQUFBLEtBR2tCLG1DSUhsQixVRlNJLE1GVEosTUFBQSxLQUFBLDhCRUFBLE1BQUEscUJGQUEsZ0JBQUEsT0VNSSxvQ0RRUSxNQUFBLEtEZFosd0NDRVEsUUFBZSxNQUNmLFNEQVUsS0lIbEIsV0FBQSxLSEtRLE1BQUEsS0FDQSxVQUFBLEtBQ0EsVUFBQSxPRFBSLDBDQ1dRLFFBQWEsYUNOckIsTUFBQSxLQUNJLGFBQUEsSURRZSxjQUFBLElDTm5CLFFBQUEsSUFDSSxPQUFBLElBQUEsTUFDSCxxQkRPTyxXSVhBLElKQUEsTUFBQSxxQkROUixlQUFBLFVFWUksWUFBQSxFQUlILGdERE9XLFdBQWUsS0NOM0IsTUFBQSxlRFNnQix5QkQxQmhCLFNBQUEsU0V1Qm1CLFdBQUEsS0RqQlgsTUFBQSxLQ29CVyx5QkRwQlgseUJETlIsT0FBQSxNRThCSSxvQkFNSSxPRDlCQSxnQkFBQSxPRE5SLHlCRXVDd0IseUJBQ0wsT0FBQSxNRnhDbkIsb0JBQUEsT0M4Q1ksZ0JBQW1CLE9BOG1DL0IsMEJENXBDQSx5QkNFUSxPQUFBLE1EQ1Usb0JBQUEsT0lIbEIsZ0JBQUEsT0hPUSwyQkNQUixNQUFBLEtJQWlwRSxpQ05BanBFLE1BQUEsS0FBQSw0Q0MwQlksV0FBWSxlQ0pwQix1Q0FDSSxTQUFXLFNBRWYsV0FB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LS0tLS0tLS1cbkltcG9ydCBhbGwgcmVsZXZhbnQgZmlsZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwidXRpbHMvX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInV0aWxzL19taXhpbnNcIjtcbkBpbXBvcnQgXCJ1dGlscy9fYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcInV0aWxzL19oZWxwZXJzXCI7XG5cbkBpbXBvcnQgXCJ2ZW5kb3JzL19mbHVpZGJveC5taW4uc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvcnMvX2hpZ2hsaWdodGpzLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3JzL19ub3JtYWxpemUuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX2Jhc2Uuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX3R5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9faGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fYXV0aG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9faG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwicGFnZXMvX3BhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19wb3N0LnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fdGFnLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ibG9nLW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLWZvcm1hdHRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS1nYWxsZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb250ZW50LS1tZWRpYS0tbGlnaHRib3guc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS12aWRlb3Muc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mZWVkLS1wb3N0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mZWVkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3NcIjsiLCIvKiBNQUlOXG4tLS0tLS0tLS0tLS0tLS1cbkltcG9ydCBhbGwgcmVsZXZhbnQgZmlsZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgdXAgdGhlIHZhcmlhYmxlcy4gRGVmYXVsdCBmb250cywgY29sb3JzLCB3aWR0aHMgYW5kIGJyZWFrcG9pbnRzLlxuLS0tLS0tLS0tLS0tLS0tICovXG4uYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5kZWxheS0xIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1czsgfVxuXG4uZGVsYXktMiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41czsgfVxuXG4uZGVsYXktMyB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC43NXM7IH1cblxuLmRlbGF5LTQge1xuICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG5cbi5kZWxheS01IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmFkZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5hbGlnbmxlZnQsIC5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gICAgLmFsaWdubGVmdCBpbWcsIC5hbGlnbnJpZ2h0IGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xNjBweDsgfVxuICAgIC5hbGlnbmxlZnQgcSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIGJsb2NrcXVvdGUuYWxpZ25sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIHEuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuICAgIC5hbGlnbnJpZ2h0IHEsIC5hbGlnbnJpZ2h0cSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgcS5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xODBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xODBkZWcpOyB9IH1cblxuLmZsdWlkYm94IHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmx1aWRib3hfX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogem9vbS1vdXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLTEwMCU7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmZsdWlkYm94LS1vcGVuZWQgLmZsdWlkYm94X19vdmVybGF5IHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLmZsdWlkYm94X193cmFwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0OyB9XG5cbi5mbHVpZGJveC0tY2xvc2VkIC5mbHVpZGJveF9fdGh1bWIsIC5mbHVpZGJveF9fdGh1bWIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMHMgZWFzZS1pbi1vdXQgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgZWFzZS1pbi1vdXQgMHM7IH1cblxuLmZsdWlkYm94X19naG9zdCB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDBzLHRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMHMsdHJhbnNmb3JtIC41cyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7IH1cblxuLmZsdWlkYm94LS1vcGVuZWQgLmZsdWlkYm94X19naG9zdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX2dob3N0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgLjVzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsdHJhbnNmb3JtIC41cyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7IH1cblxuLmZsdWlkYm94X19sb2FkZXIge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDIwMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLmZsdWlkYm94X19sb2FkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgY29udGVudDogJyc7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjAlO1xuICBwYWRkaW5nLWJvdHRvbTogMjAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC41cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuXG4uZmx1aWRib3gtLWxvYWRpbmcgLmZsdWlkYm94X19sb2FkZXIge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0IC41cztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQgLjVzOyB9XG5cbi5mbHVpZGJveC0tbG9hZGluZyAuZmx1aWRib3hfX2xvYWRlcjpiZWZvcmUge1xuICAtd2Via2l0LWFuaW1hdGlvbjogYSAxcyAwcyBpbmZpbml0ZSBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgYW5pbWF0aW9uOiBhIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzOyB9XG5cbi5obGpzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5obGpzLWNvbW1lbnQsIC5obGpzLXRlbXBsYXRlX2NvbW1lbnQsIC5kaWZmIC5obGpzLWhlYWRlciwgLmhsanMtamF2YWRvYyB7XG4gIGNvbG9yOiAjOTk4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmhsanMta2V5d29yZCwgLmNzcyAucnVsZSAuaGxqcy1rZXl3b3JkLCAuaGxqcy13aW51dGlscywgLmphdmFzY3JpcHQgLmhsanMtdGl0bGUsIC5uZ2lueCAuaGxqcy10aXRsZSwgLmhsanMtc3Vic3QsIC5obGpzLXJlcXVlc3QsIC5obGpzLXN0YXR1cyB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGxqcy1udW1iZXIsIC5obGpzLWhleGNvbG9yLCAucnVieSAuaGxqcy1jb25zdGFudCB7XG4gIGNvbG9yOiAjMDk5OyB9XG5cbi5obGpzLXN0cmluZywgLmhsanMtdGFnIC5obGpzLXZhbHVlLCAuaGxqcy1waHBkb2MsIC50ZXggLmhsanMtZm9ybXVsYSB7XG4gIGNvbG9yOiAjZGQxMTQ0OyB9XG5cbi5obGpzLXRpdGxlLCAuaGxqcy1pZCwgLmNvZmZlZXNjcmlwdCAuaGxqcy1wYXJhbXMsIC5zY3NzIC5obGpzLXByZXByb2Nlc3NvciB7XG4gIGNvbG9yOiAjOTAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uamF2YXNjcmlwdCAuaGxqcy10aXRsZSwgLmxpc3AgLmhsanMtdGl0bGUsIC5jbG9qdXJlIC5obGpzLXRpdGxlLCAuaGxqcy1zdWJzdCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmhsanMtY2xhc3MgLmhsanMtdGl0bGUsIC5oYXNrZWxsIC5obGpzLXR5cGUsIC52aGRsIC5obGpzLWxpdGVyYWwsIC50ZXggLmhsanMtY29tbWFuZCB7XG4gIGNvbG9yOiAjNDU4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGxqcy10YWcge1xuICBjb2xvcjogIzAwMDA4MDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuaGxqcy10YWcgLmhsanMtdGl0bGUge1xuICAgIGNvbG9yOiAjMDAwMDgwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmhsanMtcnVsZXMgLmhsanMtcHJvcGVydHksIC5kamFuZ28gLmhsanMtdGFnIC5obGpzLWtleXdvcmQge1xuICBjb2xvcjogIzAwMDA4MDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaGxqcy1hdHRyaWJ1dGUsIC5obGpzLXZhcmlhYmxlLCAubGlzcCAuaGxqcy1ib2R5IHtcbiAgY29sb3I6IHRlYWw7IH1cblxuLmhsanMtcmVnZXhwIHtcbiAgY29sb3I6ICMwMDk5MjY7IH1cblxuLmhsanMtc3ltYm9sLCAucnVieSAuaGxqcy1zeW1ib2wgLmhsanMtc3RyaW5nLCAubGlzcCAuaGxqcy1rZXl3b3JkLCAudGV4IC5obGpzLXNwZWNpYWwsIC5obGpzLXByb21wdCB7XG4gIGNvbG9yOiAjOTkwMDczOyB9XG5cbi5obGpzLWJ1aWx0X2luLCAubGlzcCAuaGxqcy10aXRsZSwgLmNsb2p1cmUgLmhsanMtYnVpbHRfaW4ge1xuICBjb2xvcjogIzAwODZiMzsgfVxuXG4uaGxqcy1wcmVwcm9jZXNzb3IsIC5obGpzLXByYWdtYSwgLmhsanMtcGksIC5obGpzLWRvY3R5cGUsIC5obGpzLXNoZWJhbmcsIC5obGpzLWNkYXRhIHtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5obGpzLWRlbGV0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZGRkZDsgfVxuXG4uaGxqcy1hZGRpdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNkZGZmZGQ7IH1cblxuLmRpZmYgLmhsanMtY2hhbmdlIHtcbiAgYmFja2dyb3VuZDogIzAwODZiMzsgfVxuXG4uaGxqcy1jaHVuayB7XG4gIGNvbG9yOiAjYWFhYWFhOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IH1cblxuYm9keSB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIGJvZHkgbWFpbiB7XG4gICAgZmxleDogMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaDEsIGgyLCBoMywgaDQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgaDEgYSwgaDIgYSwgaDMgYSwgaDQgYSB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmgxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1zaXplOiAzLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBmb250LXNpemU6IDVyZW07IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cblxuaDQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIGE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG5wLCBibG9ja3F1b3RlLCBmaWd1cmUsIGNhbnZhcywgaWZyYW1lLCBmb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubm90ZSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxubWFyayB7XG4gIHBhZGRpbmc6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZERkZCNjtcbiAgYm94LXNoYWRvdzogI0ZERkZCNiAwIDAgNXB4OyB9XG5cbnN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXNpemU6IDEuM3JlbTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7IH1cbiAgYmxvY2txdW90ZSBpbWcge1xuICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5xIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEyNSU7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIiwgc2VyaWY7IH1cbiAgcTpiZWZvcmUsIHE6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgcSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgLSAyMHB4KTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTsgfSB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNjY2NjY2M7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgY2l0ZSBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMjAwOVwiOyB9XG5cbnVsLCBvbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIHVsIGxpLCBvbCBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlOyB9XG4gIHVsIHVsLCB1bCBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuICBvbCB1bCwgb2wgb2wge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgYmFja2dyb3VuZDogI0YxRjFGMTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7IH1cblxucHJlIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIHByZSBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7IH1cblxuaHIge1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuICAjZm9vdGVyIC5jb2xvcGhvbiB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4OyB9XG4gICAgI2Zvb3RlciAuY29sb3Bob24gc2VjdGlvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uIC5naG9zdC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgICB3aWR0aDogNC4yZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICM5ODk4OTg7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ2hvc3QtbG9nby5zdmcpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZTsgfVxuICAgICAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uIC5naG9zdC1sb2dvOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAjZm9vdGVyIC5ib3R0b20ge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMWExOTE5OyB9XG4gICAgI2Zvb3RlciAuYm90dG9tIHNlY3Rpb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgICAjZm9vdGVyIC5ib3R0b20gc2VjdGlvbiBhIHtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgICAgI2Zvb3RlciAuYm90dG9tIHNlY3Rpb24gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgI2Zvb3RlciAuYm90dG9tIHNlY3Rpb24gYSBpLmZhLmZhLWhlYXJ0IHtcbiAgICAgICAgICBjb2xvcjogI2Q4NTE1MTsgfVxuICAjZm9vdGVyIGEge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICNmb290ZXIgYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkY7IH1cbiAgI2Zvb3RlciAuaGVhcnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEuM2VtO1xuICAgIHdpZHRoOiAxLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmY0ZDRjO1xuICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvaGVhcnQuc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLmZlZWQuZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuZmVlZC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoNTAwcHgsIDFmcikpO1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7IH1cbiAgICAgICAgLmZlZWQuZ3JpZCAucG9zdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgIC5mZWVkLmdyaWQgLnBvc3QudGFnLWhhc2gtdGFsbCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoOyB9XG4gICAgICAgICAgLmZlZWQuZ3JpZCAucG9zdC5mZWF0dXJlZCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gICAgICAgICAgLmZlZWQuZ3JpZCAucG9zdC50YWctaGFzaC10YWxsIHtcbiAgICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICBAc3VwcG9ydHMgbm90IChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuZmVlZC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgIC5mZWVkLmdyaWQgLnBvc3Qge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpOyB9XG4gICAgICAgICAgLmZlZWQuZ3JpZCAucG9zdDpudGgtb2YtdHlwZSgybikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfSB9XG5cbi5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAuaGVhZGVyIGEge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuaGVhZGVyLmhvbWUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAuaGVhZGVyLmhvbWUgYSB7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgLmhlYWRlci5jb3Zlci1pbWFnZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmhlYWRlci5jb3Zlci1pbWFnZSBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5oZWFkZXIuY292ZXItaW1hZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLmhlYWRlciAuaGVhZGVyLS10b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBhLmJsb2ctdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBhLmJsb2ctdGl0bGUgaW1nLmJsb2ctbG9nbyB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLmhlYWRlciAuaGVhZGVyLS10b3AgLmJsb2ctZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCAuYmxvZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bC5uYXYge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bC5uYXYgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuaGVhZGVyIC5oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICBoZWlnaHQ6IDUwMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAuaGVhZGVyIC5oZXJvIHtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5oZXJvIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgLmhlYWRlciAuaGVybyB7XG4gICAgICAgIGhlaWdodDogNzAwcHg7IH0gfVxuICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgaDEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IGgxIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDsgfVxuICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IGEge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZDsgfVxuICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgLnBvc3QtLXRhZ3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCAucG9zdC0tdGFncyBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IC5wb3N0LS10YWdzIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgfVxuXG4uYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiBncmF5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgYSB7XG4gICAgY29sb3I6IGdyYXk7IH1cbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCAuYmxvZy10aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IC5ibG9nLXRpdGxlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmxpbmtzIGEge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IC5saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5wYWdlLXRlbXBsYXRlIC5tYWluIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZSAubWFpbiB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH0gfVxuICAucGFnZS10ZW1wbGF0ZSAubWFpbiAucGFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgIC5wYWdlLXRlbXBsYXRlIC5tYWluIC5wYWdlIC5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4gLnBhZ2UgLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucG9zdC10ZW1wbGF0ZSAubWFpbiB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAucG9zdC10ZW1wbGF0ZSAubWFpbiB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLnBvc3QtdGVtcGxhdGUgLm1haW4ge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9IH1cbiAgLnBvc3QtdGVtcGxhdGUgLm1haW4gLnBvc3Qge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAucG9zdC10ZW1wbGF0ZSAubWFpbiAucG9zdCAuY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIC5wb3N0IC5jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRhZy10ZW1wbGF0ZSAubWFpbiB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgLnRhZy10ZW1wbGF0ZSAubWFpbiAudGFnIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgLnRhZy10ZW1wbGF0ZSAubWFpbiAudGFnIC50YWctY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC50YWctdGVtcGxhdGUgLm1haW4gLnRhZyAudGFnLWNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtZ2l0aHViaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ2l0aHViLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LXR3aXR0ZXJpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy90d2l0dGVyLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LXJzc2ljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Jzcy5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1mYWNlYm9va2ljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhY2Vib29rLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWRvd25sb2FkaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZG93bmxvYWQuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtaW1hZ2VpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9pbWFnZS5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi10dW1ibHJpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy90dW1ibHIuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtc3RlYW1pY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9zdGVhbS5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1nb29nbGVwbHVzaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ29vZ2xlLXBsdXMuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtY2FtZXJhaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvY2FtZXJhLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5oZWFkZXIuY292ZXItaW1hZ2UgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSBhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5jb250ZW50IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgLmNvbnRlbnQgYTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5jb250ZW50IC5nYWxsZXJ5IHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRlbnQgLmdhbGxlcnkgYSB7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLmNvbnRlbnQgLmdhbGxlcnkgYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jb250ZW50IC5nYWxsZXJ5IGltZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uY29udGVudCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgLSAyMHB4KTsgfVxuXG4uY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlIHtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2ODBweDsgfSB9XG4gICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLXdpZGUge1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS13aWRlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLXdpZGUge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLXdpZGUge1xuICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OyB9IH1cbiAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2UtZnVsbCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGZpZ2NhcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7IH1cblxuLmZlZWQgLnBvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1pbi1oZWlnaHQ6IDI1dmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NTg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5mZWVkIC5wb3N0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5mZWVkIC5wb3N0Lmhhcy1pbWFnZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdG9wLWNvbnRlbnQsIC5mZWVkIC5wb3N0IC5wb3N0LS1ib3R0b20tY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXRvcC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3MgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFncyBhOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzOmhvdmVyIGEge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzOmhvdmVyIGE6bm90KDpudGgtb2YtdHlwZSgxKSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mZWVkIC5wb3N0OmhvdmVyIC5wb3N0LS10YWdzIGE6bm90KDpudGgtb2YtdHlwZSgxKSkge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tdGl0bGUgYSB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLWV4Y2VycHQge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXJlYWQtdGltZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLW1ldGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLW1ldGEgLmF1dGhvciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5mZWVkIC5wb3N0IC5wb3N0LS1tZXRhIC5hdXRob3IgYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmZlZWQgLnBvc3QgLnBvc3QtLW1ldGEgLmF1dGhvciBhOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS1ib3R0b20tY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHJpZ2h0OiAzMHB4OyB9XG5cbi5mZWVkIHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG5uYXYucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7IH1cbiAgbmF2LnBhZ2luYXRpb24gLm5ld2VyLXBvc3RzLCBuYXYucGFnaW5hdGlvbiAub2xkZXItcG9zdHMge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICBuYXYucGFnaW5hdGlvbiAucGFnZS1udW1iZXIge1xuICAgIGNvbG9yOiBncmF5O1xuICAgIG1hcmdpbjogMCAyMHB4OyB9XG4iLCIuYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmRlbGF5LTEge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG59XG4uZGVsYXktMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xufVxuLmRlbGF5LTMge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC43NXM7XG59XG4uZGVsYXktNCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbn1cbi5kZWxheS01IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMjVzO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4uZmFkZUluIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5mYWRlSW5VcCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuIiwiLmhpZGRlbntcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2Upe1xyXG4gICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHR7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWxpZ25sZWZ0e1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTYwcHg7XHJcbiAgICAgICAgcXtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrcXVvdGUuYWxpZ25sZWZ0e1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIGRhcmtlbigkd2hpdGUsIDEwJSk7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcS5hbGlnbmxlZnR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuYWxpZ25yaWdodHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTYwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJlbTtcclxuICAgICAgICBxLCAmcXtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBxLmFsaWducmlnaHR7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn0iLCIvKiBWQVJJQUJMRVNcbi0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyB1cCB0aGUgdmFyaWFibGVzLiBEZWZhdWx0IGZvbnRzLCBjb2xvcnMsIHdpZHRocyBhbmQgYnJlYWtwb2ludHMuXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGZvbnQ6IFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRpbmc6ICRmb250O1xuJGZvbnQtbW9ub3NwYWNlOiBcIkluY29uc29sYXRhXCIsIENvbnNvbGFzLCBcIkRyb2lkIFNhbnMgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCI7XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNGRkZGRkY7XG4kdHJhbnNwYXJlbnQtZ3JleTogcmdiYSgwLDAsMCwuOCk7XG4kZGFyay1ncmV5OiAjMjAyMDIwO1xuJGdyZXk6IGxpZ2h0ZW4oJGJsYWNrLCA1MCUpO1xuJGxpZ2h0LWdyZXk6IGRhcmtlbigkd2hpdGUsIDI1JSk7XG5cblxuJGh1Z2U6IDE0MDBweDtcbiRsYXJnZTogMTAwMHB4O1xuJG1lZGl1bTogODAwcHg7XG4kc21hbGw6IDU1MHB4O1xuJHRpbnk6IDQwMHB4O1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICBcImh1Z2VcIjogKG1pbi13aWR0aDogJGh1Z2UpLFxuICAgIFwibGFyZ2VcIjogKG1pbi13aWR0aDogJGxhcmdlKSxcbiAgICBcIm1lZGl1bVwiOiAobWluLXdpZHRoOiAkbWVkaXVtKSxcbiAgICBcInNtYWxsXCI6IChtaW4td2lkdGg6ICRzbWFsbCksXG4gICAgXCJ0aW55XCI6IChtaW4td2lkdGg6ICR0aW55KSxcbik7XG5cblxuJHdyYXBwZXItd2lkdGg6IDYwMHB4O1xuJGd1dHRlcjogMjBweDsiLCIvLy8gUmVzcG9uc2l2ZSBtYW5hZ2VyLlxyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnRcclxuLy8vIEByZXF1aXJlcyAkYnJlYWtwb2ludHNcclxuQG1peGluIHJlc3BvbmQtdG8oJGJyZWFrcG9pbnQpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgQG1lZGlhICN7aW5zcGVjdChtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpKX0ge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAZXJyb3IgJ05vIHZhbHVlIGZvdW5kIGZvciBgI3skYnJlYWtwb2ludH1gLiAnXHJcbiAgICAgICAgICAgICArICdQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AgbWFwLic7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJGV4cHJlc3Npb24pe1xyXG4gICAgI3skcHJvcGVydHl9OiBjYWxjKCN7JGV4cHJlc3Npb259KTtcclxufSIsIkAtd2Via2l0LWtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKX19QGtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKX19LmZsdWlkYm94e291dGxpbmU6bm9uZX0uZmx1aWRib3hfX292ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuODUpO2N1cnNvcjpwb2ludGVyO2N1cnNvcjp6b29tLW91dDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6LTEwMCU7bGVmdDowO2JvdHRvbTotMTAwJTtyaWdodDowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX292ZXJsYXl7cG9pbnRlci1ldmVudHM6YXV0b30uZmx1aWRib3hfX3dyYXB7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX3RodW1iLC5mbHVpZGJveF9fdGh1bWJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMHMgZWFzZS1pbi1vdXQgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIGVhc2UtaW4tb3V0IDBzfS5mbHVpZGJveF9fZ2hvc3R7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3Bvc2l0aW9uOmFic29sdXRlOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDBzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwc30uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX2dob3N0e2N1cnNvcjpwb2ludGVyO2N1cnNvcjp6b29tLW91dH0uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX2dob3N0ey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cyx0cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAuNXMsdHJhbnNmb3JtIC41cyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHN9LmZsdWlkYm94X19sb2FkZXJ7b3BhY2l0eTowOy13ZWJraXQtcGVyc3BlY3RpdmU6MjAwcHg7cGVyc3BlY3RpdmU6MjAwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MH0uZmx1aWRib3hfX2xvYWRlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuODUpO2NvbnRlbnQ6Jyc7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6MjAlO3BhZGRpbmctYm90dG9tOjIwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6LXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sLXdlYmtpdC10cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uZmx1aWRib3gtLWxvYWRpbmcgLmZsdWlkYm94X19sb2FkZXJ7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXN9LmZsdWlkYm94LS1sb2FkaW5nIC5mbHVpZGJveF9fbG9hZGVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbjphIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzO2FuaW1hdGlvbjphIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzfSIsIi5obGpzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcblxyXG4uaGxqcy1jb21tZW50LCAuaGxqcy10ZW1wbGF0ZV9jb21tZW50LCAuZGlmZiAuaGxqcy1oZWFkZXIsIC5obGpzLWphdmFkb2Mge1xyXG4gICAgY29sb3I6ICM5OTg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5obGpzLWtleXdvcmQsIC5jc3MgLnJ1bGUgLmhsanMta2V5d29yZCwgLmhsanMtd2ludXRpbHMsIC5qYXZhc2NyaXB0IC5obGpzLXRpdGxlLCAubmdpbnggLmhsanMtdGl0bGUsIC5obGpzLXN1YnN0LCAuaGxqcy1yZXF1ZXN0LCAuaGxqcy1zdGF0dXMge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmhsanMtbnVtYmVyLCAuaGxqcy1oZXhjb2xvciwgLnJ1YnkgLmhsanMtY29uc3RhbnQge1xyXG4gICAgY29sb3I6ICMwOTk7XHJcbn1cclxuXHJcbi5obGpzLXN0cmluZywgLmhsanMtdGFnIC5obGpzLXZhbHVlLCAuaGxqcy1waHBkb2MsIC50ZXggLmhsanMtZm9ybXVsYSB7XHJcbiAgICBjb2xvcjogI2RkMTE0NDtcclxufVxyXG5cclxuLmhsanMtdGl0bGUsIC5obGpzLWlkLCAuY29mZmVlc2NyaXB0IC5obGpzLXBhcmFtcywgLnNjc3MgLmhsanMtcHJlcHJvY2Vzc29yIHtcclxuICAgIGNvbG9yOiAjOTAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5qYXZhc2NyaXB0IC5obGpzLXRpdGxlLCAubGlzcCAuaGxqcy10aXRsZSwgLmNsb2p1cmUgLmhsanMtdGl0bGUsIC5obGpzLXN1YnN0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5obGpzLWNsYXNzIC5obGpzLXRpdGxlLCAuaGFza2VsbCAuaGxqcy10eXBlLCAudmhkbCAuaGxqcy1saXRlcmFsLCAudGV4IC5obGpzLWNvbW1hbmQge1xyXG4gICAgY29sb3I6ICM0NTg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmhsanMtdGFnIHtcclxuICAgIGNvbG9yOiAjMDAwMDgwO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIC5obGpzLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogIzAwMDA4MDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGxqcy1ydWxlcyAuaGxqcy1wcm9wZXJ0eSwgLmRqYW5nbyAuaGxqcy10YWcgLmhsanMta2V5d29yZCB7XHJcbiAgICBjb2xvcjogIzAwMDA4MDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5obGpzLWF0dHJpYnV0ZSwgLmhsanMtdmFyaWFibGUsIC5saXNwIC5obGpzLWJvZHkge1xyXG4gICAgY29sb3I6IHRlYWw7XHJcbn1cclxuXHJcbi5obGpzLXJlZ2V4cCB7XHJcbiAgICBjb2xvcjogIzAwOTkyNjtcclxufVxyXG5cclxuLmhsanMtc3ltYm9sLCAucnVieSAuaGxqcy1zeW1ib2wgLmhsanMtc3RyaW5nLCAubGlzcCAuaGxqcy1rZXl3b3JkLCAudGV4IC5obGpzLXNwZWNpYWwsIC5obGpzLXByb21wdCB7XHJcbiAgICBjb2xvcjogIzk5MDA3MztcclxufVxyXG5cclxuLmhsanMtYnVpbHRfaW4sIC5saXNwIC5obGpzLXRpdGxlLCAuY2xvanVyZSAuaGxqcy1idWlsdF9pbiB7XHJcbiAgICBjb2xvcjogIzAwODZiMztcclxufVxyXG5cclxuLmhsanMtcHJlcHJvY2Vzc29yLCAuaGxqcy1wcmFnbWEsIC5obGpzLXBpLCAuaGxqcy1kb2N0eXBlLCAuaGxqcy1zaGViYW5nLCAuaGxqcy1jZGF0YSB7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uaGxqcy1kZWxldGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZkZGRkO1xyXG59XHJcblxyXG4uaGxqcy1hZGRpdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGRmZmRkO1xyXG59XHJcblxyXG4uZGlmZiAuaGxqcy1jaGFuZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogIzAwODZiMztcclxufVxyXG5cclxuLmhsanMtY2h1bmsge1xyXG4gICAgY29sb3I6ICNhYWFhYWE7XHJcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iXX0= */ +.animated{animation-duration:1s;animation-fill-mode:both}.delay-1{animation-delay:.25s}.delay-2{animation-delay:.5s}.delay-3{animation-delay:.75s}.delay-4{animation-delay:1s}.delay-5{animation-delay:1.25s}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}100%{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}.hidden{display:none}@media (min-width:1000px){.alignleft,.alignright{margin-bottom:1em;padding-bottom:0;width:300px}.alignleft img,.alignright img{margin:0}.alignleft{float:left;margin-right:2em;margin-left:-160px}.alignleft q{margin:0;width:initial;text-align:right}blockquote.alignleft{padding-right:20px;padding-left:0;border-right:4px solid #e6e6e6;border-left:0;text-align:right}q.alignleft{margin-top:0;text-align:right}.alignright{float:right;margin-right:-160px;margin-left:2em}.alignright q,.alignrightq{margin:0;width:initial;text-align:left}q.alignright{margin:0;text-align:left}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{margin:.67em 0;font-size:2em}hr{overflow:visible;box-sizing:content-box;height:0}pre{font-size:1em;font-family:monospace,monospace}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-size:1em;font-family:monospace,monospace}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;font-family:inherit;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{display:table;box-sizing:border-box;padding:0;max-width:100%;color:inherit;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{max-height:100%;height:100%;font-size:62.5%}body{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow-y:scroll;min-height:100%;height:100%;background:#f2f2f2;color:rgba(0,0,0,.8);font-size:14px;font-size:1.4rem;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif;line-height:1.8}@media (min-width:400px){body{font-size:18px;font-size:1.8rem}}body main{-ms-flex:1;flex:1}*{box-sizing:border-box}h1,h2,h3,h4{margin-top:30px;margin-bottom:10px;font-weight:500;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif;line-height:1.2}@media (min-width:400px){h1,h2,h3,h4{margin-top:40px;margin-bottom:10px}}h1 a,h2 a,h3 a,h4 a{border:0}h1{letter-spacing:-2px;font-size:35px;font-size:3.5rem}@media (min-width:400px){h1{font-size:40px;font-size:4rem}}@media (min-width:550px){h1{font-size:45px;font-size:4.5rem}}@media (min-width:800px){h1{font-size:50px;font-size:5rem}}h2{font-size:25px;font-size:2.5rem}@media (min-width:550px){h2{font-size:30px;font-size:3rem}}@media (min-width:800px){h2{font-size:35px;font-size:3.5rem}}h3{font-size:20px;font-size:2rem}@media (min-width:800px){h3{font-size:25px;font-size:2.5rem}}h4{font-weight:700;font-size:15px;font-size:1.5rem}a{color:#000;text-decoration:none;transition:all .2s}a:hover{border-color:#000;color:#000}blockquote,canvas,figure,form,iframe,p{margin-right:0;margin-bottom:20px;margin-left:0}.note{padding:10px;background:#e6e6e6}mark{padding:2px;background-color:#fdffb6;box-shadow:#fdffb6 0 0 5px}sup{vertical-align:super;font-size:13px;font-size:1.3rem}blockquote{padding-left:20px;border-left:4px solid #e6e6e6;font-family:"Noto Serif",serif}blockquote img{margin:20px 0!important;width:100%!important}q{display:block;text-align:center;font-style:italic;font-size:125%;font-family:"Noto Serif",serif}@media (min-width:550px){q{margin-top:40px;margin-bottom:40px;margin-left:auto;margin-left:calc(0% - 20px);max-width:100%;max-width:calc(100% + 40px);width:100%;width:calc(100% + 40px)}}q:after,q:before{display:none}cite{display:block;color:#ccc;text-transform:capitalize;font-style:normal;font-size:14px;font-size:1.4rem;font-family:"Noto Sans",Helvetica,"Helvetica Neue",Arial,sans-serif}cite a{border:none;color:inherit}cite:before{content:"\2014 \2009"}ol,ul{margin-top:10px;margin-bottom:20px;margin-left:20px;padding:0}ol li,ul li{margin:0}ul{list-style:square}ul ol,ul ul{margin-top:0;margin-bottom:0;margin-left:20px}ol{list-style:decimal}ol ol,ol ul{margin-top:0;margin-bottom:0;margin-left:20px}em{font-style:italic}strong{font-weight:700}code{padding:3px 6px;background:#f1f1f1;color:#000;font-size:15px;font-size:1.5rem;font-family:Inconsolata,Consolas,"Droid Sans Mono","Courier New"}pre{margin-top:30px;margin-right:20px;margin-bottom:10px;margin-left:20px;word-wrap:break-word}pre code{padding:0;background:0 0;font-size:15px;font-size:1.5rem;font-family:Inconsolata,Consolas,"Droid Sans Mono","Courier New"}hr{height:4px;border:0;background:#e6e6e6}#footer{background:#252525;color:#999;text-transform:uppercase;font-size:12px;font-size:1.2rem;animation-delay:1s}#footer .colophon{padding:50px 20px}#footer .colophon section{margin:0 auto;max-width:600px}#footer .colophon section:first-child{margin-top:0}#footer .colophon section:last-child{margin-bottom:0}#footer .colophon section .ghost-logo{display:inline-block;margin-left:5px;width:4.2em;height:1.3em;background:#989898;vertical-align:text-bottom;transition:.2s all ease;-webkit-mask-image:url(../images/ghost-logo.svg);mask-image:url(../images/ghost-logo.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#footer .colophon section .ghost-logo:hover{background-color:#fff}#footer .bottom{padding:20px 20px;background:#1a1919}#footer .bottom section{margin:0 auto;max-width:600px}#footer .bottom section a{color:#999}#footer .bottom section a:hover{color:#fff}#footer .bottom section a i.fa.fa-heart{color:#d85151}#footer a{border-color:rgba(255,255,255,0);color:#fff}#footer a:hover{border-color:#fff}#footer .heart{display:inline-block;width:1.3em;height:1.3em;background:#ff4d4c;vertical-align:text-bottom;-webkit-mask-image:url(../images/heart.svg);mask-image:url(../images/heart.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.feed.grid{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media (min-width:800px){@supports (display:grid){.feed.grid{display:-ms-grid;display:grid;grid-gap:20px;-ms-grid-columns:(minmax(500px,1fr)) [auto-fit];grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-auto-flow:dense}.feed.grid .post{margin-bottom:0}.feed.grid .post.tag-hash-tall{min-height:50vh}.feed.grid .post.featured{-ms-grid-column:span 2;grid-column:span 2}.feed.grid .post.tag-hash-tall{-ms-grid-row-span:2;grid-row-end:span 2}}@supports not (display:grid){.feed.grid{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.feed.grid .post{width:calc(50% - 10px)}.feed.grid .post:nth-of-type(2n){margin-left:20px}}}.header{background:#000;color:rgba(255,255,255,.7)}.header a{color:#fff}.header.home{background:#fff;color:rgba(0,0,0,.7)}.header.home a{color:#000}.header.cover-image{position:relative;background:#000;background-position:center;background-size:cover;color:rgba(255,255,255,.7);color:#fff}.header.cover-image a{color:#fff}.header.cover-image:after{content:"";position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background:rgba(0,0,0,.7)}.header .header--top{position:relative;z-index:10;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;overflow:hidden;max-height:60px;font-size:14px;font-size:1.4rem;line-height:60px;justify-content:space-between}.header .header--top a.blog-title{float:left;padding-left:20px;height:60px;font-weight:600}.header .header--top a.blog-title img.blog-logo{margin:15px 0;padding:0;width:auto;height:30px}.header .header--top .blog-description{display:none;margin-left:5px}@media (min-width:550px){.header .header--top .blog-description{display:inline}}.header .header--top nav.blog-navigation{float:right}.header .header--top nav.blog-navigation ul.nav{margin:0}.header .header--top nav.blog-navigation ul.nav li{display:inline-block}.header .hero{position:relative;z-index:10;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:calc(100vh - 60px);height:500px}@media (min-width:550px){.header .hero{height:600px}}@media (min-width:800px){.header .hero{height:700px}}@media (min-width:1000px){.header .hero{height:700px}}.header .hero .hero-content{margin:auto;max-width:600px;width:calc(100% - 40px);color:rgba(255,255,255,.7)}.header .hero .hero-content p{margin-top:1rem;margin-bottom:1rem}.header .hero .hero-content h1{margin-top:0;color:#fff}.header .hero .hero-content h1 img{max-width:400px;width:100%}.header .hero .hero-content a{color:rgba(255,255,255,.7);text-decoration:dotted}.header .hero .hero-content a:hover{color:#fff}.header .hero .hero-content .post--tags{display:block;overflow:auto;margin-top:2rem;width:100%;font-size:12px;font-size:1.2rem}.header .hero .hero-content .post--tags a{display:inline-block;float:left;margin-right:3px;margin-bottom:3px;padding:6px;border:1px solid rgba(255,255,255,.6);background:0 0;color:rgba(255,255,255,.6);text-transform:uppercase;line-height:1}.header .hero .hero-content .post--tags a:hover{background:#fff;color:#000!important}.author-template .header{position:relative;background:#000;color:gray}@media (min-width:400px){.author-template .header{height:500px;background-position:center;background-size:cover}}@media (min-width:550px){.author-template .header{height:600px;background-position:center;background-size:cover}}@media (min-width:1400px){.author-template .header{height:700px;background-position:center;background-size:cover}}.author-template .header a{color:gray}.author-template .header a:hover{color:#fff}.author-template .header .header-background{background:rgba(0,0,0,.7)}.author-template .header .blog-content{position:absolute;box-sizing:border-box;padding:0 20px;width:100%}.author-template .header .blog-content .blog-title{margin:0;color:#fff;letter-spacing:0;font-size:14px;font-size:1.4rem}.author-template .header .blog-content .blog-title:hover{color:#fff}.author-template .header .blog-content .links a{color:#fff}.author-template .header .blog-content .links a:hover{color:#fff}.page-template .main{padding:10px 20px;background:#fff}@media (min-width:800px){.page-template .main{padding:30px 20px}}@media (min-width:1000px){.page-template .main{padding:40px 20px}}.page-template .main .page{margin:0 auto;max-width:600px}.page-template .main .page .content>:first-child{margin-top:0}.page-template .main .page .content>:last-child{margin-bottom:0}.post-template .main{padding:10px 20px;background:#fff}@media (min-width:800px){.post-template .main{padding:30px 20px}}@media (min-width:1000px){.post-template .main{padding:40px 20px}}.post-template .main .post{margin:0 auto;max-width:600px}.post-template .main .post .content>:first-child{margin-top:0}.post-template .main .post .content>:last-child{margin-bottom:0}.tag-template .main{background:#fff}.tag-template .main .tag{margin:0 auto;max-width:600px}.tag-template .main .tag .tag-content>:first-child{margin-top:0}.tag-template .main .tag .tag-content>:last-child{margin-bottom:0}.header .header--top nav.blog-navigation{float:right}.header .header--top nav.blog-navigation ul{margin:0;margin-right:10px}.header .header--top nav.blog-navigation ul li{display:inline-block;margin-right:10px;font-size:14px;line-height:60px}.header .header--top nav.blog-navigation ul li[class$=icon]{margin-right:5px}.header .header--top nav.blog-navigation ul li[class$=icon] .label{display:none}.header .header--top nav.blog-navigation ul li[class$=icon] a:before{content:"";display:inline-block;margin-top:-5px;width:25px;height:25px;background-color:gray;background-size:contain;vertical-align:middle;-webkit-mask-size:contain;mask-size:contain}.header .header--top nav.blog-navigation ul li[class$=icon] a:hover:before{background-color:#000}.header .header--top nav.blog-navigation ul li.nav-githubicon a:before{-webkit-mask-image:url(../images/github.svg);mask-image:url(../images/github.svg)}.header .header--top nav.blog-navigation ul li.nav-twittericon a:before{-webkit-mask-image:url(../images/twitter.svg);mask-image:url(../images/twitter.svg)}.header .header--top nav.blog-navigation ul li.nav-rssicon a:before{-webkit-mask-image:url(../images/rss.svg);mask-image:url(../images/rss.svg)}.header .header--top nav.blog-navigation ul li.nav-facebookicon a:before{-webkit-mask-image:url(../images/facebook.svg);mask-image:url(../images/facebook.svg)}.header .header--top nav.blog-navigation ul li.nav-downloadicon a:before{-webkit-mask-image:url(../images/download.svg);mask-image:url(../images/download.svg)}.header .header--top nav.blog-navigation ul li.nav-imageicon a:before{-webkit-mask-image:url(../images/image.svg);mask-image:url(../images/image.svg)}.header .header--top nav.blog-navigation ul li.nav-tumblricon a:before{-webkit-mask-image:url(../images/tumblr.svg);mask-image:url(../images/tumblr.svg)}.header .header--top nav.blog-navigation ul li.nav-steamicon a:before{-webkit-mask-image:url(../images/steam.svg);mask-image:url(../images/steam.svg)}.header .header--top nav.blog-navigation ul li.nav-googleplusicon a:before{-webkit-mask-image:url(../images/google-plus.svg);mask-image:url(../images/google-plus.svg)}.header .header--top nav.blog-navigation ul li.nav-cameraicon a:before{-webkit-mask-image:url(../images/camera.svg);mask-image:url(../images/camera.svg)}.header .header--top nav.blog-navigation ul li:last-of-type{margin-right:10px}.header.cover-image .header--top nav.blog-navigation ul li[class$=icon] a:before{background-color:#fff}.content a{color:#000;text-decoration:underline;transition:all .2s}.content a:hover{border-color:#000;color:#000}.content .gallery{margin-left:-5px;padding:5px;width:100%}.content .gallery a{border:0}.content .gallery a:hover{border-color:transparent}.content .gallery img{margin:auto;width:auto;height:auto}.content img{display:block;margin-left:auto;margin-left:calc(0% - 20px);width:100%;width:calc(100% + 40px);height:auto}.content figure.kg-image-card{position:relative;right:50%;left:50%;margin-right:-50vw;margin-bottom:20px;margin-left:-50vw;width:100vw}@media (min-width:550px){.content figure.kg-image-card{margin-bottom:40px}}.content figure.kg-image-card img.kg-image{margin:0 auto;max-width:calc(100vw - 40px);width:initial}@media (min-width:550px){.content figure.kg-image-card img.kg-image{max-width:680px}}.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:100vw}@media (min-width:800px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:800px}}@media (min-width:1000px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:1000px}}@media (min-width:1400px){.content figure.kg-image-card img.kg-image.kg-image-wide{max-width:1200px}}.content figure.kg-image-card img.kg-image.kg-image-full{max-width:100vw;width:100vw}.content figure.kg-image-card figcaption{text-align:center;font-size:14px;line-height:50px}.feed .post{position:relative;overflow:hidden;margin-bottom:20px;padding:30px;min-height:25vh;background-color:#585858;background-position:center;background-size:cover;color:#fff}.feed .post a{color:inherit}.feed .post.has-image:after{content:"";position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:rgba(0,0,0,.7)}.feed .post .post--bottom-content,.feed .post .post--top-content{position:relative;z-index:20;max-width:800px}.feed .post .post--top-content{margin-bottom:60px}.feed .post .post--tags{display:block;overflow:auto;margin-bottom:15px;width:100%;font-size:12px;font-size:1.2rem}.feed .post .post--tags a{display:inline-block;float:left;margin-right:3px;margin-bottom:3px;padding:6px;border:1px solid rgba(255,255,255,.6);background:0 0;color:rgba(255,255,255,.6);text-transform:uppercase;line-height:1}.feed .post .post--tags a:hover{background:#fff;color:#202020!important}.feed .post .post--tags a:not(:nth-of-type(1)){opacity:0}.feed .post .post--tags:hover a{border-color:#fff;color:#fff}.feed .post .post--tags:hover a:not(:nth-of-type(1)){display:inline-block}.feed .post:hover .post--tags a:not(:nth-of-type(1)){opacity:1}.feed .post .post--title{margin:0}.feed .post .post--title a{font-size:inherit}.feed .post .post--excerpt{margin:15px 0;max-width:550px;color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--read-time{color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--meta{display:block;color:rgba(255,255,255,.6);font-size:14px;font-size:1.4rem}.feed .post .post--meta .author{color:#fff}.feed .post .post--meta .author a{border-color:transparent}.feed .post .post--meta .author a:hover{border-color:#fff}.feed .post .post--bottom-content{position:absolute;right:30px;bottom:30px;left:30px}.feed{padding:20px}nav.pagination{text-align:center;line-height:60px}nav.pagination .newer-posts,nav.pagination .older-posts{color:#000}nav.pagination .page-number{margin:0 20px;color:gray} +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJ1dGlscy9fYW5pbWF0aW9ucy5zY3NzIiwidXRpbHMvX2hlbHBlcnMuc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwidXRpbHMvX21peGlucy5zY3NzIiwidXRpbHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVDQ0ksbUJBQXVCLEdBVXZCLG9CQUFxQixLQUd6QixTQ2RBLGdCQUFBLEtEV0EsU0NOQSxnQkFBQSxJQUdBLFNEZUksZ0JBQWlCLEtBR3JCLFNDWkEsZ0JBQUEsR0FJSSxTRFFlLGdCQUFBLE1DRGYsa0JEVUEsR0NOSixRQUFBLEVETVEsS0NGUixRQUFBLEdEVUEsUUFBQSxlQUFBLE9EM0NBLG9CQ0NJLEdBZ0RJLFFBQVMsRUEzQ1QsVUFBQSxzQkFBQSxLQUNBLFFBQUEsRUNQUixVQUtBLE1EU1EsVUNOUixlQUFBLFNBR0EsUUFDSSxRQUFBLEtBT0gsMEJET08sV0FBZ0IsWUNMeEIsY0FBQSxJQUNJLGVBQUEsRUFDSSxNQUFBLE1BTVIsZUFBQSxnQkFDSSxPQUFBLEVBS0ksV0FDQSxNQUFBLEtBRUosYURRQyxJQ1pELFlBQUEsT0RTUSxhQ0FaLE9BQUEsRUMzQ0EsTUFBQSxRQUVDLFdBQUEsTUZtRkcscUJEckZKLGNBQUEsS0NFQSxhQUFBLEVBc0ZRLGFBQWMsSUFBSSxNQUFNLFFBbkZoQyxZQUFBLEVBcUZRLFdBQVksTUMxRnBCLFlEVUEsV0FBQSxFQUNFLFdBQWtCLE1DTnBCLFlEUUMsTUFBQSxNQXFGTyxhQUFjLE9DMUZ0QixZQUFBLElBR0EsY0FBQSxhRDJGUSxPQUFRLEVBbEZiLE1BQUEsUUFFSCxXQUFBLEtBb0ZJLGFBaEZKLE9BQUEsRUFrRlEsV0FBWSxNQTVFSCw0RUF1RmpCLEtBN0VHLFlBQUEsS0NHRix5QkFBQSxLRFFFLEtBRUgsT0FBQSxFQXFGQSxHQTdFQSxPQUFBLE1BQUEsRUErRUksVUFBVyxJQWxFZixHRTlCSyxTQUFBLFFGZ0NI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QUFBLEVBQ0EsTUFBQSxLQUlJLE9BQUEsS0FtQlAsdUNBbkJPLFFBQUEsS0ROUixZQUFBLElBQUEseUJDV3VCLHVDQ052QixRQWlCSSxRRnRCSix5Q0VjQSxNQUFBLE1GZEEsZ0RDQ0ksT0FBQSxFREVjLG1ETUhsQixRSlNJLGFBUEEsY0ZGSixTQUFBLFNFTUksUUFBQSxHRDgzQkEsUUFBUyxZRHA0QmIsUUFBQSxLQzJGUyxtQkFBQSxPRDNGVCxlQUFBLE9DS2dCLFdBQVUsbUJBQ1YsT0FBQSxNQ05oQix5QkFDSSxjQUNBLE9BQUEsT0FJc0IseUJGTjFCLGNFUUEsT0FBQSxPRFlnQywwQkNOaEMsY0FFQyxPQUFBLE9BR0EsNEJEdzRCRyxPQWo0QjRCLEtDSjVCLFVBQUEsTUR1NEJBLE1DdjRCQSxrQkZ0QkosTUFBQSxxQkFBQSw4QkVtQ21CLFdBQUEsS0FBQSxjQUFBLEtEUVMsK0JBMDNCeEIsV0ExM0J3QixFRDNDNUIsTUFBQSxLR0VDLG1DSEZELFVBQUEsTUdPMEIsTUFBQSxLSFAxQiw4Qkdjb0IsTUFBQSxxQkFBQSxnQkFBQSxPQUtPLG9DRjg1QnZCLE1BQU8sS0V0NUJILHdDRnk1QkosUUV6NUJJLE1IM0JSLFNBQUEsS0dtQ0ssV0FBQSxLRm81QkQsTUFBTyxLRHY3QlgsVUFBQSxLR3FDSSxVQUFBLE9IckNKLDBDR2dEa0IsUUFBQSxhRjY0QmQsTUFBTyxLRDc3QlgsYUFBQSxJSUVBLGNBQUEsSUg4N0JJLFFBQVMsSURoOEJiLE9BQUEsSUFBQSxNQUFBLHFCSVdFLFdBQWtCLElIdzdCaEIsTUFBTyxxQkRuOEJYLGVBQUEsVUNFUSxZQ0ZSLEVBQ0ksZ0RGREosV0FBQSxLQ01ZLE1BQUEsZUROWix5QkNFUSxTQUFrQixTQUNsQixXREFVLEtNSGxCLE1BQUEsS0pFSSx5QkZGSix5QkVBQSxPQUFBLE1GQUEsb0JBQUEsT0VLQSxnQkFBQSxPRG05QkEseUJEeDlCQSx5QkNFUSxPQUFlLE1EQ0wsb0JBQUEsT01IbEIsZ0JBQUEsT0pBQSwwQkRnK0JJLHlCRGgrQkosT0FBQSxNQ1cyQixvQkFBQSxPQ04z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NEJBQ3pCLE1BQU8sS0FFWCw0QkFDSSxPQUFRLEVBQUUsS0FDVixNQUFPIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1BSU5cbi0tLS0tLS0tLS0tLS0tLVxuSW1wb3J0IGFsbCByZWxldmFudCBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJ1dGlscy9fdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidXRpbHMvX21peGluc1wiO1xuQGltcG9ydCBcInV0aWxzL19hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwidXRpbHMvX2hlbHBlcnNcIjtcblxuQGltcG9ydCBcInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fYmFzZS5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19hdXRob3Iuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL19ob21lLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9fcGFnZS5zY3NzXCI7XG5AaW1wb3J0IFwicGFnZXMvX3Bvc3Quc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2VzL190YWcuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jsb2ctbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tZm9ybWF0dGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEtLWdhbGxlcnkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnQtLW1lZGlhLS1saWdodGJveC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEtLXZpZGVvcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudC0tbWVkaWEuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ZlZWQtLXBvc3Quc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ZlZWQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2Nzc1wiOyIsIi8qIE1BSU5cbi0tLS0tLS0tLS0tLS0tLVxuSW1wb3J0IGFsbCByZWxldmFudCBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWQVJJQUJMRVNcbi0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyB1cCB0aGUgdmFyaWFibGVzLiBEZWZhdWx0IGZvbnRzLCBjb2xvcnMsIHdpZHRocyBhbmQgYnJlYWtwb2ludHMuXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmRlbGF5LTEge1xuICBhbmltYXRpb24tZGVsYXk6IC4yNXM7IH1cblxuLmRlbGF5LTIge1xuICBhbmltYXRpb24tZGVsYXk6IC41czsgfVxuXG4uZGVsYXktMyB7XG4gIGFuaW1hdGlvbi1kZWxheTogLjc1czsgfVxuXG4uZGVsYXktNCB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLmRlbGF5LTUge1xuICBhbmltYXRpb24tZGVsYXk6IDEuMjVzOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mYWRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgICAuYWxpZ25sZWZ0IGltZywgLmFsaWducmlnaHQgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE2MHB4OyB9XG4gICAgLmFsaWdubGVmdCBxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgYmxvY2txdW90ZS5hbGlnbmxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgcS5hbGlnbmxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNjBweDtcbiAgICBtYXJnaW4tbGVmdDogMmVtOyB9XG4gICAgLmFsaWducmlnaHQgcSwgLmFsaWducmlnaHRxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBxLmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTsgfVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTsgfSB9XG4gIGJvZHkgbWFpbiB7XG4gICAgZmxleDogMTsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5oMSwgaDIsIGgzLCBoNCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgaDEsIGgyLCBoMywgaDQge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICBoMSBhLCBoMiBhLCBoMyBhLCBoNCBhIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaDEge1xuICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXNpemU6IDMuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBmb250LXNpemU6IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICBmb250LXNpemU6IDQuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgYTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbnAsIGJsb2NrcXVvdGUsIGZpZ3VyZSwgY2FudmFzLCBpZnJhbWUsIGZvcm0ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5ub3RlIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRGRkI2O1xuICBib3gtc2hhZG93OiAjRkRGRkI2IDAgMCA1cHg7IH1cblxuc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiLCBzZXJpZjsgfVxuICBibG9ja3F1b3RlIGltZyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbnEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiLCBzZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICBxIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9IH1cbiAgcTpiZWZvcmUsIHE6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2NjY2NjYztcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBjaXRlIGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTQgXFwyMDA5XCI7IH1cblxudWwsIG9sIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwgbGksIG9sIGxpIHtcbiAgICBtYXJnaW46IDA7IH1cblxudWwge1xuICBsaXN0LXN0eWxlOiBzcXVhcmU7IH1cbiAgdWwgdWwsIHVsIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG4gIG9sIHVsLCBvbCBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgQ29uc29sYXMsIFwiRHJvaWQgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIjsgfVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgQ29uc29sYXMsIFwiRHJvaWQgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIjsgfVxuXG5ociB7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxuI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG4gICNmb290ZXIgLmNvbG9waG9uIHtcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHg7IH1cbiAgICAjZm9vdGVyIC5jb2xvcGhvbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgICAgI2Zvb3RlciAuY29sb3Bob24gc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICNmb290ZXIgLmNvbG9waG9uIHNlY3Rpb24gLmdob3N0LWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHdpZHRoOiA0LjJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzk4OTg5ODtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgYWxsIGVhc2U7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvZ2hvc3QtbG9nby5zdmcpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgI2Zvb3RlciAuY29sb3Bob24gc2VjdGlvbiAuZ2hvc3QtbG9nbzpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgI2Zvb3RlciAuYm90dG9tIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogIzFhMTkxOTsgfVxuICAgICNmb290ZXIgLmJvdHRvbSBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgICAgI2Zvb3RlciAuYm90dG9tIHNlY3Rpb24gYSB7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAgICNmb290ZXIgLmJvdHRvbSBzZWN0aW9uIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICNmb290ZXIgLmJvdHRvbSBzZWN0aW9uIGEgaS5mYS5mYS1oZWFydCB7XG4gICAgICAgICAgY29sb3I6ICNkODUxNTE7IH1cbiAgI2Zvb3RlciBhIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAjZm9vdGVyIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGOyB9XG4gICNmb290ZXIgLmhlYXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEuM2VtO1xuICAgIGhlaWdodDogMS4zZW07XG4gICAgYmFja2dyb3VuZDogI0ZGNEQ0QztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9oZWFydC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mZWVkLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLmZlZWQuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDUwMHB4LCAxZnIpKTtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlOyB9XG4gICAgICAgIC5mZWVkLmdyaWQgLnBvc3Qge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAuZmVlZC5ncmlkIC5wb3N0LnRhZy1oYXNoLXRhbGwge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDsgfVxuICAgICAgICAgIC5mZWVkLmdyaWQgLnBvc3QuZmVhdHVyZWQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAgICAgICAgIC5mZWVkLmdyaWQgLnBvc3QudGFnLWhhc2gtdGFsbCB7XG4gICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgQHN1cHBvcnRzIG5vdCAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLmZlZWQuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAuZmVlZC5ncmlkIC5wb3N0IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTsgfVxuICAgICAgICAgIC5mZWVkLmdyaWQgLnBvc3Q6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH0gfVxuXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLmhlYWRlciBhIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmhlYWRlci5ob21lIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gICAgLmhlYWRlci5ob21lIGEge1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gIC5oZWFkZXIuY292ZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5oZWFkZXIuY292ZXItaW1hZ2UgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuaGVhZGVyLmNvdmVyLWltYWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5oZWFkZXIgLmhlYWRlci0tdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmhlYWRlciAuaGVhZGVyLS10b3AgYS5ibG9nLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgYS5ibG9nLXRpdGxlIGltZy5ibG9nLWxvZ28ge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMzBweDsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIC5ibG9nLWRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgLmJsb2ctZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwubmF2IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwubmF2IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmhlYWRlciAuaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgICAgLmhlYWRlciAuaGVybyB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgLmhlYWRlciAuaGVybyB7XG4gICAgICAgIGhlaWdodDogNzAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IGgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBoMSBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQ7IH1cbiAgICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmhlYWRlciAuaGVybyAuaGVyby1jb250ZW50IC5wb3N0LS10YWdzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgICAgICAuaGVhZGVyIC5oZXJvIC5oZXJvLWNvbnRlbnQgLnBvc3QtLXRhZ3MgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAgIC5oZWFkZXIgLmhlcm8gLmhlcm8tY29udGVudCAucG9zdC0tdGFncyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogZ3JheTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIGEge1xuICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmF1dGhvci10ZW1wbGF0ZSAuaGVhZGVyIC5ibG9nLWNvbnRlbnQgLmJsb2ctdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCAuYmxvZy10aXRsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5hdXRob3ItdGVtcGxhdGUgLmhlYWRlciAuYmxvZy1jb250ZW50IC5saW5rcyBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuYXV0aG9yLXRlbXBsYXRlIC5oZWFkZXIgLmJsb2ctY29udGVudCAubGlua3MgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4ucGFnZS10ZW1wbGF0ZSAubWFpbiB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAucGFnZS10ZW1wbGF0ZSAubWFpbiB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUgLm1haW4ge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUgLm1haW4gLnBhZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAucGFnZS10ZW1wbGF0ZSAubWFpbiAucGFnZSAuY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wYWdlLXRlbXBsYXRlIC5tYWluIC5wYWdlIC5jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBvc3QtdGVtcGxhdGUgLm1haW4ge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLnBvc3QtdGVtcGxhdGUgLm1haW4ge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5wb3N0LXRlbXBsYXRlIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfSB9XG4gIC5wb3N0LXRlbXBsYXRlIC5tYWluIC5wb3N0IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgLnBvc3QtdGVtcGxhdGUgLm1haW4gLnBvc3QgLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucG9zdC10ZW1wbGF0ZSAubWFpbiAucG9zdCAuY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi50YWctdGVtcGxhdGUgLm1haW4ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIC50YWctdGVtcGxhdGUgLm1haW4gLnRhZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgIC50YWctdGVtcGxhdGUgLm1haW4gLnRhZyAudGFnLWNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAudGFnLXRlbXBsYXRlIC5tYWluIC50YWcgLnRhZy1jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB7XG4gIGZsb2F0OiByaWdodDsgfVxuICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaVtjbGFzcyQ9XCJpY29uXCJdIC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gYTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbWFzay1zaXplOiBjb250YWluOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGlbY2xhc3MkPVwiaWNvblwiXSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWdpdGh1Ymljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dpdGh1Yi5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi10d2l0dGVyaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvdHdpdHRlci5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1yc3NpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9yc3Muc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtZmFjZWJvb2tpY29uIGE6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9mYWNlYm9vay5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpLm5hdi1kb3dubG9hZGljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWltYWdlaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvaW1hZ2Uuc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtdHVtYmxyaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvdHVtYmxyLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LXN0ZWFtaWNvbiBhOmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWFnZXMvc3RlYW0uc3ZnKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLS10b3AgbmF2LmJsb2ctbmF2aWdhdGlvbiB1bCBsaS5uYXYtZ29vZ2xlcGx1c2ljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dvb2dsZS1wbHVzLnN2Zyk7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci0tdG9wIG5hdi5ibG9nLW5hdmlnYXRpb24gdWwgbGkubmF2LWNhbWVyYWljb24gYTpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NhbWVyYS5zdmcpOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uaGVhZGVyLmNvdmVyLWltYWdlIC5oZWFkZXItLXRvcCBuYXYuYmxvZy1uYXZpZ2F0aW9uIHVsIGxpW2NsYXNzJD1cImljb25cIl0gYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4uY29udGVudCBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIC5jb250ZW50IGE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uY29udGVudCAuZ2FsbGVyeSB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jb250ZW50IC5nYWxsZXJ5IGEge1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5IGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY29udGVudCAuZ2FsbGVyeSBpbWcge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLmNvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSAtIDIwcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICB3aWR0aDogMTAwdnc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XG4gICAgd2lkdGg6IGluaXRpYWw7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogNjgwcHg7IH0gfVxuICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS13aWRlIHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBpbWcua2ctaW1hZ2Uua2ctaW1hZ2Utd2lkZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS13aWRlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgIC5jb250ZW50IGZpZ3VyZS5rZy1pbWFnZS1jYXJkIGltZy5rZy1pbWFnZS5rZy1pbWFnZS13aWRlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsgfSB9XG4gICAgLmNvbnRlbnQgZmlndXJlLmtnLWltYWdlLWNhcmQgaW1nLmtnLWltYWdlLmtnLWltYWdlLWZ1bGwge1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY29udGVudCBmaWd1cmUua2ctaW1hZ2UtY2FyZCBmaWdjYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyB9XG5cbi5mZWVkIC5wb3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBtaW4taGVpZ2h0OiAyNXZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ODU4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAuZmVlZCAucG9zdCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuZmVlZCAucG9zdC5oYXMtaW1hZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLmZlZWQgLnBvc3QgLnBvc3QtLXRvcC1jb250ZW50LCAuZmVlZCAucG9zdCAucG9zdC0tYm90dG9tLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS10b3AtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tdGFncyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFncyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5mZWVkIC5wb3N0IC5wb3N0LS10YWdzIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6ICMyMDIwMjAgIWltcG9ydGFudDsgfVxuICAgICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRhZ3MgYTpub3QoOm50aC1vZi10eXBlKDEpKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFnczpob3ZlciBhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuZmVlZCAucG9zdCAucG9zdC0tdGFnczpob3ZlciBhOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZmVlZCAucG9zdDpob3ZlciAucG9zdC0tdGFncyBhOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmZlZWQgLnBvc3QgLnBvc3QtLXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS1leGNlcnB0IHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS1yZWFkLXRpbWUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5mZWVkIC5wb3N0IC5wb3N0LS1tZXRhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5mZWVkIC5wb3N0IC5wb3N0LS1tZXRhIC5hdXRob3Ige1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuZmVlZCAucG9zdCAucG9zdC0tbWV0YSAuYXV0aG9yIGEge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5mZWVkIC5wb3N0IC5wb3N0LS1tZXRhIC5hdXRob3IgYTpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuICAuZmVlZCAucG9zdCAucG9zdC0tYm90dG9tLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzBweDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogMzBweDsgfVxuXG4uZmVlZCB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxubmF2LnBhZ2luYXRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4OyB9XG4gIG5hdi5wYWdpbmF0aW9uIC5uZXdlci1wb3N0cywgbmF2LnBhZ2luYXRpb24gLm9sZGVyLXBvc3RzIHtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgbmF2LnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBjb2xvcjogZ3JheTsgfVxuIiwiLmFuaW1hdGVkIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5kZWxheS0xIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC4yNXM7XG59XG4uZGVsYXktMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG59XG4uZGVsYXktMyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNzVzO1xufVxuLmRlbGF5LTQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG59XG4uZGVsYXktNSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuLmZhZGVJbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG4uZmFkZUluVXAge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn0iLCIuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5AaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgLmFsaWdubGVmdCwgLmFsaWducmlnaHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XG4gICAgfVxyXG4gICAgLmFsaWdubGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNjBweDtcclxuICAgICAgICBxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxuICAgIH1cclxuXHJcbiAgICBibG9ja3F1b3RlLmFsaWdubGVmdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgZGFya2VuKCR3aGl0ZSwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHEuYWxpZ25sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xyXG4gICAgICAgIHEsICZxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XG4gICAgfVxyXG4gICAgcS5hbGlnbnJpZ2h0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vLyBSZXNwb25zaXZlIG1hbmFnZXIuXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludFxyXG4vLy8gQHJlcXVpcmVzICRicmVha3BvaW50c1xyXG5AbWl4aW4gcmVzcG9uZC10bygkYnJlYWtwb2ludCkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBAbWVkaWEgI3tpbnNwZWN0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpfSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBlcnJvciAnTm8gdmFsdWUgZm91bmQgZm9yIGAjeyRicmVha3BvaW50fWAuICdcclxuICAgICAgICAgICAgICsgJ1BsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYCBtYXAuJztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNhbGMoJHByb3BlcnR5LCAkZXhwcmVzc2lvbil7XHJcbiAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xyXG59IiwiLyogVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgdXAgdGhlIHZhcmlhYmxlcy4gRGVmYXVsdCBmb250cywgY29sb3JzLCB3aWR0aHMgYW5kIGJyZWFrcG9pbnRzLlxuLS0tLS0tLS0tLS0tLS0tICovXG5cbiRmb250OiBcIk5vdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1oZWFkaW5nOiAkZm9udDtcbiRmb250LW1vbm9zcGFjZTogXCJJbmNvbnNvbGF0YVwiLCBDb25zb2xhcywgXCJEcm9pZCBTYW5zIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiO1xuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjRkZGRkZGO1xuJHRyYW5zcGFyZW50LWdyZXk6IHJnYmEoMCwwLDAsLjgpO1xuJGRhcmstZ3JleTogIzIwMjAyMDtcbiRncmV5OiBsaWdodGVuKCRibGFjaywgNTAlKTtcbiRsaWdodC1ncmV5OiBkYXJrZW4oJHdoaXRlLCAyNSUpO1xuXG4kaHVnZTogMTQwMHB4O1xuJGxhcmdlOiAxMDAwcHg7XG4kbWVkaXVtOiA4MDBweDtcbiRzbWFsbDogNTUwcHg7XG4kdGlueTogNDAwcHg7XG5cbiRicmVha3BvaW50czogKFxuICAgIFwiaHVnZVwiOiAobWluLXdpZHRoOiAkaHVnZSksXG4gICAgXCJsYXJnZVwiOiAobWluLXdpZHRoOiAkbGFyZ2UpLFxuICAgIFwibWVkaXVtXCI6IChtaW4td2lkdGg6ICRtZWRpdW0pLFxuICAgIFwic21hbGxcIjogKG1pbi13aWR0aDogJHNtYWxsKSxcbiAgICBcInRpbnlcIjogKG1pbi13aWR0aDogJHRpbnkpLFxuKTtcbiR3cmFwcGVyLXdpZHRoOiA2MDBweDtcbiRndXR0ZXI6IDIwcHg7Il19 */ diff --git a/sass/base/_base.scss b/sass/base/_base.scss index 14797a8..f2694f2 100644 --- a/sass/base/_base.scss +++ b/sass/base/_base.scss @@ -1,10 +1,12 @@ -html{ +html { max-height: 100%; height: 100%; font-size: 62.5%; } body { + display: flex; + flex-direction: column; overflow-y: scroll; min-height: 100%; height: 100%; @@ -15,17 +17,14 @@ body { font-family: $font; line-height: 1.8; - display: flex; - flex-direction: column; + @include respond-to(tiny) { + font-size: 18px; + font-size: 1.8rem; + } main { flex: 1; } - - @include respond-to(tiny){ - font-size: 18px; - font-size: 1.8rem; - } } * { box-sizing: border-box; diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss index 7a44f7a..cccdec5 100644 --- a/sass/base/_typography.scss +++ b/sass/base/_typography.scss @@ -67,8 +67,8 @@ h4 { //TODO: Move this to post content only a { - text-decoration: none; color: $black; + text-decoration: none; transition: all .2s; &:hover { border-color: $black; @@ -78,9 +78,9 @@ a { p, blockquote, figure, canvas, iframe, form { margin: { + right: 0; bottom: 20px; left: 0; - right: 0; } } @@ -117,9 +117,7 @@ q { font-style: italic; font-size: 125%; font-family: "Noto Serif", serif; - &:before, &:after { - display: none; - } + @include respond-to(small) { margin-top: 40px; margin-bottom: 40px; @@ -130,6 +128,9 @@ q { width: 100%; width: calc(100% + 40px); } + &:before, &:after { + display: none; + } } cite { @@ -149,12 +150,12 @@ cite { } } ul, ol { - padding: 0; margin: { top: 10px; bottom: 20px; left: 20px; } + padding: 0; li { margin: 0; } diff --git a/sass/components/_blog-navigation.scss b/sass/components/_blog-navigation.scss index 1ae6bda..0fc02e9 100644 --- a/sass/components/_blog-navigation.scss +++ b/sass/components/_blog-navigation.scss @@ -6,26 +6,27 @@ margin: 0; margin-right: 10px; li { - font-size: 14px; display: inline-block; - line-height: 60px; margin-right: 10px; + font-size: 14px; + line-height: 60px; &[class$="icon"] { + margin-right: 5px; .label { display: none; } - margin-right: 5px; a { &:before { content: ""; - width: 25px; - height: 25px; display: inline-block; margin-top: -5px; - background-size: contain; + width: 25px; + height: 25px; background-color: $grey; - mask-size: contain; + background-size: contain; vertical-align: middle; + + mask-size: contain; } &:hover:before { diff --git a/sass/components/_content--formatting.scss b/sass/components/_content--formatting.scss index 1882827..63e8266 100644 --- a/sass/components/_content--formatting.scss +++ b/sass/components/_content--formatting.scss @@ -1,7 +1,7 @@ .content { a { - text-decoration: underline; color: $black; + text-decoration: underline; transition: all .2s; &:hover { border-color: $black; diff --git a/sass/components/_content--media.scss b/sass/components/_content--media.scss index 28a0fe4..3ee874c 100644 --- a/sass/components/_content--media.scss +++ b/sass/components/_content--media.scss @@ -1,33 +1,36 @@ .content { img { display: block; + margin-left: auto; + margin-left: calc(0% - 20px); width: 100%; width: calc(100% + 40px); height: auto; - margin-left: auto; - margin-left: calc(0% - 20px); } figure.kg-image-card { - width: 100vw; position: relative; - left: 50%; right: 50%; - margin-left: -50vw; + left: 50%; margin-right: -50vw; margin-bottom: 20px; - @include respond-to(small){ + margin-left: -50vw; + width: 100vw; + + @include respond-to(small) { margin-bottom: 40px; } img.kg-image { - width: initial; margin: 0 auto; max-width: calc(100vw - 40px); - @include respond-to(small){ + width: initial; + + @include respond-to(small) { max-width: $wrapper-width+80px; } &.kg-image-wide { max-width: 100vw; + @include respond-to(medium) { max-width: $wrapper-width+200px; } diff --git a/sass/components/_feed--post.scss b/sass/components/_feed--post.scss index 0975cd4..fa25a91 100644 --- a/sass/components/_feed--post.scss +++ b/sass/components/_feed--post.scss @@ -2,21 +2,19 @@ .post { position: relative; overflow: hidden; + margin-bottom: $gutter; padding: 30px; min-height: 25vh; background-color: #585858; background-position: center; background-size: cover; color: white; - margin-bottom: $gutter; - - @include respond-to(tiny){ + @include respond-to(tiny) { } - @include respond-to(small){ - + @include respond-to(small) { } - @include respond-to(medium){ + @include respond-to(medium) { } a { color: inherit; @@ -66,7 +64,7 @@ color: $dark-grey !important; } &:not(:nth-of-type(1)) { - opacity:0; + opacity: 0; } } &:hover { @@ -87,14 +85,12 @@ .post--title { margin: 0; - @include respond-to(tiny){ + @include respond-to(tiny) { } - @include respond-to(small){ - + @include respond-to(small) { } - @include respond-to(medium){ - + @include respond-to(medium) { } a { font-size: inherit; @@ -110,9 +106,9 @@ } .post--read-time { + color: rgba(255,255,255,.6); font-size: 14px; font-size: 1.4rem; - color: rgba(255,255,255,.6); } .post--meta { @@ -133,9 +129,9 @@ .post--bottom-content { position: absolute; - left: 30px; - bottom: 30px; right: 30px; + bottom: 30px; + left: 30px; } } } \ No newline at end of file diff --git a/sass/components/_pagination.scss b/sass/components/_pagination.scss index cfa253d..31c61f5 100644 --- a/sass/components/_pagination.scss +++ b/sass/components/_pagination.scss @@ -6,11 +6,7 @@ nav.pagination { } .page-number { - color: $grey; margin: 0 20px; + color: $grey; } - - - - } \ No newline at end of file diff --git a/sass/icons.scss b/sass/icons.scss deleted file mode 100644 index b5d1b3b..0000000 --- a/sass/icons.scss +++ /dev/null @@ -1,65 +0,0 @@ -/* Import the font file with the icons in it */ -@font-face { - font-family: "casper-icons"; - src:url("../fonts/casper-icons.eot?v=1"); - src:url("../fonts/casper-icons.eot?v=1#iefix") format("embedded-opentype"), - url("../fonts/casper-icons.woff?v=1") format("woff"), - url("../fonts/casper-icons.ttf?v=1") format("truetype"), - url("../fonts/casper-icons.svg?v=1#icons") format("svg"); - font-weight: normal; - font-style: normal; -} - -/* Apply these base styles to all icons */ -[class^="icon-"]:before, [class*=" icon-"]:before { - font-family: "casper-icons", "Open Sans", sans-serif; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - text-decoration: none !important; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* Each icon is created by inserting the correct character into the - content of the :before pseudo element. Like a boss. */ -.icon-ghost:before { - content: "\f600"; -} -.icon-feed:before { - content: "\f601"; -} -.icon-twitter:before { - content: "\f602"; - font-size: 1.1em; -} -.icon-google-plus:before { - content: "\f603"; -} -.icon-facebook:before { - content: "\f604"; -} -.icon-arrow-left:before { - content: "\f605"; -} -.icon-stats:before { - content: "\f606"; -} -.icon-location:before { - content: "\f607"; - margin-left: -3px; /* Tracking fix */ -} -.icon-link:before { - content: "\f608"; -} -.icon-menu:before { - content: "\f609"; -} -/* - IMPORTANT: When making any changes to the icon font, be sure to increment - the version number by 1 in the @font-face rule. `?v=1` becomes `?v=2` - This forces browsers to download the new font file. -*/ diff --git a/sass/layout/_footer.scss b/sass/layout/_footer.scss index 1edac11..eccfe94 100644 --- a/sass/layout/_footer.scss +++ b/sass/layout/_footer.scss @@ -21,15 +21,15 @@ .ghost-logo { display: inline-block; - height: 1.3em; + margin-left: 5px; width: 4.2em; + height: 1.3em; background: #989898; + vertical-align: text-bottom; + transition: .2s all ease; mask-image: url(../images/ghost-logo.svg); mask-size: contain; mask-repeat: no-repeat; - vertical-align: text-bottom; - margin-left: 5px; - transition: 0.2s all ease; &:hover { background-color: white; } @@ -62,12 +62,12 @@ } .heart { display: inline-block; - height: 1.3em; width: 1.3em; - background: #ff4d4c; + height: 1.3em; + background: #FF4D4C; + vertical-align: text-bottom; mask-image: url(../images/heart.svg); mask-size: contain; mask-repeat: no-repeat; - vertical-align: text-bottom; } } \ No newline at end of file diff --git a/sass/layout/_grid.scss b/sass/layout/_grid.scss index fd5b978..366bf0d 100644 --- a/sass/layout/_grid.scss +++ b/sass/layout/_grid.scss @@ -1,9 +1,9 @@ .feed.grid { display: flex; flex-direction: column; - @include respond-to(medium){ - @supports(display: grid){ + @include respond-to(medium) { + @supports(display: grid) { display: grid; grid-gap: $gutter; grid-template-columns: repeat(auto-fit, minmax(500px,1fr)); @@ -24,14 +24,14 @@ @supports not (display: grid) { display: flex; flex-direction: row; + flex-wrap: wrap; .post { width: calc(50% - 10px); - &:nth-of-type(2n){ + &:nth-of-type(2n) { margin-left: $gutter; } } } - } } \ No newline at end of file diff --git a/sass/layout/_header.scss b/sass/layout/_header.scss index 6a94d53..e8a8519 100644 --- a/sass/layout/_header.scss +++ b/sass/layout/_header.scss @@ -1,25 +1,26 @@ .header { - color: rgba(white, 0.7); background: black; + color: rgba(white, .7); a { color: white; } &.home { - color: rgba(black, 0.7); background: white; + color: rgba(black, .7); a { color: black; } } &.cover-image { - color: rgba(white, 0.7); + position: relative; background: black; + background-position: center; + background-size: cover; + color: rgba(white, .7); + color: white; a { color: white; } - position: relative; - background-position: center; - background-size: cover; &:after { content: ""; position: absolute; @@ -28,40 +29,40 @@ z-index: 0; width: 100%; height: 100%; - background: rgba(black, 0.7); + background: rgba(black, .7); } - color: white; } .header--top { position: relative; z-index: 10; - max-height: 60px; - overflow: hidden; display: flex; flex-direction: row; - justify-content: space-between; - - line-height: 60px; + overflow: hidden; + max-height: 60px; font-size: 14px; font-size: 1.4rem; + line-height: 60px; + + justify-content: space-between; a.blog-title { float: left; - height: 60px; padding-left: 20px; + height: 60px; + font-weight: 600; img.blog-logo { margin: 15px 0; padding: 0; width: auto; height: 30px; } - font-weight: 600; } .blog-description { - margin-left: 5px; display: none; - @include respond-to(small){ + margin-left: 5px; + + @include respond-to(small) { display: inline; } } @@ -84,14 +85,14 @@ flex-direction: column; max-height: calc(100vh - 60px); height: 500px; - @include respond-to(small){ + + @include respond-to(small) { height: 600px; } - - @include respond-to(medium){ + @include respond-to(medium) { height: 700px; } - @include respond-to(large){ + @include respond-to(large) { height: 700px; } @@ -99,21 +100,21 @@ margin: auto; max-width: $wrapper-width; width: calc(100% - 40px); - color: rgba(white,0.7); + color: rgba(white,.7); p { - margin-bottom: 1rem; margin-top: 1rem; + margin-bottom: 1rem; } h1 { - color: white; margin-top: 0; + color: white; img { - width: 100%; max-width: 400px; + width: 100%; } } a { - color: rgba(white,0.7); + color: rgba(white,.7); text-decoration: dotted; &:hover { color: white; diff --git a/sass/pages/_author.scss b/sass/pages/_author.scss index e4789d0..70bd2a7 100644 --- a/sass/pages/_author.scss +++ b/sass/pages/_author.scss @@ -1,50 +1,50 @@ -.author-template .header{ +.author-template .header { position: relative; background: $black; color: $grey; - @include respond-to(tiny){ + @include respond-to(tiny) { height: 500px; background-position: center; background-size: cover; } - @include respond-to(small){ + @include respond-to(small) { height: 600px; background-position: center; background-size: cover; } - @include respond-to(huge){ + @include respond-to(huge) { height: 700px; background-position: center; background-size: cover; } - a{ + a { color: $grey; - &:hover{ + &:hover { color: white; } } - .header-background{ + .header-background { background: rgba(0,0,0,.7); } - .blog-content{ + .blog-content { position: absolute; box-sizing: border-box; padding: 0 20px; width: 100%; - .blog-title{ + .blog-title { margin: 0; color: $white; letter-spacing: 0; font-size: 14px; font-size: 1.4rem; - &:hover{ + &:hover { color: white; } } - .links a{ + .links a { color: $white; - &:hover{ + &:hover { color: white; } } diff --git a/sass/pages/_page.scss b/sass/pages/_page.scss index d02de83..69060cc 100644 --- a/sass/pages/_page.scss +++ b/sass/pages/_page.scss @@ -1,23 +1,24 @@ .page-template .main { padding: 10px 20px; - @include respond-to(medium){ + background: #FFFFFF; + + @include respond-to(medium) { padding: 30px 20px; } - @include respond-to(large){ + @include respond-to(large) { padding: 40px 20px; } - background: #FFFFFF; .page { margin: 0 auto; max-width: $wrapper-width; - @include respond-to(small){ + @include respond-to(small) { } - .content{ - > *:first-child{ + .content { + > *:first-child { margin-top: 0; } - > *:last-child{ + > *:last-child { margin-bottom: 0; } } diff --git a/sass/pages/_post.scss b/sass/pages/_post.scss index d68682b..52f2b71 100644 --- a/sass/pages/_post.scss +++ b/sass/pages/_post.scss @@ -1,23 +1,24 @@ -.post-template .main{ +.post-template .main { padding: 10px 20px; - @include respond-to(medium){ + background: #FFFFFF; + + @include respond-to(medium) { padding: 30px 20px; } - @include respond-to(large){ + @include respond-to(large) { padding: 40px 20px; } - background: #FFFFFF; .post { margin: 0 auto; max-width: $wrapper-width; - @include respond-to(small){ + @include respond-to(small) { } - .content{ - > *:first-child{ + .content { + > *:first-child { margin-top: 0; } - > *:last-child{ + > *:last-child { margin-bottom: 0; } } diff --git a/sass/pages/_tag.scss b/sass/pages/_tag.scss index 53e189d..e2a3ccb 100644 --- a/sass/pages/_tag.scss +++ b/sass/pages/_tag.scss @@ -4,13 +4,13 @@ margin: 0 auto; max-width: $wrapper-width; - @include respond-to(small){ + @include respond-to(small) { } - .tag-content{ - > *:first-child{ + .tag-content { + > *:first-child { margin-top: 0; } - > *:last-child{ + > *:last-child { margin-bottom: 0; } } diff --git a/sass/utils/_animations.scss b/sass/utils/_animations.scss index 8aaed46..c0bbd7d 100644 --- a/sass/utils/_animations.scss +++ b/sass/utils/_animations.scss @@ -4,13 +4,13 @@ } .delay-1 { - animation-delay: 0.25s; + animation-delay: .25s; } .delay-2 { - animation-delay: 0.5s; + animation-delay: .5s; } .delay-3 { - animation-delay: 0.75s; + animation-delay: .75s; } .delay-4 { animation-delay: 1s; @@ -33,14 +33,14 @@ @keyframes fadeInUp { 0% { - transform: translate3d(0,100%,0); opacity: 0; + transform: translate3d(0,100%,0); } 100% { - transform: none; opacity: 1; + transform: none; } } .fadeInUp { animation-name: fadeInUp; -} +} \ No newline at end of file diff --git a/sass/utils/_helpers.scss b/sass/utils/_helpers.scss index f94b6e5..39db501 100644 --- a/sass/utils/_helpers.scss +++ b/sass/utils/_helpers.scss @@ -1,28 +1,28 @@ -.hidden{ +.hidden { display: none; } -@include respond-to(large){ - .alignleft, .alignright{ +@include respond-to(large) { + .alignleft, .alignright { margin-bottom: 1em; padding-bottom: 0; width: 300px; - img{ + img { margin: 0; } } - .alignleft{ + .alignleft { float: left; margin-right: 2em; margin-left: -160px; - q{ + q { margin: 0; width: initial; text-align: right; } } - blockquote.alignleft{ + blockquote.alignleft { padding-right: 20px; padding-left: 0; border-right: 4px solid darken($white, 10%); @@ -30,22 +30,22 @@ text-align: right; } - q.alignleft{ + q.alignleft { margin-top: 0; text-align: right; } - .alignright{ + .alignright { float: right; margin-right: -160px; margin-left: 2em; - q, &q{ + q, &q { margin: 0; width: initial; text-align: left; } } - q.alignright{ + q.alignright { margin: 0; text-align: left; } diff --git a/sass/utils/_variables.scss b/sass/utils/_variables.scss index e4fabfa..793b4cd 100644 --- a/sass/utils/_variables.scss +++ b/sass/utils/_variables.scss @@ -13,7 +13,6 @@ $dark-grey: #202020; $grey: lighten($black, 50%); $light-grey: darken($white, 25%); - $huge: 1400px; $large: 1000px; $medium: 800px; @@ -27,7 +26,5 @@ $breakpoints: ( "small": (min-width: $small), "tiny": (min-width: $tiny), ); - - $wrapper-width: 600px; $gutter: 20px; \ No newline at end of file diff --git a/sass/vendors/_fluidbox.min.scss b/sass/vendors/_fluidbox.min.scss deleted file mode 100644 index c02009b..0000000 --- a/sass/vendors/_fluidbox.min.scss +++ /dev/null @@ -1 +0,0 @@ -@-webkit-keyframes a{0%{-webkit-transform:translate(-50%,-50%) rotateX(0) rotateY(0);transform:translate(-50%,-50%) rotateX(0) rotateY(0)}50%{-webkit-transform:translate(-50%,-50%) rotateX(-180deg) rotateY(0);transform:translate(-50%,-50%) rotateX(-180deg) rotateY(0)}to{-webkit-transform:translate(-50%,-50%) rotateX(-180deg) rotateY(-180deg);transform:translate(-50%,-50%) rotateX(-180deg) rotateY(-180deg)}}@keyframes a{0%{-webkit-transform:translate(-50%,-50%) rotateX(0) rotateY(0);transform:translate(-50%,-50%) rotateX(0) rotateY(0)}50%{-webkit-transform:translate(-50%,-50%) rotateX(-180deg) rotateY(0);transform:translate(-50%,-50%) rotateX(-180deg) rotateY(0)}to{-webkit-transform:translate(-50%,-50%) rotateX(-180deg) rotateY(-180deg);transform:translate(-50%,-50%) rotateX(-180deg) rotateY(-180deg)}}.fluidbox{outline:none}.fluidbox__overlay{background-color:hsla(0,0%,100%,.85);cursor:pointer;cursor:zoom-out;opacity:0;pointer-events:none;position:fixed;top:-100%;left:0;bottom:-100%;right:0;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.fluidbox--opened .fluidbox__overlay{pointer-events:auto}.fluidbox__wrap{background-position:center center;background-size:cover;margin:0 auto;position:relative;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.fluidbox--closed .fluidbox__thumb,.fluidbox__thumb{-webkit-transition:opacity 0s ease-in-out 0s;transition:opacity 0s ease-in-out 0s}.fluidbox__ghost{background-size:100% 100%;background-position:center center;background-repeat:no-repeat;position:absolute;-webkit-transition:opacity 0s 0s,-webkit-transform .5s 0s;transition:opacity 0s 0s,-webkit-transform .5s 0s;transition:opacity 0s 0s,transform .5s 0s;transition:opacity 0s 0s,transform .5s 0s,-webkit-transform .5s 0s}.fluidbox--opened .fluidbox__ghost{cursor:pointer;cursor:zoom-out}.fluidbox--closed .fluidbox__ghost{-webkit-transition:opacity 0s .5s,-webkit-transform .5s 0s;transition:opacity 0s .5s,-webkit-transform .5s 0s;transition:opacity 0s .5s,transform .5s 0s;transition:opacity 0s .5s,transform .5s 0s,-webkit-transform .5s 0s}.fluidbox__loader{opacity:0;-webkit-perspective:200px;perspective:200px;pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0}.fluidbox__loader:before{background-color:hsla(0,0%,100%,.85);content:'';-webkit-transform-style:preserve-3d;transform-style:preserve-3d;position:absolute;top:50%;left:50%;width:20%;padding-bottom:20%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-delay:0s;transition-delay:0s}.fluidbox--loading .fluidbox__loader{opacity:1;-webkit-transition:opacity .5s ease-in-out .5s;transition:opacity .5s ease-in-out .5s}.fluidbox--loading .fluidbox__loader:before{-webkit-animation:a 1s 0s infinite ease-in-out forwards;animation:a 1s 0s infinite ease-in-out forwards} \ No newline at end of file diff --git a/sass/vendors/_highlightjs.scss b/sass/vendors/_highlightjs.scss deleted file mode 100644 index 7471521..0000000 --- a/sass/vendors/_highlightjs.scss +++ /dev/null @@ -1,88 +0,0 @@ -.hljs { - display: block; - color: #333; - background: none; -} - -.hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { - color: #998; - font-style: italic; -} - -.hljs-keyword, .css .rule .hljs-keyword, .hljs-winutils, .javascript .hljs-title, .nginx .hljs-title, .hljs-subst, .hljs-request, .hljs-status { - color: #333; - font-weight: bold; -} - -.hljs-number, .hljs-hexcolor, .ruby .hljs-constant { - color: #099; -} - -.hljs-string, .hljs-tag .hljs-value, .hljs-phpdoc, .tex .hljs-formula { - color: #dd1144; -} - -.hljs-title, .hljs-id, .coffeescript .hljs-params, .scss .hljs-preprocessor { - color: #900; - font-weight: bold; -} - -.javascript .hljs-title, .lisp .hljs-title, .clojure .hljs-title, .hljs-subst { - font-weight: normal; -} - -.hljs-class .hljs-title, .haskell .hljs-type, .vhdl .hljs-literal, .tex .hljs-command { - color: #458; - font-weight: bold; -} - -.hljs-tag { - color: #000080; - font-weight: normal; - .hljs-title { - color: #000080; - font-weight: normal; - } -} - -.hljs-rules .hljs-property, .django .hljs-tag .hljs-keyword { - color: #000080; - font-weight: normal; -} - -.hljs-attribute, .hljs-variable, .lisp .hljs-body { - color: teal; -} - -.hljs-regexp { - color: #009926; -} - -.hljs-symbol, .ruby .hljs-symbol .hljs-string, .lisp .hljs-keyword, .tex .hljs-special, .hljs-prompt { - color: #990073; -} - -.hljs-built_in, .lisp .hljs-title, .clojure .hljs-built_in { - color: #0086b3; -} - -.hljs-preprocessor, .hljs-pragma, .hljs-pi, .hljs-doctype, .hljs-shebang, .hljs-cdata { - color: #999; - font-weight: bold; -} - -.hljs-deletion { - background: #ffdddd; -} - -.hljs-addition { - background: #ddffdd; -} - -.diff .hljs-change { - background: #0086b3; -} - -.hljs-chunk { - color: #aaaaaa; -} \ No newline at end of file