theme.css 91 KB

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