theme.css 114 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. @font-face { font-family: "lato"; src: url("../fonts/lato/Lato-Regular.eot"); src: url("../fonts/lato/Lato-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/lato/Lato-Regular.woff") format("woff"), url("../fonts/lato/Lato-Regular.ttf") format("truetype"), url("../fonts/lato/Lato-Regular.svg#lato") format("svg"); }
  2. @font-face { font-family: "syne"; src: url("../fonts/syne/Syne-Bold.eot"); src: url("../fonts/syne/Syne-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/syne/Syne-Bold.woff") format("woff"), url("../fonts/syne/Syne-Bold.ttf") format("truetype"), url("../fonts/syne/Syne-Bold.svg#syne") format("svg"); }
  3. @font-face { font-family: "Avara"; src: url("../fonts/avara/Avara-Bold_Italic_web.eot"); src: url("../fonts/avara/Avara-Bold_Italic_web.eot?#iefix") format("embedded-opentype"), url("../fonts/avara/Avara-Bold_Italic_web.woff") format("woff"), url("../fonts/avara/Avara-Bold_Italic_web.ttf") format("truetype"), url("../fonts/avara/Avara-Bold_Italic_web.svg#Avara") format("svg"); }
  4. @font-face { font-family: "playfairdisplay-regularitalic"; src: url("../fonts/playfair/playfairdisplay-regularitalic.eot"); src: url("../fonts/playfair/playfairdisplay-regularitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/playfair/playfairdisplay-regularitalic.woff") format("woff"), url("../fonts/playfair/playfairdisplay-regularitalic.ttf") format("truetype"), url("../fonts/playfair/playfairdisplay-regularitalic.svg#playfairdisplay-regularitalic") format("svg"); }
  5. @font-face { font-family: "Moche-Bold"; src: url("../fonts/moche/Moche-Bold.eot"); src: url("../fonts/moche/Moche-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/moche/Moche-Bold.woff") format("woff"), url("../fonts/moche/Moche-Bold.ttf") format("truetype"), url("../fonts/moche/Moche-Bold.svg#Moche-Bold") format("svg"); }
  6. @font-face { font-family: "rammetto-regular"; src: url("../fonts/rammetto/rammettoone-regular-webfont.eot"); src: url("../fonts/rammetto/rammettoone-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/rammetto/rammettoone-regular-webfont.woff") format("woff"), url("../fonts/rammetto/rammettoone-regular-webfont.ttf") format("truetype"), url("../fonts/rammetto/rammettoone-regular-webfont.svg#rammetto-regular") format("svg"); }
  7. @font-face { font-family: "rumeur-regular"; src: url("../fonts/rumeur/rumeur-webfont.eot"); src: url("../fonts/rumeur/rumeur-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/rumeur/rumeur-webfont.woff") format("woff"), url("../fonts/rumeur/rumeur-webfont.ttf") format("truetype"), url("../fonts/rumeur/rumeur-webfont.svg#rumeur-regular") format("svg"); }
  8. /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
  9. /* Document ========================================================================== */
  10. /** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
  11. html { margin: 0; padding: 0; line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ font-size: 16px; }
  12. /* Sections ========================================================================== */
  13. /** Remove the margin in all browsers. */
  14. body { margin: 0; padding: 0; }
  15. /** Render the `main` element consistently in IE. */
  16. main { display: block; }
  17. /** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
  18. h1 { font-size: auto; margin: 0; }
  19. /* Grouping content ========================================================================== */
  20. /** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
  21. hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
  22. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  23. pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  24. /* Text-level semantics ========================================================================== */
  25. /** Remove the gray background on active links in IE 10. */
  26. p { margin: 0; }
  27. ul { list-style: none; }
  28. ul, li { margin: 0; padding: 0; }
  29. a { background-color: transparent; color: black; text-decoration: none; }
  30. /** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
  31. abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }
  32. /** Add the correct font weight in Chrome, Edge, and Safari. */
  33. b, strong { font-weight: bolder; }
  34. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  35. code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  36. /** Add the correct font size in all browsers. */
  37. small { font-size: 80%; }
  38. /** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
  39. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  40. sub { bottom: -0.25em; }
  41. sup { top: -0.5em; }
  42. /* Embedded content ========================================================================== */
  43. /** Remove the border on images inside links in IE 10. */
  44. img { border-style: none; width: 100%; height: 100%; vertical-align: bottom; }
  45. /* Forms ========================================================================== */
  46. /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
  47. button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }
  48. /** Show the overflow in IE. 1. Show the overflow in Edge. */
  49. button, input { /* 1 */ overflow: visible; }
  50. /** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
  51. button, select { /* 1 */ text-transform: none; }
  52. /** Correct the inability to style clickable types in iOS and Safari. */
  53. button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
  54. /** Remove the inner border and padding in Firefox. */
  55. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
  56. /** Restore the focus styles unset by the previous rule. */
  57. button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
  58. /** Correct the padding in Firefox. */
  59. fieldset { padding: 0.35em 0.75em 0.625em; }
  60. /** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
  61. legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
  62. /** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
  63. progress { vertical-align: baseline; }
  64. /** Remove the default vertical scrollbar in IE 10+. */
  65. textarea { overflow: auto; }
  66. /** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
  67. [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
  68. /** Correct the cursor style of increment and decrement buttons in Chrome. */
  69. [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
  70. /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
  71. [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
  72. /** Remove the inner padding in Chrome and Safari on macOS. */
  73. [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
  74. /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
  75. ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
  76. /* Interactive ========================================================================== */
  77. /* Add the correct display in Edge, IE 10+, and Firefox. */
  78. details { display: block; }
  79. /* Add the correct display in all browsers. */
  80. summary { display: list-item; }
  81. /* Misc ========================================================================== */
  82. /** Add the correct display in IE 10+. */
  83. template { display: none; }
  84. /** Add the correct display in IE 10. */
  85. [hidden] { display: none; }
  86. h1, h2, h3, p, ul, li, a, span { font-family: "lato"; font-weight: lighter; }
  87. header a { font-size: 2.5rem; line-height: 3rem; }
  88. a, button { border: none; outline: none !important; }
  89. .title-menu h2 { font-family: "rammetto-regular"; }
  90. .home h2, .home p { font-size: 2.5rem; line-height: 3rem; }
  91. .home #text_figli strong { position: relative; }
  92. .home #text_figli strong::after { display: block; position: absolute; content: ""; width: 100%; height: 1px; background: black; bottom: 0; }
  93. .home #text_figli a { position: relative; }
  94. .home #text_figli a#publique { font-family: "playfairdisplay-regularitalic"; }
  95. .home #text_figli a#sociale { font-family: "syne"; }
  96. .home #text_figli a#culturelle { font-family: "Avara"; }
  97. .home #text_figli a#commanditaires { font-family: "Moche-Bold"; }
  98. .home #text_figli a#figureslibres { font-family: "rammetto-regular"; }
  99. .home #text_figli a#logiciels-libres { font-family: "rumeur-regular"; }
  100. .home #text_figli #item .e-content p { font-size: 1.5rem; line-height: 3rem; }
  101. .home #text_figli #item .e-content p strong { font-weight: bold !important; }
  102. .home #text_figli #item .e-content p a { text-decoration: underline; }
  103. .home #text_figli #item .e-content p em { font-style: italic; }
  104. .home #text_figli #item_list.commanditaires { flex-direction: column; }
  105. .home #text_figli #item_list.commanditaires .card-title { line-height: normal; }
  106. #item h2 { width: auto; line-height: 4rem !important; font-size: 4rem !important; font-weight: normal !important; }
  107. #item span { font-size: 1rem; }
  108. #item.publique h2 { font-family: "playfairdisplay-regularitalic"; }
  109. #item.publique span { font-family: "playfairdisplay-regularitalic"; font-weight: normal; }
  110. #item.sociale h2 { font-family: "syne"; }
  111. #item.sociale span { font-family: "syne"; font-weight: normal; }
  112. #item.culturelle h2 { font-family: "Avara"; }
  113. #item.culturelle span { font-family: "Avara"; font-weight: normal; }
  114. a.publique, span.publique { font-family: "playfairdisplay-regularitalic"; }
  115. a.sociale, span.sociale { font-family: "syne"; }
  116. a.culturelle, span.culturelle { font-family: "Avara"; }
  117. .sidebar-right h2 { margin: .5rem 0rem 0rem 0rem; }
  118. .sidebar-right ul > span { font-size: 0.8rem; line-height: 1rem !important; text-decoration: underline; margin-bottom: 0.5rem; }
  119. .sidebar-right ul > li { font-size: 1.7rem; line-height: 2.5rem; }
  120. .sidebar-right ul > li a { font-size: 1.7rem; line-height: 2rem; border-radius: 50px; }
  121. .sidebar-right .informations { padding: 1rem; }
  122. .sidebar-right .informations > div { margin-bottom: 1rem; }
  123. .sidebar-right .informations h3 { font-size: 1.5rem; line-height: 2rem; margin: 0; }
  124. .sidebar-right .informations p { font-size: 1rem; line-height: 1.5rem; }
  125. .other_projets h3 { font-size: 2.5rem; margin: 0; }
  126. .card h2 { margin: 0; font-size: 1rem; }
  127. #text_figli { z-index: 999; opacity: 1; }
  128. #text_figli p > a { z-index: 999; }
  129. #text_figli p > a:before, #text_figli p > a:after { content: ""; position: absolute; bottom: -1px; width: 0px; height: 1px; margin: 1px 0 0; transition: all 0.2s ease-in-out; transition-duration: 0.3s; opacity: 0; background-color: black; }
  130. #text_figli p > a::before { left: 50%; }
  131. #text_figli p > a:after { right: 50%; }
  132. #text_figli p > a:hover { cursor: pointer; }
  133. #text_figli p > a:hover:before, #text_figli p > a:hover:after { width: 100%; opacity: 1; }
  134. #text_figli p > a:hover:before, #text_figli p > a:hover:after { width: 50%; }
  135. #text_figli p > a #icone_list { transition: 1s 0.5s margin-left,0.8s 0.3s opacity; }
  136. #text_figli p > a #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(0deg); transition: 0s 0.2s transform; }
  137. #text_figli p > a #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(0deg); transition: 0.2s 0.2s transform; }
  138. #text_figli p > a.open #icone_list { transition: 0.5s margin-left, 0.5s opacity; }
  139. #text_figli p > a.open #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); transition: 0.8s 0.2s transform; }
  140. #text_figli p > a.open #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(90deg); transition: 1s 0.2s transform; }
  141. #text_figli p > a#figureslibres::before, #text_figli p > a#figureslibres::after { bottom: 5px; }
  142. #text_figli.hidden { opacity: 0; transition: 0.3s opacity ease; }
  143. .circle_hover { position: absolute; width: 0px; height: 0px; transform: translate(-50%, -50%); z-index: 0; transition: height .2s, width .2s; }
  144. .circle_hover.open { width: 200px; height: 200px; transition: height .5s, width .5s; }
  145. .circle_hover.figureslibres { background: url("/user/themes/figureslibres/images/figures_libres.svg") center no-repeat; background-size: contain; }
  146. .circle_hover.publique { background: url("/user/themes/figureslibres/images/publique.svg") center no-repeat; background-size: contain; }
  147. .circle_hover.sociale { background: url("/user/themes/figureslibres/images/sociale.svg") center no-repeat; background-size: contain; }
  148. .circle_hover.culturelle { background: url("/user/themes/figureslibres/images/culturelle.svg") center no-repeat; background-size: contain; }
  149. .circle_hover.commanditaires { background: url("/user/themes/figureslibres/images/commanditaires.svg") center no-repeat; background-size: contain; }
  150. .circle_hover.logiciels-libres { background: url("/user/themes/figureslibres/images/logiciels_libres.svg") center no-repeat; background-size: contain; }
  151. * { box-sizing: border-box; }
  152. .loader { display: none; background-image: url("/user/themes/figureslibres/images/ajax-loader.gif"); background-size: 10px 10px; background-position: center; background-repeat: no-repeat; vertical-align: middle; margin-left: 10px; width: 10px; height: 10px; }
  153. .card .loader { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 50%); z-index: 999; margin-left: 0; }
  154. html, body { background: #f9f9f9fe; }
  155. html.hidden, body.hidden { overflow: hidden; }
  156. img.lazy { display: block; }
  157. body #start { width: calc(( 100% / 1.5 ) - (1rem / 2)); margin: 1rem auto auto 1rem; }
  158. body #start #text_figli p a #icone_list { opacity: 0; margin-left: -30px; z-index: 999; position: relative; display: inline-block; }
  159. body #start #text_figli p a #icone_list .hamburger { padding: 0; margin-left: 10px; }
  160. body #start #text_figli p a #icone_list .hamburger .hamburger-box { vertical-align: middle; }
  161. body #start #text_figli p a.marg { margin-right: 0.5rem; }
  162. body #start #text_figli p a.open #icone_list { z-index: 999; position: relative; display: inline-block; margin-left: 0px; opacity: 1; transition: 0.5s margin-left, 0.5s opacity; }
  163. body #start #text_figli p a.open #icone_list .hamburger { padding: 0; margin-left: 10px; }
  164. body #start #text_figli p a.open #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); transition: 0.8s 0.2s transform; }
  165. body #start #text_figli p a.open #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(90deg); transition: 1s 0.2s transform; }
  166. body #start #text_figli p a.open #icone_list .hamburger .hamburger-box { vertical-align: middle; }
  167. body #start #text_figli #item_list { width: 80vw; margin-top: 0.5rem; position: relative; }
  168. body #start #text_figli #item_list .card { width: calc((100% / 5) - ( 0.5rem * 2)); min-width: 250px; display: inline-block; vertical-align: top; position: relative; margin: 0 0.5rem 0.5rem 0; height: 100%; }
  169. body #start #text_figli #item_list .card > .card-image.open a img { -webkit-filter: grayscale(0); filter: grayscale(0); transition: -webkit-filter 0.3s ease; transition: filter 0.3s ease; transition: filter 0.3s ease, -webkit-filter 0.3s ease; }
  170. body #start #text_figli #item_list .card a { display: block; border-radius: 5px; overflow: auto; }
  171. body #start #text_figli #item_list .card a img { -webkit-filter: grayscale(1); filter: grayscale(1); transition: -webkit-filter 0.3s ease; transition: filter 0.3s ease; transition: filter 0.3s ease, -webkit-filter 0.3s ease; }
  172. body #start #text_figli #item_list .card .card-header { width: 100%; padding: 0.5rem; flex-wrap: wrap; display: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
  173. body #start #text_figli #item_list .card .card-header > * { font-size: 0.8rem; line-height: 1rem; margin-right: 0.5rem; }
  174. body #start #text_figli #item_list .card:hover a { display: block; }
  175. body #start #text_figli #item_list .card:hover a img { -webkit-filter: grayscale(0); filter: grayscale(0); transition: -webkit-filter 0.3s ease; transition: filter 0.3s ease; transition: filter 0.3s ease, -webkit-filter 0.3s ease; }
  176. body #start #text_figli #item_list .card:hover .card-header { display: inline-flex; position: absolute; bottom: 0; }
  177. body #start #text_figli #item_list .card:last-of-type { vertical-align: baseline !important; }
  178. body #start #text_figli #item_list .card #item { width: calc( 80vw - ( 0.5rem * 6)); padding: 2rem 2rem 0.5rem 2rem; margin-top: 0.5rem; border-radius: 5px; position: relative; }
  179. body #start #text_figli #item_list .card #item .content-title { margin: 1rem auto 3rem auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; }
  180. body #start #text_figli #item_list .card #item .content-title a { display: block; }
  181. body #start #text_figli #item_list .card #item .e-content p { font-size: 1rem; line-height: 1.2rem; }
  182. body #start #text_figli #item_list .card #item.publique { background: #ffaeab; }
  183. body #start #text_figli #item_list .card #item.sociale { background: #7eff71; }
  184. body #start #text_figli #item_list .card #item.culturelle { background: #feff74; }
  185. body #start #text_figli #item_list .card #item.commanditaires { background: #fabbde; }
  186. body #start #text_figli #item_list .card #item #icone_list { position: absolute; top: 0px; right: 0; line-height: 0; }
  187. body #start #text_figli #item_list.publique .card:hover .card-header { background: #ffaeab; }
  188. body #start #text_figli #item_list.sociale .card:hover .card-header { background: #7eff71; }
  189. body #start #text_figli #item_list.culturelle .card:hover .card-header { background: #feff74; }
  190. body #start #text_figli #item_list.commanditaires { -moz-columns: 4 150px; columns: 4 150px; -moz-column-gap: 2em; column-gap: 2em; display: block; margin: 1rem auto; }
  191. body #start #text_figli #item_list.commanditaires p { font-size: 1rem; line-height: 1.2rem; margin: 0.5rem auto; }
  192. body #start #text_figli #item_list.commanditaires .card:hover .card-header { background: #feff74; }
  193. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { display: block; width: 70%; min-width: 500px; margin: 1rem 0; }
  194. body #start #text_figli #item_list.figureslibres p, body #start #text_figli #item_list.logiciels-libres p { font-size: 1rem; line-height: 1.5rem; }
  195. body #start #text_figli #top { cursor: pointer; position: relative; width: 100%; text-align: center; }
  196. body:not(.home) #start { margin-top: calc( 2rem + 3rem); }
  197. #icone_list .hamburger { padding: 0.8rem; }
  198. #icone_list .hamburger .hamburger-box { width: 18px; height: 12px; }
  199. #icone_list .hamburger .hamburger-box .hamburger-inner { height: 2px; width: 18px; }
  200. #icone_list .hamburger .hamburger-box .hamburger-inner::before { width: 15px; height: inherit; top: 5px; }
  201. #icone_list .hamburger .hamburger-box .hamburger-inner::after { top: 10px; height: inherit; width: inherit; }
  202. #icone_list .hamburger.hamburger--slider.is-active .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); }
  203. #icone_list .hamburger.hamburger--slider.is-active .hamburger-inner::after { transform: translate3d(0, -10px, 0) rotate(-90deg); }
  204. body.sticky-footer { height: 100%; min-height: 100vh; display: flex; flex-direction: column; }
  205. body.sticky-footer #page-wrapper { flex: 1 0 auto; }
  206. .home footer { color: #acb3c2; display: inline-flex; position: fixed; bottom: 20px; right: 20px; }
  207. .home footer p { font-size: 1rem !important; line-height: 1rem !important; }
  208. .home footer p a img { width: 20px !important; }
  209. .sidebar-right { position: fixed; width: 100%; height: 100%; left: -100vw; top: 0; transition: 0.3s right ease; background: #f9f9f9fe; z-index: 1000; }
  210. .sidebar-right ul span { line-height: 2rem; }
  211. .sidebar-right #icone_list { z-index: 1000; position: fixed; top: 10px; right: 0; }
  212. .sidebar-right .list-projets { height: 100%; overflow: auto; }
  213. .sidebar-right .list-projets .title-menu { padding-left: 0.5rem; }
  214. .sidebar-right .list-projets .title-menu::after { content: " "; width: 0; height: 1px; display: block; margin-top: 0.5rem; }
  215. .sidebar-right .list-projets .container-wrap { display: inline-flex; }
  216. .sidebar-right .list-projets .container { width: 85%; opacity: 0; position: relative; overflow: auto; padding: 1rem 2rem 2rem 0.5rem; margin-top: 20px; }
  217. .sidebar-right .list-projets .container::after { content: " "; height: 0; width: 1px; display: block; position: absolute; top: 0; margin-right: 1rem; right: 0; }
  218. .sidebar-right .list-projets .container ul { margin-bottom: 20px; }
  219. .sidebar-right .list-projets .container ul span.cat { display: block; line-height: 3rem; }
  220. .sidebar-right .list-projets .container ul li { display: inline-flex; align-items: flex-end; width: auto; position: relative; }
  221. .sidebar-right .list-projets .container ul li a { z-index: 0; display: block; background: #f9f9f9fe; transition: 0.6s background; margin-right: 0px; padding: 0 7px; }
  222. .sidebar-right .list-projets .container ul li a .img { pointer-events: none; display: none; position: fixed; width: 300px; height: auto; z-index: 999; transform-origin: center center; transform: rotate(0deg); border-radius: 10px; overflow: hidden; }
  223. .sidebar-right .list-projets .container ul li a:hover { z-index: 999; }
  224. .sidebar-right .list-projets .container ul li a:hover .img { display: block; transition: all 1s ease; }
  225. .sidebar-right .list-projets .container ul li:hover.culturelle a { background: #feff74; transition: 0.6s background; }
  226. .sidebar-right .list-projets .container ul li:hover.sociale a { background: #7eff71; transition: 0.6s background; }
  227. .sidebar-right .list-projets .container ul li:hover.publique a { background: #ffaeab; transition: 0.6s background; }
  228. .sidebar-right .list-projets .container ul li:hover::before { min-width: 100%; transition: 0.3s background; }
  229. .sidebar-right .list-projets .container ul a { color: black; z-index: 999; }
  230. .sidebar-right .list-projets .container ul a.active { color: black; }
  231. .sidebar-right .list-projets .informations { min-width: 250px; position: relative; height: 100%; padding-left: 40px; opacity: 0; }
  232. .sidebar-right.is-active { left: 0; transition: 0.5s 0.3s left ease; }
  233. .sidebar-right.is-active .title-menu::after { width: 100%; background: black; transition: 1s 0.9s width ease; }
  234. .sidebar-right.is-active .informations { padding-left: 25px; opacity: 1; transition: 1s opacity 1s ease; }
  235. .sidebar-right.is-active .container { margin-top: 0; opacity: 1; transition: 1s opacity 1s ease; }
  236. .sidebar-right.is-active .container::after { background: black; height: 100%; transition: 1s 0.9s height ease; }
  237. #item_list { display: inline-flex; flex-wrap: wrap; width: 100%; }
  238. #item_list .card { width: calc(( 100% / 2 ) - (1rem / 2)); height: 100%; }
  239. #item_list .card:nth-child(odd) { margin-right: 1rem; }
  240. #item_list .card .card-header { z-index: 999; display: inline-flex; width: 100%; }
  241. #item_list .card .card-header > * { margin-right: 0.5rem; }
  242. #item .e-content { width: 50%; min-width: 500px; margin: 0 0 2rem 0; }
  243. #item .card-image img:not(:last-of-type) { margin-bottom: 1.5rem; }
  244. .other_projets { border-top: 1px solid black; display: flex; flex-wrap: wrap; margin-top: 1rem; margin-bottom: 1rem; }
  245. .other_projets h3 { margin: 1rem 0 0.5rem 0; width: 100%; }
  246. .other_projets .card { width: calc(( 100% / 3 ) - (1rem / 3)); }
  247. .other_projets .card:nth-child(-1n+3) { margin-right: 0.5rem; }
  248. .other_projets .card .card-header { display: flex; flex-wrap: wrap; }
  249. .other_projets .card .card-header > * { margin-right: 0.5rem; }
  250. @media screen and (max-width: 1024px) { body #start { width: 80%; }
  251. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { width: 100%; }
  252. body #start #text_figli #item_list .card { width: calc(( 100% / 3 ) - 0.5rem); }
  253. body #start #text_figli #item_list .card #item { width: calc(300% + (.5rem * 2)); }
  254. body #start #text_figli #item_list .card #item .content-title { margin: 1rem auto 1rem auto; }
  255. body #start #text_figli #item_list .card #item .e-content { width: 100%; } }
  256. @media screen and (max-width: 1000px) { .sidebar-right .list-projets .container { width: 100%; float: none; padding-bottom: 0; }
  257. .sidebar-right .list-projets .informations { float: none; padding-left: 0.5rem; margin-left: 10px; }
  258. #item_list { width: 90vw !important; } }
  259. @media screen and (max-width: 768px) { body #start #text_figli #item_list .card { width: calc((100% / 2) - .5rem); }
  260. body #start #text_figli #item_list .card #item { width: calc(90vw - 0.5rem); } }
  261. @media screen and (max-width: 510px) { body #start { width: calc( 100% - 1rem); margin: 0.5rem auto 2rem auto; }
  262. body #start #text_figli p { font-size: 1.7rem; line-height: 2.3rem; }
  263. body #start #text_figli #item_list { width: 100% !important; }
  264. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { min-width: 100%; }
  265. body #start #text_figli #item_list .card { width: calc(100%); margin: 0 0 0.5rem 0; }
  266. body #start #text_figli #item_list .card #item { width: 100%; padding: 1rem; }
  267. body #start #text_figli #item_list .card #item .e-content { min-width: 100%; margin: 2rem 0; }
  268. body #start #text_figli #item_list .card #item .content-title h2 { font-size: 2rem !important; line-height: 2.5rem !important; }
  269. body #start #text_figli #item_list .card #item .content-title > div { line-height: 1rem; }
  270. body .sidebar-right { width: 100%; right: -100%; }
  271. body .sidebar-right #icone_list { z-index: 0; top: 0; }
  272. body .sidebar-right #icone_list .hamburger { float: right; z-index: 999; }
  273. body .sidebar-right .list-projets { z-index: 999; }
  274. body .sidebar-right .list-projets .title-menu h2 { font-size: 1.7rem; line-height: 2.3rem; }
  275. body .sidebar-right .list-projets ul li { margin-top: 0 !important; display: initial !important; font-size: 1rem; line-height: 1.5rem; }
  276. body .sidebar-right .list-projets ul li::before { width: 100%; }
  277. body .sidebar-right .list-projets ul li a { display: initial !important; padding: 0rem !important; font-size: 1rem; line-height: 1.5rem; }
  278. body .sidebar-right .list-projets ul li a img { display: none !important; }
  279. body .sidebar-right .list-projets ul li > span { font-size: 1rem; line-height: 1.5rem; }
  280. body .sidebar-right .list-projets .container-wrap { display: block; }
  281. body .sidebar-right .list-projets .container-wrap .container::after { height: 1px; width: 0; bottom: 0; top: auto !important; left: 0 !important; }
  282. body .sidebar-right.is-active .container::after { width: 100% !important; transition: 1s width 1s ease; }
  283. body .sidebar-right .informations h3 { font-size: 1.1rem; }
  284. footer { z-index: 999; justify-content: center; width: 100%; bottom: 0 !important; left: 0 !important; padding: 0.5rem; background-color: #f9f9f9fe; }
  285. .circle_hover.open { width: 100px !important; height: 100px !important; } }
  286. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwiY29uZmlndXJhdGlvbnMvX2ZvbnRzLnNjc3MiLCJjb25maWd1cmF0aW9ucy9fdmFyaWFibGUuc2NzcyIsImNvbmZpZ3VyYXRpb25zL19leHRlbmQuc2NzcyIsInRoZW1lL19yZXNldC5zY3NzIiwidGhlbWUvX3R5cG9ncmFwaHkuc2NzcyIsInRoZW1lL19hbmltYXRpb24uc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19zdGFydC5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIiwidGhlbWUvX3NpZGViYXIuc2NzcyIsInRoZW1lL19ibG9nLnNjc3MiLCJ0aGVtZS9faXRlbS5zY3NzIiwidGhlbWUvX21vYmlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgJ2NvbmZpZ3VyYXRpb25zL19mb250cyc7XG5AaW1wb3J0ICdjb25maWd1cmF0aW9ucy9fdmFyaWFibGUnO1xuQGltcG9ydCAnY29uZmlndXJhdGlvbnMvX2V4dGVuZCc7XG5AaW1wb3J0ICd0aGVtZS9yZXNldCc7XG5AaW1wb3J0ICd0aGVtZS90eXBvZ3JhcGh5JztcblxuQGltcG9ydCAndGhlbWUvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3RoZW1lL2hlYWRlcic7XG5AaW1wb3J0ICd0aGVtZS9zdGFydCc7XG5AaW1wb3J0ICd0aGVtZS9mb290ZXInO1xuQGltcG9ydCAndGhlbWUvc2lkZWJhcic7XG5AaW1wb3J0ICd0aGVtZS9ibG9nJztcbkBpbXBvcnQgJ3RoZW1lL2l0ZW0nO1xuQGltcG9ydCAndGhlbWUvbW9iaWxlJztcbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiUmFsZXdheVwiLCBcIkhlbHZldGljYVwiLCBcIlRhaG9tYVwiLCBcIkdlbmV2YVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGVyOiAgXHRcdFx0XCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1tb25vOiBcdFx0XHRcdFwiSW5jb25zb2xhdGFcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LXNlcmlmOlx0XHRcdFx0XCJHZW9yZ2lhXCIsIFwiVGltZXNcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLyBAZm9udC1mYWNlXG5cbiRsYXRvOiBcImxhdG9cIjtcbiRmYW1pbHk6IFwibGF0b1wiO1xuJGZpbGUtcmVndWxhcjogXCJMYXRvLVJlZ3VsYXJcIjtcbiRjYXRlZ29yeTogXCJzYW5zLXNlcmlmXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJGxhdG8sICRmaWxlLXJlZ3VsYXIsICRmYW1pbHksICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseSArIFwiL1wiICsgJGZpbGUtcmVndWxhcjtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skbGF0b31cIjtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90XCIpO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi50dGZcIikgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnN2ZyNcIiArICRsYXRvICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbGF0b30ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRsYXRvfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JGxhdG99XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRzeW5lOiBcInN5bmVcIjtcbiRmYW1pbHktYm9sZDogXCJzeW5lXCI7XG4kZmlsZS1ib2xkOiBcIlN5bmUtQm9sZFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRzeW5lLCAkZmlsZS1ib2xkLCAkZmFtaWx5LWJvbGQsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1ib2xkICsgXCIvXCIgKyAkZmlsZS1ib2xkO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRzeW5lfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB9XG5cbiAgICAlI3skc3luZX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRzeW5lfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN5bmV9XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRhdmFyYTogXCJBdmFyYVwiO1xuJGZhbWlseS1ib2xkLWl0YWxpYzogXCJhdmFyYVwiO1xuJGZpbGUtYm9sZC1pdGFsaWM6IFwiQXZhcmEtQm9sZF9JdGFsaWNfd2ViXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJGF2YXJhLCAkZmlsZS1ib2xkLWl0YWxpYywgJGZhbWlseS1ib2xkLWl0YWxpYywgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LWJvbGQtaXRhbGljICsgXCIvXCIgKyAkZmlsZS1ib2xkLWl0YWxpYztcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skYXZhcmF9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkYXZhcmEgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRhdmFyYX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRhdmFyYX1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRhdmFyYX1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJHBsYXlmYWlyOiBcInBsYXlmYWlyZGlzcGxheS1yZWd1bGFyaXRhbGljXCI7XG4kZmFtaWx5LWl0YWxpYzogXCJwbGF5ZmFpclwiO1xuJGZpbGUtaXRhbGljOiBcInBsYXlmYWlyZGlzcGxheS1yZWd1bGFyaXRhbGljXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJHBsYXlmYWlyLCAkZmlsZS1pdGFsaWMsICRmYW1pbHktaXRhbGljLCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCIuLi9mb250cy9cIiArICRmYW1pbHktaXRhbGljICsgXCIvXCIgKyAkZmlsZS1pdGFsaWM7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHBsYXlmYWlyICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skcGxheWZhaXJ9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4kbW9jaGU6IFwiTW9jaGUtQm9sZFwiO1xuJGZhbWlseS1yZWd1bGFyMjogXCJtb2NoZVwiO1xuJGZpbGUtcmVndWxhcjI6IFwiTW9jaGUtQm9sZFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRtb2NoZSwgJGZpbGUtcmVndWxhcjIsICRmYW1pbHktcmVndWxhcjIsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1yZWd1bGFyMiArIFwiL1wiICsgJGZpbGUtcmVndWxhcjI7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JG1vY2hlfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJG1vY2hlICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbW9jaGV9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JG1vY2hlfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JG1vY2hlfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4kcmFtbWV0dG86IFwicmFtbWV0dG8tcmVndWxhclwiO1xuJGZhbWlseS1yZWd1bGFyMzogXCJyYW1tZXR0b1wiO1xuJGZpbGUtcmVndWxhcjM6IFwicmFtbWV0dG9vbmUtcmVndWxhci13ZWJmb250XCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJHJhbW1ldHRvLCAkZmlsZS1yZWd1bGFyMywgJGZhbWlseS1yZWd1bGFyMywgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LXJlZ3VsYXIzICsgXCIvXCIgKyAkZmlsZS1yZWd1bGFyMztcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skcmFtbWV0dG99XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkcmFtbWV0dG8gKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRyYW1tZXR0b30ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcmFtbWV0dG99XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcmFtbWV0dG99XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRydW1ldXI6IFwicnVtZXVyLXJlZ3VsYXJcIjtcbiRmYW1pbHktcmVndWxhcjQ6IFwicnVtZXVyXCI7XG4kZmlsZS1yZWd1bGFyNDogXCJydW1ldXItd2ViZm9udFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRyYW1tZXR0bywgJGZpbGUtcmVndWxhcjQsICRmYW1pbHktcmVndWxhcjQsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1yZWd1bGFyNCArIFwiL1wiICsgJGZpbGUtcmVndWxhcjQ7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHJhbW1ldHRvICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skcmFtbWV0dG99IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGluY2x1ZGUgZm9udC1mYWNlKCRsYXRvLCAkZmlsZS1yZWd1bGFyLCAkZmFtaWx5LCAkY2F0ZWdvcnkpOy8vMVxuQGluY2x1ZGUgZm9udC1mYWNlKCRzeW5lLCAkZmlsZS1ib2xkLCAkZmFtaWx5LWJvbGQsICRjYXRlZ29yeSk7Ly8yXG5AaW5jbHVkZSBmb250LWZhY2UoJGF2YXJhLCAkZmlsZS1ib2xkLWl0YWxpYywgJGZhbWlseS1ib2xkLWl0YWxpYywgJGNhdGVnb3J5KTsvLzJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkcGxheWZhaXIsICRmaWxlLWl0YWxpYywgJGZhbWlseS1pdGFsaWMsICRjYXRlZ29yeSk7Ly8yXG5cbkBpbmNsdWRlIGZvbnQtZmFjZSgkbW9jaGUsICRmaWxlLXJlZ3VsYXIyLCAkZmFtaWx5LXJlZ3VsYXIyLCAkY2F0ZWdvcnkpOy8vMlxuQGluY2x1ZGUgZm9udC1mYWNlKCRyYW1tZXR0bywgJGZpbGUtcmVndWxhcjMsICRmYW1pbHktcmVndWxhcjMsICRjYXRlZ29yeSk7Ly8yXG5AaW5jbHVkZSBmb250LWZhY2UoJHJ1bWV1ciwgJGZpbGUtcmVndWxhcjQsICRmYW1pbHktcmVndWxhcjQsICRjYXRlZ29yeSk7Ly8yXG5cbi8vIGZvbnQtc2l6ZVxuJHR4dC1maWdsaTogMi41cmVtO1xuXG4vLyBsaW5lLWhlaWdodFxuJEZsaG9tZTogM3JlbTtcblxuJG1hcmc6IDAuNXJlbTtcbiRtYXJnSTogMXJlbTtcbiRXaTogODAlO1xuXG4kV2k1MDogY2FsYygoIDEwMCUgLyAyICkgLSAoI3skbWFyZ0l9IC8gMikpO1xuJFdpODA6IGNhbGMoKCAxMDAlIC8gMS41ICkgLSAoI3skbWFyZ0l9IC8gMikpO1xuJFdpMzM6IGNhbGMoKCAxMDAlIC8gMyApIC0gKCN7JG1hcmdJfSAvIDMpKTtcblxuLy8gbW9iaWxlXG4kdHh0LWZpZ2xpLW06IDEuNXJlbTtcblxuLy8gbGluZS1oZWlnaHRcbiRGbGhvbWUtbTogMnJlbTtcbiRXaS1tOiBjYWxjKCAxMDAlIC0gMXJlbSk7XG4kV2k4MC1tOiA4MCU7XG4kV2kzMy1tOiBjYWxjKCggMTAwJSAvIDMgKSAtIDAuNXJlbSk7XG5cbi8vIHRhYmxldHRlXG4kdHh0LWZpZ2xpLXQ6IDIuNXJlbTtcblxuLy8gbGluZS1oZWlnaHRcbiRGbGhvbWUtdDogM3JlbTtcblxuLy8gY29sb3JcbiRjb2xvcl9wdWJsaXF1ZTogI2ZmYWVhYjtcbiRjb2xvcl9zb2NpYWxlOiAjN2VmZjcxO1xuJGNvbG9yX2N1bHR1cmVsbGU6ICNmZWZmNzQ7XG4kY29sb3JfY29tbWFuZGl0YWlyZTogI2ZhYmJkZTtcbiRjb2xvcl9maWd1cmVzbGlicmVzOiAjODJmOGVlO1xuIiwiIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogYXV0bztcbiAgbWFyZ2luOjA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbnB7XG4gbWFyZ2luOiAwO1xufVxuXG51bHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnVsLGxpe1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGJsYWNrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsImgxLCBoMiwgaDMsIHAsIHVsLCBsaSwgYSwgc3BhbntcbiAgZm9udC1mYW1pbHk6ICRsYXRvO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbn1cblxuaGVhZGVye1xuICBhe1xuICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaTtcbiAgICBsaW5lLWhlaWdodDogJEZsaG9tZTtcbiAgfVxufVxuXG5hLCBidXR0b257XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi50aXRsZS1tZW51e1xuICBoMntcbiAgICBmb250LWZhbWlseTogJHJhbW1ldHRvO1xuICB9XG59XG4uaG9tZXtcbiAgaDIsIHB7XG4gICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICB9XG4gICN0ZXh0X2ZpZ2xpe1xuICAgIHN0cm9uZ3tcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGF7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmI3B1YmxpcXVle1xuICAgICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xuICAgICAgfVxuICAgICAgJiNzb2NpYWxle1xuICAgICAgICBmb250LWZhbWlseTogJHN5bmU7XG4gICAgICB9XG4gICAgICAmI2N1bHR1cmVsbGV7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYXZhcmE7XG4gICAgICB9XG4gICAgICAmI2NvbW1hbmRpdGFpcmVze1xuICAgICAgICBmb250LWZhbWlseTogJG1vY2hlO1xuICAgICAgfVxuICAgICAgJiNmaWd1cmVzbGlicmVze1xuICAgICAgICBmb250LWZhbWlseTogJHJhbW1ldHRvO1xuICAgICAgfVxuICAgICAgJiNsb2dpY2llbHMtbGlicmVze1xuICAgICAgICBmb250LWZhbWlseTogJHJ1bWV1cjtcbiAgICAgIH1cbiAgICB9XG4gICAgI2l0ZW17XG4gICAgICAuZS1jb250ZW50e1xuICAgICAgICBwe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgIHN0cm9uZ3tcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbXtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI2l0ZW1fbGlzdHtcbiAgICAgICYuY29tbWFuZGl0YWlyZXN7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC5jYXJkLXRpdGxle1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2l0ZW17XG4gIGgye1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDRyZW0haW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xuICB9XG4gIHNwYW57XG4gICAgZm9udC1zaXplOiAxcmVtO1xuIH1cbiAmLnB1YmxpcXVle1xuICAgaDJ7XG4gICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXI7XG4gICB9XG4gICBzcGFue1xuICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xuICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgfVxuIH1cbiAmLnNvY2lhbGV7XG4gICBoMntcbiAgICAgZm9udC1mYW1pbHk6ICRzeW5lO1xuICAgfVxuICAgc3BhbntcbiAgICAgZm9udC1mYW1pbHk6ICRzeW5lO1xuICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgfVxuIH1cbiAgJi5jdWx0dXJlbGxle1xuICAgIGgye1xuICAgICAgZm9udC1mYW1pbHk6ICRhdmFyYTtcbiAgICB9XG4gICAgc3BhbntcbiAgICAgIGZvbnQtZmFtaWx5OiAkYXZhcmE7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5hLnB1YmxpcXVlLCBzcGFuLnB1YmxpcXVle1xuICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xufVxuXG5hLnNvY2lhbGUsIHNwYW4uc29jaWFsZXtcbiAgZm9udC1mYW1pbHk6ICRzeW5lO1xufVxuXG5hLmN1bHR1cmVsbGUsIHNwYW4uY3VsdHVyZWxsZXtcbiAgZm9udC1mYW1pbHk6ICRhdmFyYTtcbn1cblxuLnNpZGViYXItcmlnaHR7XG4gIGgye1xuICAgIG1hcmdpbjogLjVyZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbiAgdWwgPiBzcGFue1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbiAgdWwgPiBsaXtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICBhe1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgfVxuICB9XG4gIC5pbmZvcm1hdGlvbnN7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICAmPiBkaXZ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBoM3tcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIHB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ub3RoZXJfcHJvamV0c3tcbiAgaDN7XG4gICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uY2FyZHtcbiAgaDJ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuIiwiJGFuaW1hdGU6IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4jdGV4dF9maWdsaXtcbiAgei1pbmRleDogOTk5O1xuICBvcGFjaXR5OiAxO1xuICBwe1xuICAgICYgPiBhe1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IDFweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltYXRlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuICAgICAgJjphZnRlcntcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgdHJhbnNpdGlvbjogMXMgMC41cyBtYXJnaW4tbGVmdCwwLjhzIDAuM3Mgb3BhY2l0eTtcbiAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAmLmhhbWJ1cmdlci0tc2xpZGVye1xuICAgICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDVweCwwKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IDBzIDAuMnMgdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTBweCwwKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vcGVue1xuICAgICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIG1hcmdpbi1sZWZ0LCAwLjVzIG9wYWNpdHk7XG4gICAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAgICYuaGFtYnVyZ2VyLS1zbGlkZXJ7XG4gICAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXJ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDVweCwwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuOHMgMC4ycyB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTBweCwwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMXMgMC4ycyB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmI2ZpZ3VyZXNsaWJyZXN7XG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXJ7XG4gICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5oaWRkZW57XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIG9wYWNpdHkgZWFzZTtcbiAgfVxufVxuXG4uY2lyY2xlX2hvdmVye1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycywgd2lkdGggLjJzO1xuICAmLm9wZW57XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cywgd2lkdGggLjVzO1xuICB9XG4gICYuZmlndXJlc2xpYnJlc3tcbiAgICBiYWNrZ3JvdW5kOlxuICAgIHVybChcIi91c2VyL3RoZW1lcy9maWd1cmVzbGlicmVzL2ltYWdlcy9maWd1cmVzX2xpYnJlcy5zdmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgJi5wdWJsaXF1ZXtcbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICB1cmwoXCIvdXNlci90aGVtZXMvZmlndXJlc2xpYnJlcy9pbWFnZXMvcHVibGlxdWUuc3ZnXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgJi5zb2NpYWxle1xuICAgIGJhY2tncm91bmQ6XG4gICAgdXJsKFwiL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL3NvY2lhbGUuc3ZnXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gICYuY3VsdHVyZWxsZXtcbiAgICBiYWNrZ3JvdW5kOlxuICAgIHVybChcIi91c2VyL3RoZW1lcy9maWd1cmVzbGlicmVzL2ltYWdlcy9jdWx0dXJlbGxlLnN2Z1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAmLmNvbW1hbmRpdGFpcmVze1xuICAgIGJhY2tncm91bmQ6XG4gICAgdXJsKFwiL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL2NvbW1hbmRpdGFpcmVzLnN2Z1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAmLmxvZ2ljaWVscy1saWJyZXN7XG4gICAgYmFja2dyb3VuZDpcbiAgICB1cmwoXCIvdXNlci90aGVtZXMvZmlndXJlc2xpYnJlcy9pbWFnZXMvbG9naWNpZWxzX2xpYnJlcy5zdmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cbiIsIi5ob21le1xuICBoZWFkZXJ7XG4gIH1cbn1cbiIsIip7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sb2FkZXJ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZicpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbn1cblxuLmNhcmR7XG4gIC5sb2FkZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5odG1sLCBib2R5e1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5ZmU7XG4gICYuaGlkZGVue1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbmltZy5sYXp5e1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJvZHl7XG4gICNzdGFydHtcbiAgICAgIHdpZHRoOiAkV2k4MDtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvIGF1dG8gMXJlbTtcbiAgICAgICN0ZXh0X2ZpZ2xpe1xuICAgICAgICBwIHtcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgI2ljb25lX2xpc3R7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIC5oYW1idXJnZXItYm94e1xuICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubWFyZ3tcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYub3BlbntcbiAgICAgICAgICAgICAgI2ljb25lX2xpc3R7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgbWFyZ2luLWxlZnQsIDAuNXMgb3BhY2l0eTtcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2Vye1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgJi5oYW1idXJnZXItLXNsaWRlcntcbiAgICAgICAgICAgICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNXB4LDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC44cyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAxcyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5oYW1idXJnZXItYm94e1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjaXRlbV9saXN0e1xuICAgICAgICAgIHdpZHRoOiA4MHZ3O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5jYXJke1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gNSkgLSAoICN7JG1hcmd9ICogMikgKTtcbiAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJG1hcmcgJG1hcmcgMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgJiA+IC5jYXJkLWltYWdle1xuICAgICAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtYXJnO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAmID4gKntcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjaXRlbXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA4MHZ3IC0gKCAjeyRtYXJnfSAqIDYpICk7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMC41cmVtIDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbWFyZztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5jb250ZW50LXRpdGxle1xuICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAzcmVtIGF1dG87XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lLWNvbnRlbnR7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbjogMXJlbSBhdXRvIDJyZW0gYXV0bztcbiAgICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wdWJsaXF1ZXtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3B1YmxpcXVlO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNvY2lhbGV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zb2NpYWxlO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1bHR1cmVsbGV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9jdWx0dXJlbGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21tYW5kaXRhaXJlc3tcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2NvbW1hbmRpdGFpcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnB1YmxpcXVle1xuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgLmNhcmQtaGVhZGVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wdWJsaXF1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNvY2lhbGV7XG4gICAgICAgICAgLmNhcmR7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NvY2lhbGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jdWx0dXJlbGxle1xuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgLmNhcmQtaGVhZGVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9jdWx0dXJlbGxlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY29tbWFuZGl0YWlyZXN7XG4gICAgICAgICAgY29sdW1uczogNCAxNTBweDtcbiAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDJlbTtcbiAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDJlbTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZHtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgIC5jYXJkLWhlYWRlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfY3VsdHVyZWxsZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmZpZ3VyZXNsaWJyZXMsICYubG9naWNpZWxzLWxpYnJlc3tcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjdG9we1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLmhvbWUpe1xuICAgICNzdGFydHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoIDJyZW0gKyAgI3skRmxob21lfSk7XG4gICAgfVxuICB9XG59XG5cbiNpY29uZV9saXN0e1xuICAuaGFtYnVyZ2Vye1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAuaGFtYnVyZ2VyLWJveHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmV7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVye1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgJjo6YWZ0ZXIgIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU3RpY2t5IEZvb3RlciBzb2x1dGlvblxuYm9keS5zdGlja3ktZm9vdGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAjcGFnZS13cmFwcGVyIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4uaG9tZXtcbiAgZm9vdGVye1xuICAgIGNvbG9yOiAjYWNiM2MyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICBhe1xuICAgICAgaW1ne1xuICAgICAgICAgIHdpZHRoOiAyMHB4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpZGViYXItcmlnaHR7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogLTEwMHZ3O1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IDAuM3MgcmlnaHQgZWFzZTtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOWZlO1xuICB6LWluZGV4OiAxMDAwO1xuICB1bHtcbiAgICBzcGFue1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgI2ljb25lX2xpc3R7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5saXN0LXByb2pldHN7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC50aXRsZS1tZW51e1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lci13cmFwe1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICAgIC5jb250YWluZXJ7XG4gICAgICB3aWR0aDogODUlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW0gMC41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB1bHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBzcGFuLmNhdHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgfVxuICAgICAgbGl7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGF7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5ZmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC42cyBiYWNrZ3JvdW5kO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgICAgIC5pbWd7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIC5pbWd7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAmLmN1bHR1cmVsbGV7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfY3VsdHVyZWxsZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC42cyBiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNvY2lhbGV7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc29jaWFsZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC42cyBiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnB1YmxpcXVle1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3B1YmxpcXVlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjZzIGJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmV7fVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGJhY2tncm91bmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhe1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIH1cbiAgICAuaW5mb3JtYXRpb25ze1xuICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgIH1cbiAgfVxuICAmLmlzLWFjdGl2ZXtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXMgMC4zcyBsZWZ0IGVhc2U7XG4gICAgLnRpdGxlLW1lbnV7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICB0cmFuc2l0aW9uOiAxcyAwLjlzIHdpZHRoIGVhc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbmZvcm1hdGlvbnN7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogMXMgb3BhY2l0eSAxcyBlYXNlO1xuXG4gICAgfVxuICAgIC5jb250YWluZXJ7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IDFzIG9wYWNpdHkgMXMgZWFzZTtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAxcyAwLjlzIGhlaWdodCBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2l0ZW1fbGlzdHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIC5jYXJke1xuICAgIHdpZHRoOiAkV2k1MDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgJjpudGgtY2hpbGQob2RkKXtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdJO1xuICAgIH1cbiAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJiA+ICoge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2l0ZW17XG4gIC5lLWNvbnRlbnR7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtaW4td2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICB9XG4gIC5jYXJkLWltYWdle1xuICAgIGltZzpub3QoOmxhc3Qtb2YtdHlwZSl7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5vdGhlcl9wcm9qZXRze1xuICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogJG1hcmdJO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ0k7XG4gIGgze1xuICAgIG1hcmdpbjogMXJlbSAwICRtYXJnIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNhcmR7XG4gICAgd2lkdGg6ICRXaTMzO1xuICAgICY6bnRoLWNoaWxkKC0xbiszKXtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmc7XG4gICAgfVxuICAgIC5jYXJkLWhlYWRlcntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAmID4gKntcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7XG4gIGJvZHl7XG4gICAgI3N0YXJ0e1xuICAgICAgd2lkdGg6ICRXaTgwLW07XG4gICAgICAjdGV4dF9maWdsaXtcbiAgICAgICAgI2l0ZW1fbGlzdHtcbiAgICAgICAgICAmLmZpZ3VyZXNsaWJyZXMsICYubG9naWNpZWxzLWxpYnJlc3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZHtcbiAgICAgICAgICAgIHdpZHRoOiAkV2kzMy1tO1xuICAgICAgICAgICAgI2l0ZW17XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMwMCUgKyAoLjVyZW0gKiAyKSk7XG4gICAgICAgICAgICAgIC5jb250ZW50LXRpdGxle1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSBhdXRvIDFyZW0gYXV0bztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZS1jb250ZW50e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KXtcbiAgLnNpZGViYXItcmlnaHR7XG4gICAgLmxpc3QtcHJvamV0cyB7XG4gICAgICAuY29udGFpbmVye1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLmluZm9ybWF0aW9uc3tcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI2l0ZW1fbGlzdHtcbiAgICB3aWR0aDogOTB2dyFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSAjc3RhcnQgI3RleHRfZmlnbGkgI2l0ZW1fbGlzdCAuY2FyZHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gLjVyZW0pO1xuICAgICNpdGVte1xuICAgICAgd2lkdGg6IGNhbGMoOTB2dyAtIDAuNXJlbSk7XG4gICAgfVxuICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEwcHgpIHtcbiAgYm9keXtcbiAgICAjc3RhcnR7XG4gICAgICB3aWR0aDogJFdpLW07XG4gICAgICBtYXJnaW46IDAuNXJlbSBhdXRvIDJyZW0gYXV0bztcbiAgICAgICN0ZXh0X2ZpZ2xpe1xuICAgICAgICBwe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjNyZW07XG4gICAgICAgIH1cbiAgICAgICAgI2l0ZW1fbGlzdHtcbiAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgJi5maWd1cmVzbGlicmVzLCAmLmxvZ2ljaWVscy1saWJyZXN7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgICAgICNpdGVte1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgLmUtY29udGVudHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmNvbnRlbnQtdGl0bGV7XG4gICAgICAgICAgICAgICAgaDJ7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IGRpdntcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zaWRlYmFyLXJpZ2h0e1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICByaWdodDogLTEwMCU7XG4gICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAuaGFtYnVyZ2Vye1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5saXN0LXByb2pldHN7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgLnRpdGxlLW1lbnV7XG4gICAgICAgICAgaDJ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjNyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVse1xuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDByZW0haW1wb3J0YW50O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJj4gc3BhbntcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyLXdyYXB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgdG9wOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZXtcbiAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDFzIHdpZHRoIDFzIGVhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mb3JtYXRpb25ze1xuICAgICAgICBoM3tcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvb3RlcntcbiAgICB6LWluZGV4OiA5OTk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOWZlO1xuICB9XG5cbiAgLmNpcmNsZV9ob3Zlci5vcGVue1xuICAgIHdpZHRoOiAxMDBweCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDBweCFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNvTEksVUFBVSxHQUNOLFdBQVcsRUFBRSxNQUFjLEVBQzNCLEdBQUcsRUFBRSxxQ0FBdUIsRUFDNUIsR0FBRyxFQUFFLDRDQUE4QixDQUFDLDJCQUEyQixFQUN6RCxzQ0FBd0IsQ0FBQyxjQUFjLEVBQ3ZDLHFDQUF1QixDQUFFLGtCQUFrQixFQUMzQywwQ0FBeUMsQ0FBQyxhQUFhOztBQU5qRSxVQUFVLEdBQ04sV0FBVyxFQUFFLE1BQWMsRUFDM0IsR0FBRyxFQUFFLGtDQUF1QixFQUM1QixHQUFHLEVBQUUseUNBQThCLENBQUMsMkJBQTJCLEVBQ3pELG1DQUF3QixDQUFDLGNBQWMsRUFDdkMsa0NBQXVCLENBQUUsa0JBQWtCLEVBQzNDLHVDQUF5QyxDQUFDLGFBQWE7O0FBTmpFLFVBQVUsR0FDTixXQUFXLEVBQUUsT0FBYyxFQUMzQixHQUFHLEVBQUUsK0NBQXVCLEVBQzVCLEdBQUcsRUFBRSxzREFBOEIsQ0FBQywyQkFBMkIsRUFDekQsZ0RBQXdCLENBQUMsY0FBYyxFQUN2QywrQ0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MscURBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSwrQkFBYyxFQUMzQixHQUFHLEVBQUUsMERBQXVCLEVBQzVCLEdBQUcsRUFBRSxpRUFBOEIsQ0FBQywyQkFBMkIsRUFDekQsMkRBQXdCLENBQUMsY0FBYyxFQUN2QywwREFBdUIsQ0FBRSxrQkFBa0IsRUFDM0Msd0ZBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSxZQUFjLEVBQzNCLEdBQUcsRUFBRSxvQ0FBdUIsRUFDNUIsR0FBRyxFQUFFLDJDQUE4QixDQUFDLDJCQUEyQixFQUN6RCxxQ0FBd0IsQ0FBQyxjQUFjLEVBQ3ZDLG9DQUF1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 */