primeng 18.0.0-beta.1 → 18.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +1 -1
  3. package/accordion/style/accordionstyle.d.ts +37 -0
  4. package/api/translation.d.ts +2 -0
  5. package/autocomplete/autocomplete.d.ts +2 -3
  6. package/autocomplete/style/autocompletestyle.d.ts +69 -0
  7. package/avatar/style/avatarstyle.d.ts +25 -0
  8. package/avatargroup/style/avatargroupstyle.d.ts +14 -0
  9. package/badge/style/badgestyle.d.ts +17 -0
  10. package/base/style/basestyle.d.ts +4 -0
  11. package/blockui/blockui.d.ts +1 -1
  12. package/blockui/style/blockuistyle.d.ts +17 -0
  13. package/breadcrumb/style/breadcrumbstyle.d.ts +45 -0
  14. package/button/style/buttonstyle.d.ts +29 -0
  15. package/buttongroup/style/buttongroupstyle.d.ts +17 -0
  16. package/card/style/cardstyle.d.ts +45 -0
  17. package/carousel/style/carouselstyle.d.ts +69 -0
  18. package/cascadeselect/cascadeselect.d.ts +2 -2
  19. package/cascadeselect/style/cascadeselectstyle.d.ts +65 -0
  20. package/checkbox/style/checkboxstyle.d.ts +29 -0
  21. package/chip/style/chipstyle.d.ts +33 -0
  22. package/colorpicker/colorpicker.d.ts +1 -1
  23. package/colorpicker/style/colorpickerstyle.d.ts +45 -0
  24. package/confirmdialog/confirmdialog.d.ts +1 -1
  25. package/confirmdialog/style/confirmdialogstyle.d.ts +33 -0
  26. package/confirmpopup/confirmpopup.d.ts +3 -3
  27. package/confirmpopup/style/confirmpopupstyle.d.ts +41 -0
  28. package/contextmenu/contextmenu.d.ts +2 -2
  29. package/contextmenu/style/contextmenustyle.d.ts +54 -0
  30. package/dataview/dataview.d.ts +1 -1
  31. package/dataview/style/dataviewstyle.d.ts +37 -0
  32. package/datepicker/datepicker.d.ts +1 -1
  33. package/datepicker/style/datepickerstyle.d.ts +165 -0
  34. package/dialog/style/dialogstyle.d.ts +49 -0
  35. package/divider/style/dividerstyle.d.ts +21 -0
  36. package/dock/style/dockstyle.d.ts +41 -0
  37. package/drawer/style/drawerstyle.d.ts +37 -0
  38. package/dropdown/style/dropdownstyle.d.ts +14 -0
  39. package/dynamicdialog/style/dynamicdialogstyle.d.ts +49 -0
  40. package/editor/style/editorstyle.d.ts +25 -0
  41. package/esm2022/accordion/accordion.mjs +3 -3
  42. package/esm2022/accordion/style/accordionstyle.mjs +37 -1
  43. package/esm2022/api/primengconfig.mjs +3 -1
  44. package/esm2022/api/translation.mjs +1 -1
  45. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  46. package/esm2022/autocomplete/style/autocompletestyle.mjs +69 -1
  47. package/esm2022/avatar/style/avatarstyle.mjs +25 -1
  48. package/esm2022/avatargroup/style/avatargroupstyle.mjs +14 -1
  49. package/esm2022/badge/style/badgestyle.mjs +17 -1
  50. package/esm2022/basecomponent/basecomponent.mjs +3 -4
  51. package/esm2022/blockui/blockui.mjs +3 -3
  52. package/esm2022/blockui/style/blockuistyle.mjs +17 -1
  53. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +45 -1
  54. package/esm2022/button/style/buttonstyle.mjs +29 -1
  55. package/esm2022/buttongroup/style/buttongroupstyle.mjs +17 -1
  56. package/esm2022/card/style/cardstyle.mjs +45 -1
  57. package/esm2022/carousel/style/carouselstyle.mjs +69 -1
  58. package/esm2022/cascadeselect/cascadeselect.mjs +15 -19
  59. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +65 -1
  60. package/esm2022/checkbox/checkbox.mjs +1 -1
  61. package/esm2022/checkbox/style/checkboxstyle.mjs +29 -1
  62. package/esm2022/chip/style/chipstyle.mjs +33 -1
  63. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  64. package/esm2022/colorpicker/style/colorpickerstyle.mjs +45 -1
  65. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  66. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +33 -1
  67. package/esm2022/confirmpopup/confirmpopup.mjs +11 -11
  68. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +41 -1
  69. package/esm2022/contextmenu/contextmenu.mjs +15 -15
  70. package/esm2022/contextmenu/style/contextmenustyle.mjs +54 -1
  71. package/esm2022/dataview/dataview.mjs +3 -3
  72. package/esm2022/dataview/style/dataviewstyle.mjs +37 -1
  73. package/esm2022/datepicker/datepicker.mjs +3 -3
  74. package/esm2022/datepicker/style/datepickerstyle.mjs +165 -1
  75. package/esm2022/dialog/style/dialogstyle.mjs +49 -1
  76. package/esm2022/divider/style/dividerstyle.mjs +21 -1
  77. package/esm2022/dock/style/dockstyle.mjs +41 -1
  78. package/esm2022/drawer/drawer.mjs +3 -3
  79. package/esm2022/drawer/style/drawerstyle.mjs +37 -1
  80. package/esm2022/dropdown/dropdown.mjs +9 -9
  81. package/esm2022/dropdown/style/dropdownstyle.mjs +4 -1
  82. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +49 -1
  83. package/esm2022/editor/style/editorstyle.mjs +25 -1
  84. package/esm2022/fieldset/style/fieldsetstyle.mjs +37 -1
  85. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  86. package/esm2022/fileupload/fileupload.mjs +46 -13
  87. package/esm2022/fileupload/style/fileuploadstyle.mjs +73 -1
  88. package/esm2022/floatlabel/style/floatlabelstyle.mjs +17 -1
  89. package/esm2022/fluid/style/fluidstyle.mjs +17 -1
  90. package/esm2022/galleria/style/galleriastyle.mjs +125 -1
  91. package/esm2022/iconfield/style/iconfieldstyle.mjs +23 -4
  92. package/esm2022/image/style/imagestyle.mjs +57 -1
  93. package/esm2022/inplace/style/inplacestyle.mjs +25 -1
  94. package/esm2022/inputgroup/style/inputgroupstyle.mjs +24 -8
  95. package/esm2022/inputmask/inputmask.mjs +1 -1
  96. package/esm2022/inputmask/style/inputmaskstyle.mjs +17 -1
  97. package/esm2022/inputnumber/inputnumber.mjs +3 -3
  98. package/esm2022/inputnumber/style/inputnumberstyle.mjs +33 -1
  99. package/esm2022/inputotp/inputotp.mjs +3 -3
  100. package/esm2022/inputotp/style/inputotpstyle.mjs +21 -1
  101. package/esm2022/inputtext/style/inputtextstyle.mjs +17 -1
  102. package/esm2022/inputtextarea/style/textareastyle.mjs +17 -1
  103. package/esm2022/knob/style/knobstyle.mjs +29 -1
  104. package/esm2022/listbox/listbox.mjs +9 -9
  105. package/esm2022/listbox/style/listboxstyle.mjs +53 -1
  106. package/esm2022/megamenu/megamenu.mjs +15 -15
  107. package/esm2022/megamenu/style/megamenustyle.mjs +81 -1
  108. package/esm2022/menu/style/menustyle.mjs +57 -1
  109. package/esm2022/menubar/style/menubarstyle.mjs +65 -1
  110. package/esm2022/message/style/messagestyle.mjs +38 -2
  111. package/esm2022/metergroup/metergroup.mjs +10 -10
  112. package/esm2022/metergroup/style/metergroupstyle.mjs +45 -1
  113. package/esm2022/multiselect/multiselect.mjs +53 -53
  114. package/esm2022/multiselect/style/multiselectstyle.mjs +85 -1
  115. package/esm2022/orderlist/orderlist.mjs +3 -3
  116. package/esm2022/orderlist/style/orderliststyle.mjs +21 -1
  117. package/esm2022/organizationchart/organizationchart.mjs +3 -3
  118. package/esm2022/organizationchart/style/organizationchartstyle.mjs +53 -1
  119. package/esm2022/overlay/overlay.mjs +1 -1
  120. package/esm2022/overlaypanel/style/popoverstyle.mjs +21 -1
  121. package/esm2022/paginator/paginator.mjs +6 -6
  122. package/esm2022/paginator/style/paginatorstyle.mjs +81 -1
  123. package/esm2022/panel/style/panelstyle.mjs +45 -1
  124. package/esm2022/panelmenu/panelmenu.mjs +22 -22
  125. package/esm2022/panelmenu/style/panelmenustyle.mjs +83 -2
  126. package/esm2022/password/style/passwordstyle.mjs +45 -1
  127. package/esm2022/picklist/picklist.mjs +3 -3
  128. package/esm2022/picklist/style/pickliststyle.mjs +37 -1
  129. package/esm2022/progressbar/progressbar.mjs +3 -3
  130. package/esm2022/progressbar/style/progressbarstyle.mjs +25 -1
  131. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  132. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +25 -1
  133. package/esm2022/radiobutton/radiobutton.mjs +4 -4
  134. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +29 -1
  135. package/esm2022/rating/rating.mjs +1 -1
  136. package/esm2022/rating/style/ratingstyle.mjs +29 -1
  137. package/esm2022/ripple/ripple.mjs +17 -12
  138. package/esm2022/ripple/style/ripplestyle.mjs +17 -1
  139. package/esm2022/scroller/scroller.mjs +5 -5
  140. package/esm2022/scroller/style/scrollerstyle.mjs +104 -0
  141. package/esm2022/scrollpanel/scrollpanel.mjs +3 -3
  142. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +33 -1
  143. package/esm2022/scrolltop/scrolltop.mjs +3 -3
  144. package/esm2022/scrolltop/style/scrolltopstyle.mjs +21 -1
  145. package/esm2022/select/public_api.mjs +2 -1
  146. package/esm2022/select/select.mjs +10 -10
  147. package/esm2022/select/style/selectstyle.mjs +85 -1
  148. package/esm2022/selectbutton/selectbutton.mjs +8 -8
  149. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +17 -1
  150. package/esm2022/skeleton/style/skeletonstyle.mjs +17 -1
  151. package/esm2022/slider/style/sliderstyle.mjs +25 -1
  152. package/esm2022/speeddial/speeddial.mjs +3 -3
  153. package/esm2022/speeddial/style/speeddialstyle.mjs +41 -1
  154. package/esm2022/splitbutton/splitbutton.mjs +8 -8
  155. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +25 -1
  156. package/esm2022/splitter/style/splitterstyle.mjs +25 -1
  157. package/esm2022/stepper/stepper.mjs +26 -26
  158. package/esm2022/stepper/style/stepperstyle.mjs +21 -1
  159. package/esm2022/steps/style/stepsstyle.mjs +37 -1
  160. package/esm2022/table/style/tablestyle.mjs +899 -0
  161. package/esm2022/table/table.mjs +24 -24
  162. package/esm2022/tabmenu/style/tabmenustyle.mjs +42 -2
  163. package/esm2022/tabmenu/tabmenu.mjs +3 -3
  164. package/esm2022/tabs/style/tabsstyle.mjs +49 -1
  165. package/esm2022/tabview/style/tabsstyle.mjs +49 -1
  166. package/esm2022/tag/style/tagstyle.mjs +25 -1
  167. package/esm2022/terminal/style/terminalstyle.mjs +49 -1
  168. package/esm2022/textarea/style/textareastyle.mjs +17 -1
  169. package/esm2022/textarea/textarea.mjs +1 -2
  170. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +61 -1
  171. package/esm2022/tieredmenu/tieredmenu.mjs +15 -15
  172. package/esm2022/timeline/style/timelinestyle.mjs +41 -1
  173. package/esm2022/toast/style/toaststyle.mjs +49 -1
  174. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +25 -1
  175. package/esm2022/togglebutton/togglebutton.mjs +3 -3
  176. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +25 -1
  177. package/esm2022/toggleswitch/toggleswitch.mjs +1 -1
  178. package/esm2022/toolbar/style/toolbarstyle.mjs +29 -1
  179. package/esm2022/tooltip/style/tooltipstyle.mjs +25 -1
  180. package/esm2022/tree/style/treestyle.mjs +69 -1
  181. package/esm2022/tree/tree.mjs +9 -9
  182. package/esm2022/treeselect/style/treeselectstyle.mjs +53 -1
  183. package/esm2022/treeselect/treeselect.mjs +3 -3
  184. package/esm2022/treetable/style/treetablestyle.mjs +97 -1
  185. package/esm2022/treetable/treetable.mjs +3 -3
  186. package/fesm2022/primeng-accordion.mjs +38 -2
  187. package/fesm2022/primeng-accordion.mjs.map +1 -1
  188. package/fesm2022/primeng-api.mjs +2 -0
  189. package/fesm2022/primeng-api.mjs.map +1 -1
  190. package/fesm2022/primeng-autocomplete.mjs +71 -3
  191. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  192. package/fesm2022/primeng-avatar.mjs +24 -0
  193. package/fesm2022/primeng-avatar.mjs.map +1 -1
  194. package/fesm2022/primeng-avatargroup.mjs +13 -0
  195. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  196. package/fesm2022/primeng-badge.mjs +16 -0
  197. package/fesm2022/primeng-badge.mjs.map +1 -1
  198. package/fesm2022/primeng-basecomponent.mjs +2 -3
  199. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  200. package/fesm2022/primeng-blockui.mjs +18 -2
  201. package/fesm2022/primeng-blockui.mjs.map +1 -1
  202. package/fesm2022/primeng-breadcrumb.mjs +44 -0
  203. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/primeng-button.mjs +28 -0
  205. package/fesm2022/primeng-button.mjs.map +1 -1
  206. package/fesm2022/primeng-buttongroup.mjs +16 -0
  207. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  208. package/fesm2022/primeng-card.mjs +44 -0
  209. package/fesm2022/primeng-card.mjs.map +1 -1
  210. package/fesm2022/primeng-carousel.mjs +68 -0
  211. package/fesm2022/primeng-carousel.mjs.map +1 -1
  212. package/fesm2022/primeng-cascadeselect.mjs +78 -18
  213. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  214. package/fesm2022/primeng-checkbox.mjs +28 -0
  215. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  216. package/fesm2022/primeng-chip.mjs +32 -0
  217. package/fesm2022/primeng-chip.mjs.map +1 -1
  218. package/fesm2022/primeng-colorpicker.mjs +46 -2
  219. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  220. package/fesm2022/primeng-confirmdialog.mjs +34 -2
  221. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  222. package/fesm2022/primeng-confirmpopup.mjs +49 -9
  223. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  224. package/fesm2022/primeng-contextmenu.mjs +67 -14
  225. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  226. package/fesm2022/primeng-dataview.mjs +38 -2
  227. package/fesm2022/primeng-dataview.mjs.map +1 -1
  228. package/fesm2022/primeng-datepicker.mjs +166 -2
  229. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  230. package/fesm2022/primeng-dialog.mjs +49 -1
  231. package/fesm2022/primeng-dialog.mjs.map +1 -1
  232. package/fesm2022/primeng-divider.mjs +21 -1
  233. package/fesm2022/primeng-divider.mjs.map +1 -1
  234. package/fesm2022/primeng-dock.mjs +40 -0
  235. package/fesm2022/primeng-dock.mjs.map +1 -1
  236. package/fesm2022/primeng-drawer.mjs +38 -2
  237. package/fesm2022/primeng-drawer.mjs.map +1 -1
  238. package/fesm2022/primeng-dropdown.mjs +11 -8
  239. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  240. package/fesm2022/primeng-dynamicdialog.mjs +48 -0
  241. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  242. package/fesm2022/primeng-editor.mjs +24 -0
  243. package/fesm2022/primeng-editor.mjs.map +1 -1
  244. package/fesm2022/primeng-fieldset.mjs +36 -0
  245. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  246. package/fesm2022/primeng-fileupload.mjs +117 -12
  247. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  248. package/fesm2022/primeng-floatlabel.mjs +16 -0
  249. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  250. package/fesm2022/primeng-fluid.mjs +16 -0
  251. package/fesm2022/primeng-fluid.mjs.map +1 -1
  252. package/fesm2022/primeng-galleria.mjs +124 -0
  253. package/fesm2022/primeng-galleria.mjs.map +1 -1
  254. package/fesm2022/primeng-iconfield.mjs +22 -3
  255. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  256. package/fesm2022/primeng-image.mjs +56 -0
  257. package/fesm2022/primeng-image.mjs.map +1 -1
  258. package/fesm2022/primeng-inplace.mjs +24 -0
  259. package/fesm2022/primeng-inplace.mjs.map +1 -1
  260. package/fesm2022/primeng-inputgroup.mjs +23 -7
  261. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  262. package/fesm2022/primeng-inputmask.mjs +16 -0
  263. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  264. package/fesm2022/primeng-inputnumber.mjs +34 -2
  265. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  266. package/fesm2022/primeng-inputotp.mjs +22 -2
  267. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  268. package/fesm2022/primeng-inputtext.mjs +16 -0
  269. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  270. package/fesm2022/primeng-inputtextarea.mjs +16 -0
  271. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  272. package/fesm2022/primeng-knob.mjs +28 -0
  273. package/fesm2022/primeng-knob.mjs.map +1 -1
  274. package/fesm2022/primeng-listbox.mjs +60 -8
  275. package/fesm2022/primeng-listbox.mjs.map +1 -1
  276. package/fesm2022/primeng-megamenu.mjs +94 -14
  277. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  278. package/fesm2022/primeng-menu.mjs +56 -0
  279. package/fesm2022/primeng-menu.mjs.map +1 -1
  280. package/fesm2022/primeng-menubar.mjs +64 -0
  281. package/fesm2022/primeng-menubar.mjs.map +1 -1
  282. package/fesm2022/primeng-message.mjs +38 -2
  283. package/fesm2022/primeng-message.mjs.map +1 -1
  284. package/fesm2022/primeng-metergroup.mjs +53 -9
  285. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  286. package/fesm2022/primeng-multiselect.mjs +136 -52
  287. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  288. package/fesm2022/primeng-orderlist.mjs +22 -2
  289. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  290. package/fesm2022/primeng-organizationchart.mjs +54 -2
  291. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  292. package/fesm2022/primeng-overlay.mjs.map +1 -1
  293. package/fesm2022/primeng-overlaypanel.mjs +20 -0
  294. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  295. package/fesm2022/primeng-paginator.mjs +85 -5
  296. package/fesm2022/primeng-paginator.mjs.map +1 -1
  297. package/fesm2022/primeng-panel.mjs +45 -1
  298. package/fesm2022/primeng-panel.mjs.map +1 -1
  299. package/fesm2022/primeng-panelmenu.mjs +103 -22
  300. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  301. package/fesm2022/primeng-password.mjs +44 -0
  302. package/fesm2022/primeng-password.mjs.map +1 -1
  303. package/fesm2022/primeng-picklist.mjs +38 -2
  304. package/fesm2022/primeng-picklist.mjs.map +1 -1
  305. package/fesm2022/primeng-progressbar.mjs +26 -2
  306. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  307. package/fesm2022/primeng-progressspinner.mjs +26 -2
  308. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  309. package/fesm2022/primeng-radiobutton.mjs +31 -3
  310. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  311. package/fesm2022/primeng-rating.mjs +28 -0
  312. package/fesm2022/primeng-rating.mjs.map +1 -1
  313. package/fesm2022/primeng-ripple.mjs +32 -11
  314. package/fesm2022/primeng-ripple.mjs.map +1 -1
  315. package/fesm2022/primeng-scroller.mjs +39 -7
  316. package/fesm2022/primeng-scroller.mjs.map +1 -1
  317. package/fesm2022/primeng-scrollpanel.mjs +34 -2
  318. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  319. package/fesm2022/primeng-scrolltop.mjs +22 -2
  320. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  321. package/fesm2022/primeng-select.mjs +94 -10
  322. package/fesm2022/primeng-select.mjs.map +1 -1
  323. package/fesm2022/primeng-selectbutton.mjs +23 -7
  324. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  325. package/fesm2022/primeng-skeleton.mjs +16 -0
  326. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  327. package/fesm2022/primeng-slider.mjs +24 -0
  328. package/fesm2022/primeng-slider.mjs.map +1 -1
  329. package/fesm2022/primeng-speeddial.mjs +42 -2
  330. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  331. package/fesm2022/primeng-splitbutton.mjs +31 -7
  332. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  333. package/fesm2022/primeng-splitter.mjs +24 -0
  334. package/fesm2022/primeng-splitter.mjs.map +1 -1
  335. package/fesm2022/primeng-stepper.mjs +45 -25
  336. package/fesm2022/primeng-stepper.mjs.map +1 -1
  337. package/fesm2022/primeng-steps.mjs +36 -0
  338. package/fesm2022/primeng-steps.mjs.map +1 -1
  339. package/fesm2022/primeng-table.mjs +230 -56
  340. package/fesm2022/primeng-table.mjs.map +1 -1
  341. package/fesm2022/primeng-tabmenu.mjs +43 -3
  342. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  343. package/fesm2022/primeng-tabs.mjs +48 -0
  344. package/fesm2022/primeng-tabs.mjs.map +1 -1
  345. package/fesm2022/primeng-tabview.mjs +48 -0
  346. package/fesm2022/primeng-tabview.mjs.map +1 -1
  347. package/fesm2022/primeng-tag.mjs +24 -0
  348. package/fesm2022/primeng-tag.mjs.map +1 -1
  349. package/fesm2022/primeng-terminal.mjs +48 -0
  350. package/fesm2022/primeng-terminal.mjs.map +1 -1
  351. package/fesm2022/primeng-textarea.mjs +16 -1
  352. package/fesm2022/primeng-textarea.mjs.map +1 -1
  353. package/fesm2022/primeng-tieredmenu.mjs +74 -14
  354. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  355. package/fesm2022/primeng-timeline.mjs +40 -0
  356. package/fesm2022/primeng-timeline.mjs.map +1 -1
  357. package/fesm2022/primeng-toast.mjs +48 -0
  358. package/fesm2022/primeng-toast.mjs.map +1 -1
  359. package/fesm2022/primeng-togglebutton.mjs +26 -2
  360. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  361. package/fesm2022/primeng-toggleswitch.mjs +24 -0
  362. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  363. package/fesm2022/primeng-toolbar.mjs +28 -0
  364. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  365. package/fesm2022/primeng-tooltip.mjs +24 -0
  366. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  367. package/fesm2022/primeng-tree.mjs +76 -8
  368. package/fesm2022/primeng-tree.mjs.map +1 -1
  369. package/fesm2022/primeng-treeselect.mjs +54 -2
  370. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  371. package/fesm2022/primeng-treetable.mjs +98 -2
  372. package/fesm2022/primeng-treetable.mjs.map +1 -1
  373. package/fieldset/style/fieldsetstyle.d.ts +37 -0
  374. package/fileupload/fileupload.d.ts +4 -1
  375. package/fileupload/fileupload.interface.d.ts +9 -0
  376. package/fileupload/style/fileuploadstyle.d.ts +73 -0
  377. package/floatlabel/style/floatlabelstyle.d.ts +17 -0
  378. package/fluid/style/fluidstyle.d.ts +17 -0
  379. package/galleria/style/galleriastyle.d.ts +125 -0
  380. package/iconfield/style/iconfieldstyle.d.ts +17 -0
  381. package/image/style/imagestyle.d.ts +57 -0
  382. package/inplace/style/inplacestyle.d.ts +25 -0
  383. package/inputgroup/style/inputgroupstyle.d.ts +17 -0
  384. package/inputmask/style/inputmaskstyle.d.ts +17 -0
  385. package/inputnumber/inputnumber.d.ts +1 -1
  386. package/inputnumber/style/inputnumberstyle.d.ts +33 -0
  387. package/inputotp/inputotp.d.ts +1 -1
  388. package/inputotp/style/inputotpstyle.d.ts +21 -0
  389. package/inputtext/style/inputtextstyle.d.ts +17 -0
  390. package/inputtextarea/style/textareastyle.d.ts +17 -0
  391. package/knob/style/knobstyle.d.ts +29 -0
  392. package/listbox/style/listboxstyle.d.ts +53 -0
  393. package/megamenu/megamenu.d.ts +2 -2
  394. package/megamenu/style/megamenustyle.d.ts +81 -0
  395. package/menu/style/menustyle.d.ts +57 -0
  396. package/menubar/style/menubarstyle.d.ts +65 -0
  397. package/message/style/messagestyle.d.ts +37 -0
  398. package/metergroup/metergroup.d.ts +2 -2
  399. package/metergroup/style/metergroupstyle.d.ts +45 -0
  400. package/multiselect/multiselect.d.ts +4 -5
  401. package/multiselect/style/multiselectstyle.d.ts +85 -0
  402. package/orderlist/orderlist.d.ts +1 -1
  403. package/orderlist/style/orderliststyle.d.ts +21 -0
  404. package/organizationchart/organizationchart.d.ts +1 -1
  405. package/organizationchart/style/organizationchartstyle.d.ts +53 -0
  406. package/overlaypanel/style/popoverstyle.d.ts +21 -0
  407. package/package.json +226 -226
  408. package/paginator/style/paginatorstyle.d.ts +81 -0
  409. package/panel/style/panelstyle.d.ts +43 -0
  410. package/panelmenu/panelmenu.d.ts +3 -3
  411. package/panelmenu/style/panelmenustyle.d.ts +82 -0
  412. package/password/style/passwordstyle.d.ts +45 -0
  413. package/picklist/picklist.d.ts +1 -1
  414. package/picklist/style/pickliststyle.d.ts +37 -0
  415. package/progressbar/progressbar.d.ts +1 -1
  416. package/progressbar/style/progressbarstyle.d.ts +25 -0
  417. package/progressspinner/progressspinner.d.ts +1 -1
  418. package/progressspinner/style/progressspinnerstyle.d.ts +25 -0
  419. package/radiobutton/radiobutton.d.ts +1 -1
  420. package/radiobutton/style/radiobuttonstyle.d.ts +29 -0
  421. package/rating/style/ratingstyle.d.ts +29 -0
  422. package/ripple/ripple.d.ts +1 -0
  423. package/ripple/style/ripplestyle.d.ts +17 -0
  424. package/scroller/scroller.d.ts +2 -2
  425. package/scroller/style/scrollerstyle.d.ts +43 -0
  426. package/scrollpanel/scrollpanel.d.ts +1 -1
  427. package/scrollpanel/style/scrollpanelstyle.d.ts +33 -0
  428. package/scrolltop/scrolltop.d.ts +1 -1
  429. package/scrolltop/style/scrolltopstyle.d.ts +21 -0
  430. package/select/public_api.d.ts +1 -0
  431. package/select/style/selectstyle.d.ts +85 -0
  432. package/selectbutton/selectbutton.d.ts +1 -1
  433. package/selectbutton/style/selectbuttonstyle.d.ts +17 -0
  434. package/skeleton/style/skeletonstyle.d.ts +17 -0
  435. package/slider/style/sliderstyle.d.ts +25 -0
  436. package/speeddial/speeddial.d.ts +1 -1
  437. package/speeddial/style/speeddialstyle.d.ts +41 -0
  438. package/splitbutton/splitbutton.d.ts +1 -1
  439. package/splitbutton/style/splitbuttonstyle.d.ts +25 -0
  440. package/splitter/style/splitterstyle.d.ts +25 -0
  441. package/stepper/stepper.d.ts +4 -4
  442. package/stepper/style/stepperstyle.d.ts +21 -0
  443. package/steps/style/stepsstyle.d.ts +37 -0
  444. package/table/style/tablestyle.d.ts +327 -0
  445. package/table/table.d.ts +5 -5
  446. package/tabmenu/style/tabmenustyle.d.ts +41 -0
  447. package/tabmenu/tabmenu.d.ts +1 -1
  448. package/tabs/style/tabsstyle.d.ts +49 -0
  449. package/tabview/style/tabsstyle.d.ts +49 -0
  450. package/tag/style/tagstyle.d.ts +25 -0
  451. package/terminal/style/terminalstyle.d.ts +49 -0
  452. package/textarea/style/textareastyle.d.ts +17 -0
  453. package/tieredmenu/style/tieredmenustyle.d.ts +61 -0
  454. package/tieredmenu/tieredmenu.d.ts +2 -2
  455. package/timeline/style/timelinestyle.d.ts +41 -0
  456. package/toast/style/toaststyle.d.ts +49 -0
  457. package/togglebutton/style/togglebuttonstyle.d.ts +25 -0
  458. package/togglebutton/togglebutton.d.ts +1 -1
  459. package/toggleswitch/style/toggleswitchstyle.d.ts +25 -0
  460. package/toolbar/style/toolbarstyle.d.ts +29 -0
  461. package/tooltip/style/tooltipstyle.d.ts +25 -0
  462. package/tree/style/treestyle.d.ts +69 -0
  463. package/treeselect/style/treeselectstyle.d.ts +53 -0
  464. package/treeselect/treeselect.d.ts +1 -1
  465. package/treetable/style/treetablestyle.d.ts +97 -0
  466. package/treetable/treetable.d.ts +1 -1
  467. package/esm2022/scroller/style/virtualscrollerstyle.mjs +0 -72
  468. package/esm2022/table/style/datatablestyle.mjs +0 -725
  469. package/scroller/style/virtualscrollerstyle.d.ts +0 -10
  470. package/table/style/datatablestyle.d.ts +0 -124
@@ -0,0 +1,899 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BaseStyle } from 'primeng/base';
3
+ import * as i0 from "@angular/core";
4
+ const theme = ({ dt }) => `
5
+ .p-datatable {
6
+ position: relative;
7
+ }
8
+
9
+ .p-datatable-table {
10
+ border-spacing: 0;
11
+ width: 100%;
12
+ }
13
+
14
+ .p-datatable-scrollable > .p-datatable-table-container {
15
+ position: relative;
16
+ }
17
+ /* For PrimeNG */
18
+ .p-datatable-scrollable-table > .p-datatable-thead {
19
+ top: 0;
20
+ z-index: 2;
21
+ }
22
+ /* For PrimeNG */
23
+ .p-datatable-scrollable-table > .p-datatable-frozen-tbody {
24
+ position: sticky;
25
+ z-index: 2;
26
+ }
27
+ /* For PrimeNG */
28
+ .p-datatable-scrollable-table > .p-datatable-frozen-tbody:last-child {
29
+ z-index: 1;
30
+ }
31
+
32
+ .p-datatable-scrollable-table > .p-datatable-tfoot {
33
+ bottom: 0;
34
+ z-index: 1;
35
+ }
36
+
37
+ .p-datatable-scrollable .p-datatable-frozen-column {
38
+ position: sticky;
39
+ background: ${dt('datatable.header.cell.background')};
40
+ }
41
+
42
+ .p-datatable-scrollable th.p-datatable-frozen-column {
43
+ z-index: 1;
44
+ }
45
+
46
+ .p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-thead,
47
+ .p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-thead {
48
+ background: ${dt('datatable.header.cell.background')};
49
+ }
50
+
51
+ .p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-tfoot,
52
+ .p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {
53
+ background: ${dt('datatable.footer.cell.background')};
54
+ }
55
+
56
+ .p-datatable-flex-scrollable {
57
+ display: flex;
58
+ flex-direction: column;
59
+ height: 100%;
60
+ }
61
+
62
+ .p-datatable-flex-scrollable > .p-datatable-table-container {
63
+ display: flex;
64
+ flex-direction: column;
65
+ flex: 1;
66
+ height: 100%;
67
+ }
68
+
69
+ .p-datatable-scrollable-table > .p-datatable-tbody > .p-datatable-row-group-header {
70
+ position: sticky;
71
+ z-index: 1;
72
+ }
73
+
74
+ .p-datatable-resizable-table > .p-datatable-thead > tr > th,
75
+ .p-datatable-resizable-table > .p-datatable-tfoot > tr > td,
76
+ .p-datatable-resizable-table > .p-datatable-tbody > tr > td {
77
+ overflow: hidden;
78
+ white-space: nowrap;
79
+ }
80
+
81
+ .p-datatable-resizable-table > .p-datatable-thead > tr > th.p-datatable-resizable-column:not(.p-datatable-frozen-column) {
82
+ background-clip: padding-box;
83
+ position: relative;
84
+ }
85
+
86
+ .p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-datatable-resizable-column:last-child .p-datatable-column-resizer {
87
+ display: none;
88
+ }
89
+
90
+ .p-datatable-column-resizer {
91
+ display: block;
92
+ position: absolute;
93
+ top: 0;
94
+ right: 0;
95
+ margin: 0;
96
+ width: ${dt('datatable.column.resizer.width')};
97
+ height: 100%;
98
+ padding: 0px;
99
+ cursor: col-resize;
100
+ border: 1px solid transparent;
101
+ }
102
+
103
+ /*
104
+ .p-datatable-column-header-content {
105
+ display: flex;
106
+ align-items: center;
107
+ gap: ${dt('datatable.header.cell.gap')};
108
+ }
109
+ .p-datatable-thead > tr > th {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: ${dt('datatable.header.cell.gap')};
113
+ }
114
+ */
115
+
116
+ .p-datatable-column-resize-indicator {
117
+ width: ${dt('datatable.resize.indicator.width')};
118
+ position: absolute;
119
+ z-index: 10;
120
+ display: none;
121
+ background: ${dt('datatable.resize.indicator.color')};
122
+ }
123
+
124
+ .p-datatable-row-reorder-indicator-up,
125
+ .p-datatable-row-reorder-indicator-down {
126
+ position: absolute;
127
+ display: none;
128
+ }
129
+
130
+ .p-datatable-reorderable-column,
131
+ .p-datatable-reorderable-row-handle {
132
+ cursor: move;
133
+ }
134
+
135
+ .p-datatable-mask {
136
+ position: absolute;
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: center;
140
+ z-index: 3;
141
+ }
142
+
143
+ .p-datatable-inline-filter {
144
+ display: flex;
145
+ align-items: center;
146
+ width: 100%;
147
+ gap: ${dt('datatable.filter.inline.gap')};
148
+ }
149
+
150
+ .p-datatable-inline-filter .p-datatable-filter-element-container {
151
+ flex: 1 1 auto;
152
+ width: 1%;
153
+ }
154
+
155
+ .p-datatable-filter-overlay {
156
+ position: absolute;
157
+ background: ${dt('datatable.filter.overlay.select.background')};
158
+ color: ${dt('datatable.filter.overlay.select.color')};
159
+ border: 1px solid ${dt('datatable.filter.overlay.select.border.color')};
160
+ border-radius: ${dt('datatable.filter.overlay.select.border.radius')};
161
+ box-shadow: ${dt('datatable.filter.overlay.select.shadow')};
162
+ min-width: 12.5rem;
163
+ }
164
+
165
+ .p-datatable-filter-constraint-list {
166
+ margin: 0;
167
+ list-style: none;
168
+ display: flex;
169
+ flex-direction: column;
170
+ padding: ${dt('datatable.filter.constraint.list.padding')};
171
+ gap: ${dt('datatable.filter.constraint.list.gap')};
172
+ }
173
+
174
+ .p-datatable-filter-constraint {
175
+ padding: ${dt('datatable.filter.constraint.padding')};
176
+ color: ${dt('datatable.filter.constraint.color')};
177
+ border-radius: ${dt('datatable.filter.constraint.border.radius')};
178
+ cursor: pointer;
179
+ transition: background ${dt('datatable.transition.duration')}, color ${dt('datatable.transition.duration')}, border-color ${dt('datatable.transition.duration')},
180
+ box-shadow ${dt('datatable.transition.duration')};
181
+ }
182
+
183
+ .p-datatable-filter-constraint-selected {
184
+ background: ${dt('datatable.filter.constraint.selected.background')};
185
+ color: ${dt('datatable.filter.constraint.selected.color')};
186
+ }
187
+
188
+ .p-datatable-filter-constraint:not(.p-datatable-filter-constraint-selected):not(.p-disabled):hover {
189
+ background: ${dt('datatable.filter.constraint.focus.background')};
190
+ color: ${dt('datatable.filter.constraint.focus.color')};
191
+ }
192
+
193
+ .p-datatable-filter-constraint:focus-visible {
194
+ outline: 0 none;
195
+ background: ${dt('datatable.filter.constraint.focus.background')};
196
+ color: ${dt('datatable.filter.constraint.focus.color')};
197
+ }
198
+
199
+ .p-datatable-filter-constraint-selected:focus-visible {
200
+ outline: 0 none;
201
+ background: ${dt('datatable.filter.constraint.selected.focus.background')};
202
+ color: ${dt('datatable.filter.constraint.selected.focus.color')};
203
+ }
204
+
205
+ .p-datatable-filter-constraint-separator {
206
+ border-top: 1px solid ${dt('datatable.filter.constraint.separator.border.color')};
207
+ }
208
+
209
+ .p-datatable-popover-filter {
210
+ display: inline-flex;
211
+ margin-left: auto;
212
+ }
213
+
214
+ .p-datatable-filter-overlay-popover {
215
+ background: ${dt('datatable.filter.overlay.popover.background')};
216
+ color: ${dt('datatable.filter.overlay.popover.color')};
217
+ border: 1px solid ${dt('datatable.filter.overlay.popover.border.color')};
218
+ border-radius: ${dt('datatable.filter.overlay.popover.border.radius')};
219
+ box-shadow: ${dt('datatable.filter.overlay.popover.shadow')};
220
+ min-width: 12.5rem;
221
+ padding: ${dt('datatable.filter.overlay.popover.padding')};
222
+ display: flex;
223
+ flex-direction: column;
224
+ gap: ${dt('datatable.filter.overlay.popover.gap')};
225
+ }
226
+
227
+ .p-datatable-filter-operator-dropdown, .p-datatable-filter-constraint-dropdown {
228
+ width: 100%;
229
+ }
230
+
231
+ .p-datatable-filter-rule-list,
232
+ .p-datatable-filter-rule {
233
+ display: flex;
234
+ flex-direction: column;
235
+ gap: ${dt('datatable.filter.overlay.popover.gap')};
236
+ }
237
+
238
+ .p-datatable-filter-rule {
239
+ border-bottom: 1px solid ${dt('datatable.filter.rule.border.color')};
240
+ }
241
+
242
+ .p-datatable-filter-rule:last-child {
243
+ border-bottom: 0 none;
244
+ }
245
+
246
+ .p-datatable-filter-add-rule-button, .p-datatable-filter-remove-rule-button {
247
+ width: 100%;
248
+ }
249
+
250
+ .p-datatable-filter-remove-button {
251
+ width: 100%;
252
+ }
253
+
254
+ .p-datatable-filter-buttonbar {
255
+ padding: 0;
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: space-between;
259
+ }
260
+
261
+ .p-datatable-virtualscroller-spacer {
262
+ display: flex;
263
+ }
264
+
265
+ .p-datatable .p-virtualscroller .p-virtualscroller-loading {
266
+ transform: none !important;
267
+ min-height: 0;
268
+ position: sticky;
269
+ top: 0;
270
+ left: 0;
271
+ }
272
+
273
+ .p-datatable-paginator-top {
274
+ border-color: ${dt('datatable.paginator.top.border.color')};
275
+ border-style: solid;
276
+ border-width: ${dt('datatable.paginator.top.border.width')};
277
+ }
278
+
279
+ .p-datatable-paginator-bottom {
280
+ border-color: ${dt('datatable.paginator.bottom.border.color')};
281
+ border-style: solid;
282
+ border-width: ${dt('datatable.paginator.bottom.border.width')};
283
+ }
284
+
285
+ .p-datatable-header {
286
+ background: ${dt('datatable.header.background')};
287
+ color: ${dt('datatable.header.color')};
288
+ border-color: ${dt('datatable.header.border.color')};
289
+ border-style: solid;
290
+ border-width: ${dt('datatable.header.border.width')};
291
+ padding: ${dt('datatable.header.padding')};
292
+ }
293
+
294
+ .p-datatable-footer {
295
+ background: ${dt('datatable.footer.background')};
296
+ color: ${dt('datatable.footer.color')};
297
+ border-color: ${dt('datatable.footer.border.color')};
298
+ border-style: solid;
299
+ border-width: ${dt('datatable.footer.border.width')};
300
+ padding: ${dt('datatable.footer.padding')};
301
+ }
302
+
303
+ .p-datatable-thead > tr > th {
304
+ padding: ${dt('datatable.header.cell.padding')};
305
+ background: ${dt('datatable.header.cell.background')};
306
+ border-color: ${dt('datatable.header.cell.border.color')};
307
+ border-style: solid;
308
+ border-width: 0 0 1px 0;
309
+ color: ${dt('datatable.header.cell.color')};
310
+ font-weight: ${dt('datatable.column.title.font.weight')};
311
+ text-align: left;
312
+ transition: background ${dt('datatable.transition.duration')}, color ${dt('datatable.transition.duration')}, border-color ${dt('datatable.transition.duration')},
313
+ outline-color ${dt('datatable.transition.duration')}, box-shadow ${dt('datatable.transition.duration')};
314
+ }
315
+
316
+ /*
317
+ .p-datatable-column-title {
318
+ font-weight: ${dt('datatable.column.title.font.weight')};
319
+ }
320
+ */
321
+
322
+ .p-datatable-tbody > tr {
323
+ outline-color: transparent;
324
+ background: ${dt('datatable.row.background')};
325
+ color: ${dt('datatable.row.color')};
326
+ transition: background ${dt('datatable.transition.duration')}, color ${dt('datatable.transition.duration')}, border-color ${dt('datatable.transition.duration')},
327
+ outline-color ${dt('datatable.transition.duration')}, box-shadow ${dt('datatable.transition.duration')};
328
+ }
329
+
330
+ .p-datatable-tbody > tr > td {
331
+ text-align: left;
332
+ border-color: ${dt('datatable.body.cell.border.color')};
333
+ border-style: solid;
334
+ border-width: 0 0 1px 0;
335
+ padding: ${dt('datatable.body.cell.padding')};
336
+ }
337
+
338
+ .p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {
339
+ background: ${dt('datatable.row.hover.background')};
340
+ color: ${dt('datatable.row.hover.color')};
341
+ }
342
+
343
+ .p-datatable-tbody > tr.p-datatable-row-selected {
344
+ background: ${dt('datatable.row.selected.background')};
345
+ color: ${dt('datatable.row.selected.color')};
346
+ }
347
+
348
+ .p-datatable-tbody > tr:has(+ .p-datatable-row-selected) > td {
349
+ border-bottom-color: ${dt('datatable.body.cell.selected.border.color')};
350
+ }
351
+
352
+ .p-datatable-tbody > tr.p-datatable-row-selected > td {
353
+ border-bottom-color: ${dt('datatable.body.cell.selected.border.color')};
354
+ }
355
+
356
+ .p-datatable-tbody > tr:focus-visible,
357
+ .p-datatable-tbody > tr.p-datatable-contextmenu-row-selected {
358
+ box-shadow: ${dt('datatable.body.cell.focus.ring.shadow')};
359
+ outline: ${dt('datatable.body.cell.focus.ring.width')} ${dt('datatable.body.cell.focus.ring.style')} ${dt('datatable.body.cell.focus.ring.color')};
360
+ outline-offset: ${dt('datatable.body.cell.focus.ring.offset')};
361
+ }
362
+
363
+ .p-datatable-tfoot > tr > td {
364
+ text-align: left;
365
+ padding: ${dt('datatable.footer.cell.padding')};
366
+ border-color: ${dt('datatable.footer.cell.border.color')};
367
+ border-style: solid;
368
+ border-width: 0 0 1px 0;
369
+ color: ${dt('datatable.footer.cell.color')};
370
+ background: ${dt('datatable.footer.cell.background')};
371
+ }
372
+
373
+ .p-datatable-column-footer {
374
+ font-weight: ${dt('datatable.column.footer.font.weight')};
375
+ }
376
+
377
+ .p-datatable-sortable-column {
378
+ cursor: pointer;
379
+ user-select: none;
380
+ outline-color: transparent;
381
+ }
382
+
383
+ .p-datatable-thead > tr > th,
384
+ .p-datatable-sort-icon,
385
+ .p-datatable-sort-badge {
386
+ vertical-align: middle;
387
+ }
388
+
389
+ .p-datatable-sort-icon {
390
+ color: ${dt('datatable.sort.icon.color')};
391
+ transition: color ${dt('datatable.transition.duration')};
392
+ }
393
+
394
+ .p-datatable-sortable-column:not(.p-datatable-column-sorted):hover {
395
+ background: ${dt('datatable.header.cell.hover.background')};
396
+ color: ${dt('datatable.header.cell.hover.color')};
397
+ }
398
+
399
+ .p-datatable-sortable-column:not(.p-datatable-column-sorted):hover .p-datatable-sort-icon {
400
+ color: ${dt('datatable.sort.icon.hover.color')};
401
+ }
402
+
403
+ .p-datatable-thead > tr > th.p-datatable-column-sorted {
404
+ background: ${dt('datatable.header.cell.selected.background')};
405
+ color: ${dt('datatable.header.cell.selected.color')};
406
+ }
407
+
408
+ .p-datatable-thead > tr > th.p-datatable-column-sorted .p-datatable-sort-icon {
409
+ color: ${dt('datatable.header.cell.selected.color')};
410
+ }
411
+
412
+ .p-datatable-sortable-column:focus-visible {
413
+ box-shadow: ${dt('datatable.header.cell.focus.ring.shadow')};
414
+ outline: ${dt('datatable.header.cell.focus.ring.width')} ${dt('datatable.header.cell.focus.ring.style')} ${dt('datatable.header.cell.focus.ring.color')};
415
+ outline-offset: ${dt('datatable.header.cell.focus.ring.offset')};
416
+ }
417
+
418
+ .p-datatable-hoverable .p-datatable-selectable-row {
419
+ cursor: pointer;
420
+ }
421
+
422
+ .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
423
+ box-shadow: inset 0 2px 0 0 ${dt('datatable.drop.point.color')};
424
+ }
425
+
426
+ .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
427
+ box-shadow: inset 0 -2px 0 0 ${dt('datatable.drop.point.color')};
428
+ }
429
+
430
+ .p-datatable-loading-icon {
431
+ font-size: ${dt('datatable.loading.icon.size')};
432
+ width: ${dt('datatable.loading.icon.size')};
433
+ height: ${dt('datatable.loading.icon.size')};
434
+ }
435
+
436
+ .p-datatable-gridlines .p-datatable-header {
437
+ border-width: 1px 1px 0 1px;
438
+ }
439
+
440
+ .p-datatable-gridlines .p-datatable-footer {
441
+ border-width: 0 1px 1px 1px;
442
+ }
443
+
444
+ .p-datatable-gridlines .p-datatable-paginator-top {
445
+ border-width: 1px 1px 0 1px;
446
+ }
447
+
448
+ .p-datatable-gridlines .p-datatable-paginator-bottom {
449
+ border-width: 0 1px 1px 1px;
450
+ }
451
+
452
+ .p-datatable-gridlines .p-datatable-thead > tr > th {
453
+ border-width: 1px 0 1px 1px;
454
+ }
455
+
456
+ .p-datatable-gridlines .p-datatable-thead > tr > th:last-child {
457
+ border-width: 1px;
458
+ }
459
+
460
+ .p-datatable-gridlines .p-datatable-tbody > tr > td {
461
+ border-width: 1px 0 0 1px;
462
+ }
463
+
464
+ .p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
465
+ border-width: 1px 1px 0 1px;
466
+ }
467
+
468
+ p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
469
+ border-width: 1px 0 1px 1px;
470
+ }
471
+
472
+ .p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {
473
+ border-width: 1px;
474
+ }
475
+
476
+ .p-datatable-gridlines .p-datatable-tfoot > tr > td {
477
+ border-width: 1px 0 1px 1px;
478
+ }
479
+
480
+ .p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {
481
+ border-width: 1px 1px 1px 1px;
482
+ }
483
+
484
+ .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {
485
+ border-width: 0 0 1px 1px;
486
+ }
487
+
488
+ .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {
489
+ border-width: 0 1px 1px 1px;
490
+ }
491
+
492
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {
493
+ border-width: 0 0 1px 1px;
494
+ }
495
+
496
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {
497
+ border-width: 0 1px 1px 1px;
498
+ }
499
+
500
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {
501
+ border-width: 0 0 0 1px;
502
+ }
503
+
504
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {
505
+ border-width: 0 1px 0 1px;
506
+ }
507
+
508
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(odd) {
509
+ background: ${dt('datatable.row.striped.background')};
510
+ }
511
+
512
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(odd).p-datatable-row-selected {
513
+ background: ${dt('datatable.row.selected.background')};
514
+ color: ${dt('datatable.row.selected.color')};
515
+ }
516
+
517
+ .p-datatable.p-datatable-sm .p-datatable-header {
518
+ padding: 0.375rem 0.5rem;
519
+ }
520
+
521
+ .p-datatable.p-datatable-sm .p-datatable-thead > tr > th {
522
+ padding: 0.375rem 0.5rem;
523
+ }
524
+
525
+ .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {
526
+ padding: 0.375rem 0.5rem;
527
+ }
528
+
529
+ .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {
530
+ padding: 0.375rem 0.5rem;
531
+ }
532
+
533
+ .p-datatable.p-datatable-sm .p-datatable-footer {
534
+ padding: 0.375rem 0.5rem;
535
+ }
536
+
537
+ .p-datatable.p-datatable-lg .p-datatable-header {
538
+ padding: 0.9375rem 1.25rem;
539
+ }
540
+
541
+ .p-datatable.p-datatable-lg .p-datatable-thead > tr > th {
542
+ padding: 0.9375rem 1.25rem;
543
+ }
544
+
545
+ .p-datatable.p-datatable-lg .p-datatable-tbody>tr>td {
546
+ padding: 0.9375rem 1.25rem;
547
+ }
548
+
549
+ .p-datatable.p-datatable-lg .p-datatable-tfoot>tr>td {
550
+ padding: 0.9375rem 1.25rem;
551
+ }
552
+
553
+ .p-datatable.p-datatable-lg .p-datatable-footer {
554
+ padding: 0.9375rem 1.25rem;
555
+ }
556
+
557
+ .p-datatable-row-toggle-button {
558
+ display: inline-flex;
559
+ align-items: center;
560
+ justify-content: center;
561
+ overflow: hidden;
562
+ position: relative;
563
+ width: ${dt('datatable.row.toggle.button.size')};
564
+ height: ${dt('datatable.row.toggle.button.size')};
565
+ color: ${dt('datatable.row.toggle.button.color')};
566
+ border: 0 none;
567
+ background: transparent;
568
+ cursor: pointer;
569
+ border-radius: ${dt('datatable.row.toggle.button.border.radius')};
570
+ transition: background ${dt('datatable.transition.duration')}, color ${dt('datatable.transition.duration')}, border-color ${dt('datatable.transition.duration')},
571
+ outline-color ${dt('datatable.transition.duration')}, box-shadow ${dt('datatable.transition.duration')};
572
+ outline-color: transparent;
573
+ user-select: none;
574
+ }
575
+
576
+ .p-datatable-row-toggle-button:enabled:hover {
577
+ color: ${dt('datatable.row.toggle.button.hover.color')};
578
+ background: ${dt('datatable.row.toggle.button.hover.background')};
579
+ }
580
+
581
+ .p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover {
582
+ background: ${dt('datatable.row.toggle.button.selected.hover.background')};
583
+ ${dt('datatable.row.toggle.button.selected.hover.color')};
584
+ }
585
+
586
+ .p-datatable-row-toggle-button:focus-visible {
587
+ box-shadow: ${dt('datatable.row.toggle.button.focus.ring.shadow')};
588
+ outline: ${dt('datatable.row.toggle.button.focus.ring.width')} ${dt('datatable.row.toggle.button.focus.ring.style')} ${dt('datatable.row.toggle.button.focus.ring.color')};
589
+ outline-offset: ${dt('datatable.row.toggle.button.focus.ring.offset')};
590
+ }
591
+ `;
592
+ const classes = {
593
+ root: ({ instance }) => ({
594
+ 'p-datatable p-component': true,
595
+ 'p-datatable-hoverable': instance.rowHover || instance.selectionMode,
596
+ 'p-datatable-resizable': instance.resizableColumns,
597
+ 'p-datatable-resizable-fit': instance.resizableColumns && instance.columnResizeMode === 'fit',
598
+ 'p-datatable-scrollable': instance.scrollable,
599
+ 'p-datatable-flex-scrollable': instance.scrollable && instance.scrollHeight === 'flex',
600
+ 'p-datatable-striped': instance.stripedRows,
601
+ 'p-datatable-gridlines': instance.showGridlines,
602
+ 'p-datatable-sm': instance.size === 'small',
603
+ 'p-datatable-lg': instance.size === 'large',
604
+ }),
605
+ mask: 'p-datatable-mask p-overlay-mask',
606
+ loadingIcon: 'p-datatable-loading-icon',
607
+ header: 'p-datatable-header',
608
+ pcPaginator: ({ instance }) => 'p-datatable-paginator-' + instance.paginatorPosition,
609
+ tableContainer: 'p-datatable-table-container',
610
+ table: ({ instance }) => ({
611
+ 'p-datatable-table': true,
612
+ 'p-datatable-scrollable-table': instance.scrollable,
613
+ 'p-datatable-resizable-table': instance.resizableColumns,
614
+ 'p-datatable-resizable-table-fit': instance.resizableColumns && instance.columnResizeMode === 'fit',
615
+ }),
616
+ thead: 'p-datatable-thead',
617
+ columnResizer: 'p-datatable-column-resizer',
618
+ columnHeaderContent: 'p-datatable-column-header-content',
619
+ columnTitle: 'p-datatable-column-title',
620
+ columnFooter: 'p-datatable-column-footer',
621
+ sortIcon: 'p-datatable-sort-icon',
622
+ pcSortBadge: 'p-datatable-sort-badge',
623
+ filter: ({ instance }) => ({
624
+ 'p-datatable-filter': true,
625
+ 'p-datatable-inline-filter': instance.display === 'row',
626
+ 'p-datatable-popover-filter': instance.display === 'menu',
627
+ }),
628
+ filterElementContainer: 'p-datatable-filter-element-container',
629
+ pcColumnFilterButton: 'p-datatable-column-filter-button',
630
+ pcColumnFilterClearButton: 'p-datatable-column-filter-clear-button',
631
+ filterOverlay: ({ instance }) => ({
632
+ 'p-datatable-filter-overlay p-component': true,
633
+ 'p-datatable-filter-overlay-popover': instance.display === 'menu',
634
+ }),
635
+ filterConstraintList: 'p-datatable-filter-constraint-list',
636
+ filterConstraint: 'p-datatable-filter-constraint',
637
+ filterConstraintSeparator: 'p-datatable-filter-constraint-separator',
638
+ filterOperator: 'p-datatable-filter-operator',
639
+ pcFilterOperatorDropdown: 'p-datatable-filter-operator-dropdown',
640
+ filterRuleList: 'p-datatable-filter-rule-list',
641
+ filterRule: 'p-datatable-filter-rule',
642
+ pcFilterConstraintDropdown: 'p-datatable-filter-constraint-dropdown',
643
+ pcFilterRemoveRuleButton: 'p-datatable-filter-remove-rule-button',
644
+ pcFilterAddRuleButton: 'p-datatable-filter-add-rule-button',
645
+ filterButtonbar: 'p-datatable-filter-buttonbar',
646
+ pcFilterClearButton: 'p-datatable-filter-clear-button',
647
+ pcFilterApplyButton: 'p-datatable-filter-apply-button',
648
+ tbody: ({ instance }) => ({
649
+ 'p-datatable-tbody': true,
650
+ 'p-datatable-frozen-tbody': instance.frozenValue || instance.frozenBodyTemplate,
651
+ 'p-virtualscroller-content': instance.virtualScroll,
652
+ }),
653
+ rowGroupHeader: 'p-datatable-row-group-header',
654
+ rowToggleButton: 'p-datatable-row-toggle-button',
655
+ rowToggleIcon: 'p-datatable-row-toggle-icon',
656
+ rowExpansion: 'p-datatable-row-expansion',
657
+ rowGroupFooter: 'p-datatable-row-group-footer',
658
+ emptyMessage: 'p-datatable-empty-message',
659
+ bodyCell: ({ instance }) => ({
660
+ 'p-datatable-frozen-column': instance.columnProp('frozen'),
661
+ }),
662
+ reorderableRowHandle: 'p-datatable-reorderable-row-handle',
663
+ pcRowEditorInit: 'p-datatable-row-editor-init',
664
+ pcRowEditorSave: 'p-datatable-row-editor-save',
665
+ pcRowEditorCancel: 'p-datatable-row-editor-cancel',
666
+ tfoot: 'p-datatable-tfoot',
667
+ footerCell: ({ instance }) => ({
668
+ 'p-datatable-frozen-column': instance.columnProp('frozen'),
669
+ }),
670
+ virtualScrollerSpacer: 'p-datatable-virtualscroller-spacer',
671
+ footer: 'p-datatable-tfoot',
672
+ columnResizeIndicator: 'p-datatable-column-resize-indicator',
673
+ rowReorderIndicatorUp: 'p-datatable-row-reorder-indicator-up',
674
+ rowReorderIndicatorDown: 'p-datatable-row-reorder-indicator-down',
675
+ };
676
+ const inlineStyles = {
677
+ tableContainer: ({ instance }) => ({
678
+ 'max-height': instance.virtualScroll ? '' : instance.scrollHeight,
679
+ overflow: 'auto',
680
+ }),
681
+ thead: { position: 'sticky' },
682
+ tfoot: { position: 'sticky' },
683
+ };
684
+ export class TableStyle extends BaseStyle {
685
+ name = 'datatable';
686
+ theme = theme;
687
+ classes = classes;
688
+ inlineStyles = inlineStyles;
689
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
690
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableStyle });
691
+ }
692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableStyle, decorators: [{
693
+ type: Injectable
694
+ }] });
695
+ /**
696
+ *
697
+ * DataTable displays data in tabular format.
698
+ *
699
+ * [Live Demo](https://www.primeng.org/table/)
700
+ *
701
+ * @module tablestyle
702
+ *
703
+ */
704
+ export var TableClasses;
705
+ (function (TableClasses) {
706
+ /**
707
+ * Class name of the root element
708
+ */
709
+ TableClasses["root"] = "p-datatable";
710
+ /**
711
+ * Class name of the mask element
712
+ */
713
+ TableClasses["mask"] = "p-datatable-mask";
714
+ /**
715
+ * Class name of the loading icon element
716
+ */
717
+ TableClasses["loadingIcon"] = "p-datatable-loading-icon";
718
+ /**
719
+ * Class name of the header element
720
+ */
721
+ TableClasses["header"] = "p-datatable-header";
722
+ /**
723
+ * Class name of the paginator element
724
+ */
725
+ TableClasses["pcPaginator"] = "p-datatable-paginator-[position]";
726
+ /**
727
+ * Class name of the table container element
728
+ */
729
+ TableClasses["tableContainer"] = "p-datatable-table-container";
730
+ /**
731
+ * Class name of the table element
732
+ */
733
+ TableClasses["table"] = "p-datatable-table";
734
+ /**
735
+ * Class name of the thead element
736
+ */
737
+ TableClasses["thead"] = "p-datatable-thead";
738
+ /**
739
+ * Class name of the column resizer element
740
+ */
741
+ TableClasses["columnResizer"] = "p-datatable-column-resizer";
742
+ /**
743
+ * Class name of the column header content element
744
+ */
745
+ TableClasses["columnHeaderContent"] = "p-datatable-column-header-content";
746
+ /**
747
+ * Class name of the column title element
748
+ */
749
+ TableClasses["columnTitle"] = "p-datatable-column-title";
750
+ /**
751
+ * Class name of the sort icon element
752
+ */
753
+ TableClasses["sortIcon"] = "p-datatable-sort-icon";
754
+ /**
755
+ * Class name of the sort badge element
756
+ */
757
+ TableClasses["pcSortBadge"] = "p-datatable-sort-badge";
758
+ /**
759
+ * Class name of the filter element
760
+ */
761
+ TableClasses["filter"] = "p-datatable-filter";
762
+ /**
763
+ * Class name of the filter element container element
764
+ */
765
+ TableClasses["filterElementContainer"] = "p-datatable-filter-element-container";
766
+ /**
767
+ * Class name of the column filter button element
768
+ */
769
+ TableClasses["pcColumnFilterButton"] = "p-datatable-column-filter-button";
770
+ /**
771
+ * Class name of the column filter clear button element
772
+ */
773
+ TableClasses["pcColumnFilterClearButton"] = "p-datatable-column-filter-clear-button";
774
+ /**
775
+ * Class name of the filter overlay element
776
+ */
777
+ TableClasses["filterOverlay"] = "p-datatable-filter-overlay";
778
+ /**
779
+ * Class name of the filter constraint list element
780
+ */
781
+ TableClasses["filterConstraintList"] = "p-datatable-filter-constraint-list";
782
+ /**
783
+ * Class name of the filter constraint element
784
+ */
785
+ TableClasses["filterConstraint"] = "p-datatable-filter-constraint";
786
+ /**
787
+ * Class name of the filter constraint separator element
788
+ */
789
+ TableClasses["filterConstraintSeparator"] = "p-datatable-filter-constraint-separator";
790
+ /**
791
+ * Class name of the filter operator element
792
+ */
793
+ TableClasses["filterOperator"] = "p-datatable-filter-operator";
794
+ /**
795
+ * Class name of the filter operator dropdown element
796
+ */
797
+ TableClasses["pcFilterOperatorDropdown"] = "p-datatable-filter-operator-dropdown";
798
+ /**
799
+ * Class name of the filter rule list element
800
+ */
801
+ TableClasses["filterRuleList"] = "p-datatable-filter-rule-list";
802
+ /**
803
+ * Class name of the filter rule element
804
+ */
805
+ TableClasses["filterRule"] = "p-datatable-filter-rule";
806
+ /**
807
+ * Class name of the filter constraint dropdown element
808
+ */
809
+ TableClasses["pcFilterConstraintDropdown"] = "p-datatable-filter-constraint-dropdown";
810
+ /**
811
+ * Class name of the filter remove rule button element
812
+ */
813
+ TableClasses["pcFilterRemoveRuleButton"] = "p-datatable-filter-remove-rule-button";
814
+ /**
815
+ * Class name of the filter add rule button element
816
+ */
817
+ TableClasses["pcFilterAddRuleButton"] = "p-datatable-filter-add-rule-button";
818
+ /**
819
+ * Class name of the filter buttonbar element
820
+ */
821
+ TableClasses["filterButtonbar"] = "p-datatable-filter-buttonbar";
822
+ /**
823
+ * Class name of the filter clear button element
824
+ */
825
+ TableClasses["pcFilterClearButton"] = "p-datatable-filter-clear-button";
826
+ /**
827
+ * Class name of the filter apply button element
828
+ */
829
+ TableClasses["pcFilterApplyButton"] = "p-datatable-filter-apply-button";
830
+ /**
831
+ * Class name of the tbody element
832
+ */
833
+ TableClasses["tbody"] = "p-datatable-tbody";
834
+ /**
835
+ * Class name of the row group header element
836
+ */
837
+ TableClasses["rowGroupHeader"] = "p-datatable-row-group-header";
838
+ /**
839
+ * Class name of the row toggle button element
840
+ */
841
+ TableClasses["rowToggleButton"] = "p-datatable-row-toggle-button";
842
+ /**
843
+ * Class name of the row toggle icon element
844
+ */
845
+ TableClasses["rowToggleIcon"] = "p-datatable-row-toggle-icon";
846
+ /**
847
+ * Class name of the row expansion element
848
+ */
849
+ TableClasses["rowExpansion"] = "p-datatable-row-expansion";
850
+ /**
851
+ * Class name of the row group footer element
852
+ */
853
+ TableClasses["rowGroupFooter"] = "p-datatable-row-group-footer";
854
+ /**
855
+ * Class name of the empty message element
856
+ */
857
+ TableClasses["emptyMessage"] = "p-datatable-empty-message";
858
+ /**
859
+ * Class name of the reorderable row handle element
860
+ */
861
+ TableClasses["reorderableRowHandle"] = "p-datatable-reorderable-row-handle";
862
+ /**
863
+ * Class name of the row editor init element
864
+ */
865
+ TableClasses["pcRowEditorInit"] = "p-datatable-row-editor-init";
866
+ /**
867
+ * Class name of the row editor save element
868
+ */
869
+ TableClasses["pcRowEditorSave"] = "p-datatable-row-editor-save";
870
+ /**
871
+ * Class name of the row editor cancel element
872
+ */
873
+ TableClasses["pcRowEditorCancel"] = "p-datatable-row-editor-cancel";
874
+ /**
875
+ * Class name of the tfoot element
876
+ */
877
+ TableClasses["tfoot"] = "p-datatable-tfoot";
878
+ /**
879
+ * Class name of the virtual scroller spacer element
880
+ */
881
+ TableClasses["virtualScrollerSpacer"] = "p-datatable-virtualscroller-spacer";
882
+ /**
883
+ * Class name of the footer element
884
+ */
885
+ TableClasses["footer"] = "p-datatable-footer";
886
+ /**
887
+ * Class name of the column resize indicator element
888
+ */
889
+ TableClasses["columnResizeIndicator"] = "p-datatable-column-resize-indicator";
890
+ /**
891
+ * Class name of the row reorder indicator up element
892
+ */
893
+ TableClasses["rowReorderIndicatorUp"] = "p-datatable-row-reorder-indicator-up";
894
+ /**
895
+ * Class name of the row reorder indicator down element
896
+ */
897
+ TableClasses["rowReorderIndicatorDown"] = "p-datatable-row-reorder-indicator-down";
898
+ })(TableClasses || (TableClasses = {}));
899
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90YWJsZS9zdHlsZS90YWJsZXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBbUNSLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7O2tCQVN0QyxFQUFFLENBQUMsa0NBQWtDLENBQUM7Ozs7O2tCQUt0QyxFQUFFLENBQUMsa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7YUEyQzNDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7V0FXdEMsRUFBRSxDQUFDLDJCQUEyQixDQUFDOzs7OztXQUsvQixFQUFFLENBQUMsMkJBQTJCLENBQUM7Ozs7O2FBSzdCLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7OztrQkFJakMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQTBCN0MsRUFBRSxDQUFDLDZCQUE2QixDQUFDOzs7Ozs7Ozs7O2tCQVUxQixFQUFFLENBQUMsNENBQTRDLENBQUM7YUFDckQsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO3dCQUNoQyxFQUFFLENBQUMsOENBQThDLENBQUM7cUJBQ3JELEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQztrQkFDdEQsRUFBRSxDQUFDLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7ZUFTL0MsRUFBRSxDQUFDLDBDQUEwQyxDQUFDO1dBQ2xELEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQzs7OztlQUl0QyxFQUFFLENBQUMscUNBQXFDLENBQUM7YUFDM0MsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO3FCQUMvQixFQUFFLENBQUMsMkNBQTJDLENBQUM7OzZCQUV2QyxFQUFFLENBQUMsK0JBQStCLENBQUMsV0FBVyxFQUFFLENBQ3JFLCtCQUErQixDQUNsQyxrQkFBa0IsRUFBRSxDQUFDLCtCQUErQixDQUFDO3FCQUNyQyxFQUFFLENBQUMsK0JBQStCLENBQUM7Ozs7a0JBSXRDLEVBQUUsQ0FBQyxpREFBaUQsQ0FBQzthQUMxRCxFQUFFLENBQUMsNENBQTRDLENBQUM7Ozs7a0JBSTNDLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQzthQUN2RCxFQUFFLENBQUMseUNBQXlDLENBQUM7Ozs7O2tCQUt4QyxFQUFFLENBQUMsOENBQThDLENBQUM7YUFDdkQsRUFBRSxDQUFDLHlDQUF5QyxDQUFDOzs7OztrQkFLeEMsRUFBRSxDQUFDLHVEQUF1RCxDQUFDO2FBQ2hFLEVBQUUsQ0FBQyxrREFBa0QsQ0FBQzs7Ozs0QkFJdkMsRUFBRSxDQUFDLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7a0JBU2xFLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQzthQUN0RCxFQUFFLENBQUMsd0NBQXdDLENBQUM7d0JBQ2pDLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQztxQkFDdEQsRUFBRSxDQUFDLGdEQUFnRCxDQUFDO2tCQUN2RCxFQUFFLENBQUMseUNBQXlDLENBQUM7O2VBRWhELEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQzs7O1dBR2xELEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7V0FXMUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDOzs7OytCQUl0QixFQUFFLENBQUMsb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQW1DbkQsRUFBRSxDQUFDLHNDQUFzQyxDQUFDOztvQkFFMUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDOzs7O29CQUkxQyxFQUFFLENBQUMseUNBQXlDLENBQUM7O29CQUU3QyxFQUFFLENBQUMseUNBQXlDLENBQUM7Ozs7a0JBSS9DLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUN0QyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7b0JBRW5DLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztlQUN4QyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Ozs7a0JBSTNCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUN0QyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7b0JBRW5DLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztlQUN4QyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Ozs7ZUFJOUIsRUFBRSxDQUFDLCtCQUErQixDQUFDO2tCQUNoQyxFQUFFLENBQUMsa0NBQWtDLENBQUM7b0JBQ3BDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQzs7O2FBRy9DLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzttQkFDM0IsRUFBRSxDQUFDLG9DQUFvQyxDQUFDOzs2QkFFOUIsRUFBRSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUNyRSwrQkFBK0IsQ0FDbEMsa0JBQWtCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs0QkFDOUIsRUFBRSxDQUFDLCtCQUErQixDQUFDLGdCQUFnQixFQUFFLENBQUMsK0JBQStCLENBQUM7Ozs7O21CQUsvRixFQUFFLENBQUMsb0NBQW9DLENBQUM7Ozs7OztrQkFNekMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQ25DLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzs2QkFDVCxFQUFFLENBQUMsK0JBQStCLENBQUMsV0FBVyxFQUFFLENBQ3JFLCtCQUErQixDQUNsQyxrQkFBa0IsRUFBRSxDQUFDLCtCQUErQixDQUFDOzRCQUM5QixFQUFFLENBQUMsK0JBQStCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7Ozs7b0JBSzlGLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7O2VBRzNDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs7OztrQkFJOUIsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2FBQ3pDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzs7OztrQkFJMUIsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2FBQzVDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzs7OzsyQkFJcEIsRUFBRSxDQUFDLDJDQUEyQyxDQUFDOzs7OzJCQUkvQyxFQUFFLENBQUMsMkNBQTJDLENBQUM7Ozs7O2tCQUt4RCxFQUFFLENBQUMsdUNBQXVDLENBQUM7ZUFDOUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUNyRyxzQ0FBc0MsQ0FDekM7c0JBQ2lCLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQzs7Ozs7ZUFLbEQsRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUM5QixFQUFFLENBQUMsb0NBQW9DLENBQUM7OzthQUcvQyxFQUFFLENBQUMsNkJBQTZCLENBQUM7a0JBQzVCLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7OzttQkFJckMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O2FBZ0IvQyxFQUFFLENBQUMsMkJBQTJCLENBQUM7d0JBQ3BCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7OztrQkFJekMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ2pELEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7OzthQUl2QyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Ozs7a0JBSWhDLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQzthQUNwRCxFQUFFLENBQUMsc0NBQXNDLENBQUM7Ozs7YUFJMUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDOzs7O2tCQUlyQyxFQUFFLENBQUMseUNBQXlDLENBQUM7ZUFDaEQsRUFBRSxDQUFDLHdDQUF3QyxDQUFDLElBQUksRUFBRSxDQUFDLHdDQUF3QyxDQUFDLElBQUksRUFBRSxDQUN6Ryx3Q0FBd0MsQ0FDM0M7c0JBQ2lCLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7a0NBUWpDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7OzttQ0FJL0IsRUFBRSxDQUFDLDRCQUE0QixDQUFDOzs7O2lCQUlsRCxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDckMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2NBQ2hDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkE0RTdCLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7OztrQkFJdEMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2FBQzVDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQWlEbEMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2NBQ3JDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzthQUN2QyxFQUFFLENBQUMsbUNBQW1DLENBQUM7Ozs7cUJBSS9CLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQzs2QkFDdkMsRUFBRSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUNyRSwrQkFBK0IsQ0FDbEMsa0JBQWtCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs0QkFDOUIsRUFBRSxDQUFDLCtCQUErQixDQUFDLGdCQUFnQixFQUFFLENBQUMsK0JBQStCLENBQUM7Ozs7OzthQU1yRyxFQUFFLENBQUMseUNBQXlDLENBQUM7a0JBQ3hDLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQzs7OztrQkFJbEQsRUFBRSxDQUFDLHVEQUF1RCxDQUFDO01BQ3ZFLEVBQUUsQ0FBQyxrREFBa0QsQ0FBQzs7OztrQkFJMUMsRUFBRSxDQUFDLCtDQUErQyxDQUFDO2VBQ3RELEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQyxJQUFJLEVBQUUsQ0FDL0QsOENBQThDLENBQ2pELElBQUksRUFBRSxDQUFDLDhDQUE4QyxDQUFDO3NCQUNyQyxFQUFFLENBQUMsK0NBQStDLENBQUM7O0NBRXhFLENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckIseUJBQXlCLEVBQUUsSUFBSTtRQUMvQix1QkFBdUIsRUFBRSxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxhQUFhO1FBQ3BFLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxnQkFBZ0I7UUFDbEQsMkJBQTJCLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLO1FBQzdGLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxVQUFVO1FBQzdDLDZCQUE2QixFQUFFLFFBQVEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxNQUFNO1FBQ3RGLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxXQUFXO1FBQzNDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxhQUFhO1FBQy9DLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTztRQUMzQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU87S0FDOUMsQ0FBQztJQUNGLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFdBQVcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxpQkFBaUI7SUFDcEYsY0FBYyxFQUFFLDZCQUE2QjtJQUM3QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLG1CQUFtQixFQUFFLElBQUk7UUFDekIsOEJBQThCLEVBQUUsUUFBUSxDQUFDLFVBQVU7UUFDbkQsNkJBQTZCLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtRQUN4RCxpQ0FBaUMsRUFBRSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixLQUFLLEtBQUs7S0FDdEcsQ0FBQztJQUNGLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsYUFBYSxFQUFFLDRCQUE0QjtJQUMzQyxtQkFBbUIsRUFBRSxtQ0FBbUM7SUFDeEQsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLFFBQVEsRUFBRSx1QkFBdUI7SUFDakMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLG9CQUFvQixFQUFFLElBQUk7UUFDMUIsMkJBQTJCLEVBQUUsUUFBUSxDQUFDLE9BQU8sS0FBSyxLQUFLO1FBQ3ZELDRCQUE0QixFQUFFLFFBQVEsQ0FBQyxPQUFPLEtBQUssTUFBTTtLQUM1RCxDQUFDO0lBQ0Ysc0JBQXNCLEVBQUUsc0NBQXNDO0lBQzlELG9CQUFvQixFQUFFLGtDQUFrQztJQUN4RCx5QkFBeUIsRUFBRSx3Q0FBd0M7SUFDbkUsYUFBYSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5Qix3Q0FBd0MsRUFBRSxJQUFJO1FBQzlDLG9DQUFvQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEtBQUssTUFBTTtLQUNwRSxDQUFDO0lBQ0Ysb0JBQW9CLEVBQUUsb0NBQW9DO0lBQzFELGdCQUFnQixFQUFFLCtCQUErQjtJQUNqRCx5QkFBeUIsRUFBRSx5Q0FBeUM7SUFDcEUsY0FBYyxFQUFFLDZCQUE2QjtJQUM3Qyx3QkFBd0IsRUFBRSxzQ0FBc0M7SUFDaEUsY0FBYyxFQUFFLDhCQUE4QjtJQUM5QyxVQUFVLEVBQUUseUJBQXlCO0lBQ3JDLDBCQUEwQixFQUFFLHdDQUF3QztJQUNwRSx3QkFBd0IsRUFBRSx1Q0FBdUM7SUFDakUscUJBQXFCLEVBQUUsb0NBQW9DO0lBQzNELGVBQWUsRUFBRSw4QkFBOEI7SUFDL0MsbUJBQW1CLEVBQUUsaUNBQWlDO0lBQ3RELG1CQUFtQixFQUFFLGlDQUFpQztJQUN0RCxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLG1CQUFtQixFQUFFLElBQUk7UUFDekIsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsa0JBQWtCO1FBQy9FLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxhQUFhO0tBQ3RELENBQUM7SUFDRixjQUFjLEVBQUUsOEJBQThCO0lBQzlDLGVBQWUsRUFBRSwrQkFBK0I7SUFDaEQsYUFBYSxFQUFFLDZCQUE2QjtJQUU1QyxZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLGNBQWMsRUFBRSw4QkFBOEI7SUFDOUMsWUFBWSxFQUFFLDJCQUEyQjtJQUN6QyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0tBQzdELENBQUM7SUFDRixvQkFBb0IsRUFBRSxvQ0FBb0M7SUFDMUQsZUFBZSxFQUFFLDZCQUE2QjtJQUM5QyxlQUFlLEVBQUUsNkJBQTZCO0lBQzlDLGlCQUFpQixFQUFFLCtCQUErQjtJQUNsRCxLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0IsMkJBQTJCLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7S0FDN0QsQ0FBQztJQUNGLHFCQUFxQixFQUFFLG9DQUFvQztJQUMzRCxNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLHFCQUFxQixFQUFFLHFDQUFxQztJQUM1RCxxQkFBcUIsRUFBRSxzQ0FBc0M7SUFDN0QsdUJBQXVCLEVBQUUsd0NBQXdDO0NBQ3BFLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRztJQUNqQixjQUFjLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLFlBQVksRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1FBQ2pFLFFBQVEsRUFBRSxNQUFNO0tBQ25CLENBQUM7SUFDRixLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO0lBQzdCLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUNyQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0lBRW5CLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFZCxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLFlBQVksR0FBRyxZQUFZLENBQUM7dUdBUG5CLFVBQVU7MkdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7QUFXWDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBTixJQUFZLFlBaU1YO0FBak1ELFdBQVksWUFBWTtJQUNwQjs7T0FFRztJQUNILG9DQUFvQixDQUFBO0lBQ3BCOztPQUVHO0lBQ0gseUNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCx3REFBd0MsQ0FBQTtJQUN4Qzs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBQzdCOztPQUVHO0lBQ0gsZ0VBQWdELENBQUE7SUFDaEQ7O09BRUc7SUFDSCw4REFBOEMsQ0FBQTtJQUM5Qzs7T0FFRztJQUNILDJDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsMkNBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCw0REFBNEMsQ0FBQTtJQUM1Qzs7T0FFRztJQUNILHlFQUF5RCxDQUFBO0lBQ3pEOztPQUVHO0lBQ0gsd0RBQXdDLENBQUE7SUFDeEM7O09BRUc7SUFDSCxrREFBa0MsQ0FBQTtJQUNsQzs7T0FFRztJQUNILHNEQUFzQyxDQUFBO0lBQ3RDOztPQUVHO0lBQ0gsNkNBQTZCLENBQUE7SUFDN0I7O09BRUc7SUFDSCwrRUFBK0QsQ0FBQTtJQUMvRDs7T0FFRztJQUNILHlFQUF5RCxDQUFBO0lBQ3pEOztPQUVHO0lBQ0gsb0ZBQW9FLENBQUE7SUFDcEU7O09BRUc7SUFDSCw0REFBNEMsQ0FBQTtJQUM1Qzs7T0FFRztJQUNILDJFQUEyRCxDQUFBO0lBQzNEOztPQUVHO0lBQ0gsa0VBQWtELENBQUE7SUFDbEQ7O09BRUc7SUFDSCxxRkFBcUUsQ0FBQTtJQUNyRTs7T0FFRztJQUNILDhEQUE4QyxDQUFBO0lBQzlDOztPQUVHO0lBQ0gsaUZBQWlFLENBQUE7SUFDakU7O09BRUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7T0FFRztJQUNILHNEQUFzQyxDQUFBO0lBQ3RDOztPQUVHO0lBQ0gscUZBQXFFLENBQUE7SUFDckU7O09BRUc7SUFDSCxrRkFBa0UsQ0FBQTtJQUNsRTs7T0FFRztJQUNILDRFQUE0RCxDQUFBO0lBQzVEOztPQUVHO0lBQ0gsZ0VBQWdELENBQUE7SUFDaEQ7O09BRUc7SUFDSCx1RUFBdUQsQ0FBQTtJQUN2RDs7T0FFRztJQUNILHVFQUF1RCxDQUFBO0lBQ3ZEOztPQUVHO0lBQ0gsMkNBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7T0FFRztJQUNILGlFQUFpRCxDQUFBO0lBQ2pEOztPQUVHO0lBQ0gsNkRBQTZDLENBQUE7SUFDN0M7O09BRUc7SUFDSCwwREFBMEMsQ0FBQTtJQUMxQzs7T0FFRztJQUNILCtEQUErQyxDQUFBO0lBQy9DOztPQUVHO0lBQ0gsMERBQTBDLENBQUE7SUFDMUM7O09BRUc7SUFDSCwyRUFBMkQsQ0FBQTtJQUMzRDs7T0FFRztJQUNILCtEQUErQyxDQUFBO0lBQy9DOztPQUVHO0lBQ0gsK0RBQStDLENBQUE7SUFDL0M7O09BRUc7SUFDSCxtRUFBbUQsQ0FBQTtJQUNuRDs7T0FFRztJQUNILDJDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsNEVBQTRELENBQUE7SUFDNUQ7O09BRUc7SUFDSCw2Q0FBNkIsQ0FBQTtJQUM3Qjs7T0FFRztJQUNILDZFQUE2RCxDQUFBO0lBQzdEOztPQUVHO0lBQ0gsOEVBQThELENBQUE7SUFDOUQ7O09BRUc7SUFDSCxrRkFBa0UsQ0FBQTtBQUN0RSxDQUFDLEVBak1XLFlBQVksS0FBWixZQUFZLFFBaU12QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdHlsZSB9IGZyb20gJ3ByaW1lbmcvYmFzZSc7XG5cbmNvbnN0IHRoZW1lID0gKHsgZHQgfSkgPT4gYFxuLnAtZGF0YXRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wLWRhdGF0YWJsZS10YWJsZSB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGF0YWJsZS1zY3JvbGxhYmxlID4gLnAtZGF0YXRhYmxlLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogRm9yIFByaW1lTkcgKi9cbi5wLWRhdGF0YWJsZS1zY3JvbGxhYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRoZWFkIHtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMjtcbn1cbi8qIEZvciBQcmltZU5HICovXG4ucC1kYXRhdGFibGUtc2Nyb2xsYWJsZS10YWJsZSA+IC5wLWRhdGF0YWJsZS1mcm96ZW4tdGJvZHkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMjtcbn1cbi8qIEZvciBQcmltZU5HICovXG4ucC1kYXRhdGFibGUtc2Nyb2xsYWJsZS10YWJsZSA+IC5wLWRhdGF0YWJsZS1mcm96ZW4tdGJvZHk6bGFzdC1jaGlsZCB7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUtdGFibGUgPiAucC1kYXRhdGFibGUtdGZvb3Qge1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucC1kYXRhdGFibGUtc2Nyb2xsYWJsZSAucC1kYXRhdGFibGUtZnJvemVuLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUgdGgucC1kYXRhdGFibGUtZnJvemVuLWNvbHVtbiB7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUgPiAucC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyID4gLnAtZGF0YXRhYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRoZWFkLFxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUgPiAucC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyID4gLnAtdmlydHVhbHNjcm9sbGVyID4gLnAtZGF0YXRhYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUgPiAucC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyID4gLnAtZGF0YXRhYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRmb290LFxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUgPiAucC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyID4gLnAtdmlydHVhbHNjcm9sbGVyID4gLnAtZGF0YXRhYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuZm9vdGVyLmNlbGwuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWZsZXgtc2Nyb2xsYWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnAtZGF0YXRhYmxlLWZsZXgtc2Nyb2xsYWJsZSA+IC5wLWRhdGF0YWJsZS10YWJsZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnAtZGF0YXRhYmxlLXNjcm9sbGFibGUtdGFibGUgPiAucC1kYXRhdGFibGUtdGJvZHkgPiAucC1kYXRhdGFibGUtcm93LWdyb3VwLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucC1kYXRhdGFibGUtcmVzaXphYmxlLXRhYmxlID4gLnAtZGF0YXRhYmxlLXRoZWFkID4gdHIgPiB0aCxcbi5wLWRhdGF0YWJsZS1yZXNpemFibGUtdGFibGUgPiAucC1kYXRhdGFibGUtdGZvb3QgPiB0ciA+IHRkLFxuLnAtZGF0YXRhYmxlLXJlc2l6YWJsZS10YWJsZSA+IC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyID4gdGQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnAtZGF0YXRhYmxlLXJlc2l6YWJsZS10YWJsZSA+IC5wLWRhdGF0YWJsZS10aGVhZCA+IHRyID4gdGgucC1kYXRhdGFibGUtcmVzaXphYmxlLWNvbHVtbjpub3QoLnAtZGF0YXRhYmxlLWZyb3plbi1jb2x1bW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnAtZGF0YXRhYmxlLXJlc2l6YWJsZS10YWJsZS1maXQgPiAucC1kYXRhdGFibGUtdGhlYWQgPiB0ciA+IHRoLnAtZGF0YXRhYmxlLXJlc2l6YWJsZS1jb2x1bW46bGFzdC1jaGlsZCAucC1kYXRhdGFibGUtY29sdW1uLXJlc2l6ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wLWRhdGF0YWJsZS1jb2x1bW4tcmVzaXplciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6ICR7ZHQoJ2RhdGF0YWJsZS5jb2x1bW4ucmVzaXplci53aWR0aCcpfTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLypcbi5wLWRhdGF0YWJsZS1jb2x1bW4taGVhZGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuY2VsbC5nYXAnKX07XG59XG4ucC1kYXRhdGFibGUtdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuZ2FwJyl9O1xufVxuKi9cblxuLnAtZGF0YXRhYmxlLWNvbHVtbi1yZXNpemUtaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogJHtkdCgnZGF0YXRhYmxlLnJlc2l6ZS5pbmRpY2F0b3Iud2lkdGgnKX07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLnJlc2l6ZS5pbmRpY2F0b3IuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS1yb3ctcmVvcmRlci1pbmRpY2F0b3ItdXAsXG4ucC1kYXRhdGFibGUtcm93LXJlb3JkZXItaW5kaWNhdG9yLWRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucC1kYXRhdGFibGUtcmVvcmRlcmFibGUtY29sdW1uLFxuLnAtZGF0YXRhYmxlLXJlb3JkZXJhYmxlLXJvdy1oYW5kbGUge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cblxuLnAtZGF0YXRhYmxlLW1hc2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMztcbn1cblxuLnAtZGF0YXRhYmxlLWlubGluZS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIuaW5saW5lLmdhcCcpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWlubGluZS1maWx0ZXIgLnAtZGF0YXRhYmxlLWZpbHRlci1lbGVtZW50LWNvbnRhaW5lciB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xufVxuXG4ucC1kYXRhdGFibGUtZmlsdGVyLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLm92ZXJsYXkuc2VsZWN0LmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5zZWxlY3QuY29sb3InKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5vdmVybGF5LnNlbGVjdC5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5vdmVybGF5LnNlbGVjdC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5zZWxlY3Quc2hhZG93Jyl9O1xuICAgIG1pbi13aWR0aDogMTIuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLWZpbHRlci1jb25zdHJhaW50LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQubGlzdC5wYWRkaW5nJyl9O1xuICAgIGdhcDogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5jb25zdHJhaW50Lmxpc3QuZ2FwJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIuY29uc3RyYWludC5wYWRkaW5nJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5jb25zdHJhaW50LmJvcmRlci5yYWRpdXMnKX07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0YXRhYmxlLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicsXG4gICAgKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSxcbiAgICAgICAgYm94LXNoYWRvdyAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWZpbHRlci1jb25zdHJhaW50LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5jb25zdHJhaW50LnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQ6bm90KC5wLWRhdGF0YWJsZS1maWx0ZXItY29uc3RyYWludC1zZWxlY3RlZCk6bm90KC5wLWRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5jb25zdHJhaW50LmZvY3VzLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIuY29uc3RyYWludC5mb2N1cy5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWZpbHRlci1jb25zdHJhaW50OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQuZm9jdXMuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5jb25zdHJhaW50LmZvY3VzLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQtc2VsZWN0ZWQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMCBub25lO1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIuY29uc3RyYWludC5zZWxlY3RlZC5mb2N1cy5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQuc2VsZWN0ZWQuZm9jdXMuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItY29uc3RyYWludC1zZXBhcmF0b3Ige1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2R0KCdkYXRhdGFibGUuZmlsdGVyLmNvbnN0cmFpbnQuc2VwYXJhdG9yLmJvcmRlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXBvcG92ZXItZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnAtZGF0YXRhYmxlLWZpbHRlci1vdmVybGF5LXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5wb3BvdmVyLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5wb3BvdmVyLmNvbG9yJyl9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5wb3BvdmVyLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLm92ZXJsYXkucG9wb3Zlci5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIub3ZlcmxheS5wb3BvdmVyLnNoYWRvdycpfTtcbiAgICBtaW4td2lkdGg6IDEyLjVyZW07XG4gICAgcGFkZGluZzogJHtkdCgnZGF0YXRhYmxlLmZpbHRlci5vdmVybGF5LnBvcG92ZXIucGFkZGluZycpfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLm92ZXJsYXkucG9wb3Zlci5nYXAnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItb3BlcmF0b3ItZHJvcGRvd24sIC5wLWRhdGF0YWJsZS1maWx0ZXItY29uc3RyYWludC1kcm9wZG93biB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItcnVsZS1saXN0LFxuLnAtZGF0YXRhYmxlLWZpbHRlci1ydWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAke2R0KCdkYXRhdGFibGUuZmlsdGVyLm92ZXJsYXkucG9wb3Zlci5nYXAnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItcnVsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZHQoJ2RhdGF0YWJsZS5maWx0ZXIucnVsZS5ib3JkZXIuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItcnVsZTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItYWRkLXJ1bGUtYnV0dG9uLCAucC1kYXRhdGFibGUtZmlsdGVyLXJlbW92ZS1ydWxlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItcmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGF0YWJsZS1maWx0ZXItYnV0dG9uYmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5wLWRhdGF0YWJsZS12aXJ0dWFsc2Nyb2xsZXItc3BhY2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucC1kYXRhdGFibGUgLnAtdmlydHVhbHNjcm9sbGVyIC5wLXZpcnR1YWxzY3JvbGxlci1sb2FkaW5nIHtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5wLWRhdGF0YWJsZS1wYWdpbmF0b3ItdG9wIHtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5wYWdpbmF0b3IudG9wLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHtkdCgnZGF0YXRhYmxlLnBhZ2luYXRvci50b3AuYm9yZGVyLndpZHRoJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtcGFnaW5hdG9yLWJvdHRvbSB7XG4gICAgYm9yZGVyLWNvbG9yOiAke2R0KCdkYXRhdGFibGUucGFnaW5hdG9yLmJvdHRvbS5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR7ZHQoJ2RhdGF0YWJsZS5wYWdpbmF0b3IuYm90dG9tLmJvcmRlci53aWR0aCcpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuYm9yZGVyLndpZHRoJyl9O1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIucGFkZGluZycpfTtcbn1cblxuLnAtZGF0YXRhYmxlLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmZvb3Rlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuZm9vdGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgnZGF0YXRhYmxlLmZvb3Rlci5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR7ZHQoJ2RhdGF0YWJsZS5mb290ZXIuYm9yZGVyLndpZHRoJyl9O1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGF0YWJsZS5mb290ZXIucGFkZGluZycpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXRoZWFkID4gdHIgPiB0aCB7XG4gICAgcGFkZGluZzogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5jZWxsLnBhZGRpbmcnKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5jZWxsLmJhY2tncm91bmQnKX07XG4gICAgYm9yZGVyLWNvbG9yOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuY2VsbC5jb2xvcicpfTtcbiAgICBmb250LXdlaWdodDogJHtkdCgnZGF0YXRhYmxlLmNvbHVtbi50aXRsZS5mb250LndlaWdodCcpfTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0YXRhYmxlLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicsXG4gICAgKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSxcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3IgJHtkdCgnZGF0YXRhYmxlLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgnZGF0YXRhYmxlLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG59XG5cbi8qXG4ucC1kYXRhdGFibGUtY29sdW1uLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHtkdCgnZGF0YXRhYmxlLmNvbHVtbi50aXRsZS5mb250LndlaWdodCcpfTtcbn1cbiovXG5cbi5wLWRhdGF0YWJsZS10Ym9keSA+IHRyIHtcbiAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRhdGFibGUucm93LmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cuY29sb3InKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdChcbiAgICAgICAgJ2RhdGF0YWJsZS50cmFuc2l0aW9uLmR1cmF0aW9uJyxcbiAgICApfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGF0YWJsZS50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LFxuICAgICAgICAgICAgb3V0bGluZS1jb2xvciAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm94LXNoYWRvdyAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXRib2R5ID4gdHIgPiB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5ib2R5LmNlbGwuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgcGFkZGluZzogJHtkdCgnZGF0YXRhYmxlLmJvZHkuY2VsbC5wYWRkaW5nJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtaG92ZXJhYmxlIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyOm5vdCgucC1kYXRhdGFibGUtcm93LXNlbGVjdGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLnJvdy5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUucm93LmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtdGJvZHkgPiB0ci5wLWRhdGF0YWJsZS1yb3ctc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0YXRhYmxlLnJvdy5zZWxlY3RlZC5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXRib2R5ID4gdHI6aGFzKCsgLnAtZGF0YXRhYmxlLXJvdy1zZWxlY3RlZCkgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtkdCgnZGF0YXRhYmxlLmJvZHkuY2VsbC5zZWxlY3RlZC5ib3JkZXIuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS10Ym9keSA+IHRyLnAtZGF0YXRhYmxlLXJvdy1zZWxlY3RlZCA+IHRkIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke2R0KCdkYXRhdGFibGUuYm9keS5jZWxsLnNlbGVjdGVkLmJvcmRlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXRib2R5ID4gdHI6Zm9jdXMtdmlzaWJsZSxcbi5wLWRhdGF0YWJsZS10Ym9keSA+IHRyLnAtZGF0YXRhYmxlLWNvbnRleHRtZW51LXJvdy1zZWxlY3RlZCB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0YXRhYmxlLmJvZHkuY2VsbC5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdkYXRhdGFibGUuYm9keS5jZWxsLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgnZGF0YXRhYmxlLmJvZHkuY2VsbC5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoXG4gICAgICAgICdkYXRhdGFibGUuYm9keS5jZWxsLmZvY3VzLnJpbmcuY29sb3InLFxuICAgICl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRhdGFibGUuYm9keS5jZWxsLmZvY3VzLnJpbmcub2Zmc2V0Jyl9O1xufVxuXG4ucC1kYXRhdGFibGUtdGZvb3QgPiB0ciA+IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGF0YWJsZS5mb290ZXIuY2VsbC5wYWRkaW5nJyl9O1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgnZGF0YXRhYmxlLmZvb3Rlci5jZWxsLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuZm9vdGVyLmNlbGwuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmZvb3Rlci5jZWxsLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1jb2x1bW4tZm9vdGVyIHtcbiAgICBmb250LXdlaWdodDogJHtkdCgnZGF0YXRhYmxlLmNvbHVtbi5mb290ZXIuZm9udC53ZWlnaHQnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1zb3J0YWJsZS1jb2x1bW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnAtZGF0YXRhYmxlLXRoZWFkID4gdHIgPiB0aCxcbi5wLWRhdGF0YWJsZS1zb3J0LWljb24sXG4ucC1kYXRhdGFibGUtc29ydC1iYWRnZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnAtZGF0YXRhYmxlLXNvcnQtaWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5zb3J0Lmljb24uY29sb3InKX07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHtkdCgnZGF0YXRhYmxlLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG59XG5cbi5wLWRhdGF0YWJsZS1zb3J0YWJsZS1jb2x1bW46bm90KC5wLWRhdGF0YWJsZS1jb2x1bW4tc29ydGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5jZWxsLmhvdmVyLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuY2VsbC5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXNvcnRhYmxlLWNvbHVtbjpub3QoLnAtZGF0YXRhYmxlLWNvbHVtbi1zb3J0ZWQpOmhvdmVyIC5wLWRhdGF0YWJsZS1zb3J0LWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuc29ydC5pY29uLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtdGhlYWQgPiB0ciA+IHRoLnAtZGF0YXRhYmxlLWNvbHVtbi1zb3J0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuY2VsbC5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS10aGVhZCA+IHRyID4gdGgucC1kYXRhdGFibGUtY29sdW1uLXNvcnRlZCAucC1kYXRhdGFibGUtc29ydC1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnZGF0YXRhYmxlLmhlYWRlci5jZWxsLnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtc29ydGFibGUtY29sdW1uOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGF0YWJsZS5oZWFkZXIuY2VsbC5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuZm9jdXMucmluZy53aWR0aCcpfSAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuZm9jdXMucmluZy5zdHlsZScpfSAke2R0KFxuICAgICAgICAnZGF0YXRhYmxlLmhlYWRlci5jZWxsLmZvY3VzLnJpbmcuY29sb3InLFxuICAgICl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRhdGFibGUuaGVhZGVyLmNlbGwuZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1ob3ZlcmFibGUgLnAtZGF0YXRhYmxlLXNlbGVjdGFibGUtcm93IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wLWRhdGF0YWJsZS10Ym9keSA+IHRyLnAtZGF0YXRhYmxlLWRyYWdwb2ludC10b3AgPiB0ZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMCAwICR7ZHQoJ2RhdGF0YWJsZS5kcm9wLnBvaW50LmNvbG9yJyl9O1xufVxuXG4ucC1kYXRhdGFibGUtdGJvZHkgPiB0ci5wLWRhdGF0YWJsZS1kcmFncG9pbnQtYm90dG9tID4gdGQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwIDAgJHtkdCgnZGF0YXRhYmxlLmRyb3AucG9pbnQuY29sb3InKX07XG59XG5cbi5wLWRhdGF0YWJsZS1sb2FkaW5nLWljb24ge1xuICAgIGZvbnQtc2l6ZTogJHtkdCgnZGF0YXRhYmxlLmxvYWRpbmcuaWNvbi5zaXplJyl9O1xuICAgIHdpZHRoOiAke2R0KCdkYXRhdGFibGUubG9hZGluZy5pY29uLnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdkYXRhdGFibGUubG9hZGluZy5pY29uLnNpemUnKX07XG59XG5cbi5wLWRhdGF0YWJsZS1ncmlkbGluZXMgLnAtZGF0YXRhYmxlLWhlYWRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xufVxuXG4ucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS1mb290ZXIge1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLWdyaWRsaW5lcyAucC1kYXRhdGFibGUtcGFnaW5hdG9yLXRvcCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xufVxuXG4ucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS1wYWdpbmF0b3ItYm90dG9tIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XG59XG5cbi5wLWRhdGF0YWJsZS1ncmlkbGluZXMgLnAtZGF0YXRhYmxlLXRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xufVxuXG4ucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS10aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi5wLWRhdGF0YWJsZS1ncmlkbGluZXMgLnAtZGF0YXRhYmxlLXRib2R5ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLWdyaWRsaW5lcyAucC1kYXRhdGFibGUtdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcbn1cblxucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0ZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xufVxuXG4ucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLWdyaWRsaW5lcyAucC1kYXRhdGFibGUtdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XG59XG5cbi5wLWRhdGF0YWJsZS1ncmlkbGluZXMgLnAtZGF0YXRhYmxlLXRmb290ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLWdyaWRsaW5lcyAucC1kYXRhdGFibGUtdGhlYWQgKyAucC1kYXRhdGFibGUtdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xufVxuXG4ucC1kYXRhdGFibGUucC1kYXRhdGFibGUtZ3JpZGxpbmVzIC5wLWRhdGF0YWJsZS10aGVhZCArIC5wLWRhdGF0YWJsZS10Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xufVxuXG4ucC1kYXRhdGFibGUucC1kYXRhdGFibGUtZ3JpZGxpbmVzOmhhcygucC1kYXRhdGFibGUtdGhlYWQpOmhhcygucC1kYXRhdGFibGUtdGJvZHkpIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyID4gdGQge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG59XG5cbi5wLWRhdGF0YWJsZS5wLWRhdGF0YWJsZS1ncmlkbGluZXM6aGFzKC5wLWRhdGF0YWJsZS10aGVhZCk6aGFzKC5wLWRhdGF0YWJsZS10Ym9keSkgLnAtZGF0YXRhYmxlLXRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XG59XG5cbi5wLWRhdGF0YWJsZS5wLWRhdGF0YWJsZS1ncmlkbGluZXM6aGFzKC5wLWRhdGF0YWJsZS10Ym9keSk6aGFzKC5wLWRhdGF0YWJsZS10Zm9vdCkgLnAtZGF0YXRhYmxlLXRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLWdyaWRsaW5lczpoYXMoLnAtZGF0YXRhYmxlLXRib2R5KTpoYXMoLnAtZGF0YXRhYmxlLXRmb290KSAucC1kYXRhdGFibGUtdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDFweDtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXN0cmlwZWQgLnAtZGF0YXRhYmxlLXRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cuc3RyaXBlZC5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1kYXRhdGFibGUucC1kYXRhdGFibGUtc3RyaXBlZCAucC1kYXRhdGFibGUtdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKS5wLWRhdGF0YWJsZS1yb3ctc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0YXRhYmxlLnJvdy5zZWxlY3RlZC5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXNtIC5wLWRhdGF0YWJsZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXNtIC5wLWRhdGF0YWJsZS10aGVhZCA+IHRyID4gdGgge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXNtIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXNtIC5wLWRhdGF0YWJsZS10Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLXNtIC5wLWRhdGF0YWJsZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLWxnIC5wLWRhdGF0YWJsZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xufVxuXG4ucC1kYXRhdGFibGUucC1kYXRhdGFibGUtbGcgLnAtZGF0YXRhYmxlLXRoZWFkID4gdHIgPiB0aCB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDEuMjVyZW07XG59XG5cbi5wLWRhdGF0YWJsZS5wLWRhdGF0YWJsZS1sZyAucC1kYXRhdGFibGUtdGJvZHk+dHI+dGQge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xufVxuXG4ucC1kYXRhdGFibGUucC1kYXRhdGFibGUtbGcgLnAtZGF0YXRhYmxlLXRmb290PnRyPnRkIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbn1cblxuLnAtZGF0YXRhYmxlLnAtZGF0YXRhYmxlLWxnIC5wLWRhdGF0YWJsZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xufVxuXG4ucC1kYXRhdGFibGUtcm93LXRvZ2dsZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5zaXplJyl9O1xuICAgIGhlaWdodDogJHtkdCgnZGF0YXRhYmxlLnJvdy50b2dnbGUuYnV0dG9uLnNpemUnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5jb2xvcicpfTtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0YXRhYmxlLnJvdy50b2dnbGUuYnV0dG9uLmJvcmRlci5yYWRpdXMnKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdChcbiAgICAgICAgJ2RhdGF0YWJsZS50cmFuc2l0aW9uLmR1cmF0aW9uJyxcbiAgICApfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGF0YWJsZS50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LFxuICAgICAgICAgICAgb3V0bGluZS1jb2xvciAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm94LXNoYWRvdyAke2R0KCdkYXRhdGFibGUudHJhbnNpdGlvbi5kdXJhdGlvbicpfTtcbiAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnAtZGF0YXRhYmxlLXJvdy10b2dnbGUtYnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiAke2R0KCdkYXRhdGFibGUucm93LnRvZ2dsZS5idXR0b24uaG92ZXIuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0YXRhYmxlLnJvdy50b2dnbGUuYnV0dG9uLmhvdmVyLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWRhdGF0YWJsZS10Ym9keSA+IHRyLnAtZGF0YXRhYmxlLXJvdy1zZWxlY3RlZCAucC1kYXRhdGFibGUtcm93LXRvZ2dsZS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5zZWxlY3RlZC5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xuICAgICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5zZWxlY3RlZC5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0YXRhYmxlLXJvdy10b2dnbGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdkYXRhdGFibGUucm93LnRvZ2dsZS5idXR0b24uZm9jdXMucmluZy53aWR0aCcpfSAke2R0KFxuICAgICAgICAnZGF0YXRhYmxlLnJvdy50b2dnbGUuYnV0dG9uLmZvY3VzLnJpbmcuc3R5bGUnLFxuICAgICl9ICR7ZHQoJ2RhdGF0YWJsZS5yb3cudG9nZ2xlLmJ1dHRvbi5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRhdGFibGUucm93LnRvZ2dsZS5idXR0b24uZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5gO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIHJvb3Q6ICh7IGluc3RhbmNlIH0pID0+ICh7XG4gICAgICAgICdwLWRhdGF0YWJsZSBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICdwLWRhdGF0YWJsZS1ob3ZlcmFibGUnOiBpbnN0YW5jZS5yb3dIb3ZlciB8fCBpbnN0YW5jZS5zZWxlY3Rpb25Nb2RlLFxuICAgICAgICAncC1kYXRhdGFibGUtcmVzaXphYmxlJzogaW5zdGFuY2UucmVzaXphYmxlQ29sdW1ucyxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXJlc2l6YWJsZS1maXQnOiBpbnN0YW5jZS5yZXNpemFibGVDb2x1bW5zICYmIGluc3RhbmNlLmNvbHVtblJlc2l6ZU1vZGUgPT09ICdmaXQnLFxuICAgICAgICAncC1kYXRhdGFibGUtc2Nyb2xsYWJsZSc6IGluc3RhbmNlLnNjcm9sbGFibGUsXG4gICAgICAgICdwLWRhdGF0YWJsZS1mbGV4LXNjcm9sbGFibGUnOiBpbnN0YW5jZS5zY3JvbGxhYmxlICYmIGluc3RhbmNlLnNjcm9sbEhlaWdodCA9PT0gJ2ZsZXgnLFxuICAgICAgICAncC1kYXRhdGFibGUtc3RyaXBlZCc6IGluc3RhbmNlLnN0cmlwZWRSb3dzLFxuICAgICAgICAncC1kYXRhdGFibGUtZ3JpZGxpbmVzJzogaW5zdGFuY2Uuc2hvd0dyaWRsaW5lcyxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXNtJzogaW5zdGFuY2Uuc2l6ZSA9PT0gJ3NtYWxsJyxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLWxnJzogaW5zdGFuY2Uuc2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICB9KSxcbiAgICBtYXNrOiAncC1kYXRhdGFibGUtbWFzayBwLW92ZXJsYXktbWFzaycsXG4gICAgbG9hZGluZ0ljb246ICdwLWRhdGF0YWJsZS1sb2FkaW5nLWljb24nLFxuICAgIGhlYWRlcjogJ3AtZGF0YXRhYmxlLWhlYWRlcicsXG4gICAgcGNQYWdpbmF0b3I6ICh7IGluc3RhbmNlIH0pID0+ICdwLWRhdGF0YWJsZS1wYWdpbmF0b3ItJyArIGluc3RhbmNlLnBhZ2luYXRvclBvc2l0aW9uLFxuICAgIHRhYmxlQ29udGFpbmVyOiAncC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyJyxcbiAgICB0YWJsZTogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXRhYmxlJzogdHJ1ZSxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXNjcm9sbGFibGUtdGFibGUnOiBpbnN0YW5jZS5zY3JvbGxhYmxlLFxuICAgICAgICAncC1kYXRhdGFibGUtcmVzaXphYmxlLXRhYmxlJzogaW5zdGFuY2UucmVzaXphYmxlQ29sdW1ucyxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXJlc2l6YWJsZS10YWJsZS1maXQnOiBpbnN0YW5jZS5yZXNpemFibGVDb2x1bW5zICYmIGluc3RhbmNlLmNvbHVtblJlc2l6ZU1vZGUgPT09ICdmaXQnLFxuICAgIH0pLFxuICAgIHRoZWFkOiAncC1kYXRhdGFibGUtdGhlYWQnLFxuICAgIGNvbHVtblJlc2l6ZXI6ICdwLWRhdGF0YWJsZS1jb2x1bW4tcmVzaXplcicsXG4gICAgY29sdW1uSGVhZGVyQ29udGVudDogJ3AtZGF0YXRhYmxlLWNvbHVtbi1oZWFkZXItY29udGVudCcsXG4gICAgY29sdW1uVGl0bGU6ICdwLWRhdGF0YWJsZS1jb2x1bW4tdGl0bGUnLFxuICAgIGNvbHVtbkZvb3RlcjogJ3AtZGF0YXRhYmxlLWNvbHVtbi1mb290ZXInLFxuICAgIHNvcnRJY29uOiAncC1kYXRhdGFibGUtc29ydC1pY29uJyxcbiAgICBwY1NvcnRCYWRnZTogJ3AtZGF0YXRhYmxlLXNvcnQtYmFkZ2UnLFxuICAgIGZpbHRlcjogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0YXRhYmxlLWZpbHRlcic6IHRydWUsXG4gICAgICAgICdwLWRhdGF0YWJsZS1pbmxpbmUtZmlsdGVyJzogaW5zdGFuY2UuZGlzcGxheSA9PT0gJ3JvdycsXG4gICAgICAgICdwLWRhdGF0YWJsZS1wb3BvdmVyLWZpbHRlcic6IGluc3RhbmNlLmRpc3BsYXkgPT09ICdtZW51JyxcbiAgICB9KSxcbiAgICBmaWx0ZXJFbGVtZW50Q29udGFpbmVyOiAncC1kYXRhdGFibGUtZmlsdGVyLWVsZW1lbnQtY29udGFpbmVyJyxcbiAgICBwY0NvbHVtbkZpbHRlckJ1dHRvbjogJ3AtZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItYnV0dG9uJyxcbiAgICBwY0NvbHVtbkZpbHRlckNsZWFyQnV0dG9uOiAncC1kYXRhdGFibGUtY29sdW1uLWZpbHRlci1jbGVhci1idXR0b24nLFxuICAgIGZpbHRlck92ZXJsYXk6ICh7IGluc3RhbmNlIH0pID0+ICh7XG4gICAgICAgICdwLWRhdGF0YWJsZS1maWx0ZXItb3ZlcmxheSBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICdwLWRhdGF0YWJsZS1maWx0ZXItb3ZlcmxheS1wb3BvdmVyJzogaW5zdGFuY2UuZGlzcGxheSA9PT0gJ21lbnUnLFxuICAgIH0pLFxuICAgIGZpbHRlckNvbnN0cmFpbnRMaXN0OiAncC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQtbGlzdCcsXG4gICAgZmlsdGVyQ29uc3RyYWludDogJ3AtZGF0YXRhYmxlLWZpbHRlci1jb25zdHJhaW50JyxcbiAgICBmaWx0ZXJDb25zdHJhaW50U2VwYXJhdG9yOiAncC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQtc2VwYXJhdG9yJyxcbiAgICBmaWx0ZXJPcGVyYXRvcjogJ3AtZGF0YXRhYmxlLWZpbHRlci1vcGVyYXRvcicsXG4gICAgcGNGaWx0ZXJPcGVyYXRvckRyb3Bkb3duOiAncC1kYXRhdGFibGUtZmlsdGVyLW9wZXJhdG9yLWRyb3Bkb3duJyxcbiAgICBmaWx0ZXJSdWxlTGlzdDogJ3AtZGF0YXRhYmxlLWZpbHRlci1ydWxlLWxpc3QnLFxuICAgIGZpbHRlclJ1bGU6ICdwLWRhdGF0YWJsZS1maWx0ZXItcnVsZScsXG4gICAgcGNGaWx0ZXJDb25zdHJhaW50RHJvcGRvd246ICdwLWRhdGF0YWJsZS1maWx0ZXItY29uc3RyYWludC1kcm9wZG93bicsXG4gICAgcGNGaWx0ZXJSZW1vdmVSdWxlQnV0dG9uOiAncC1kYXRhdGFibGUtZmlsdGVyLXJlbW92ZS1ydWxlLWJ1dHRvbicsXG4gICAgcGNGaWx0ZXJBZGRSdWxlQnV0dG9uOiAncC1kYXRhdGFibGUtZmlsdGVyLWFkZC1ydWxlLWJ1dHRvbicsXG4gICAgZmlsdGVyQnV0dG9uYmFyOiAncC1kYXRhdGFibGUtZmlsdGVyLWJ1dHRvbmJhcicsXG4gICAgcGNGaWx0ZXJDbGVhckJ1dHRvbjogJ3AtZGF0YXRhYmxlLWZpbHRlci1jbGVhci1idXR0b24nLFxuICAgIHBjRmlsdGVyQXBwbHlCdXR0b246ICdwLWRhdGF0YWJsZS1maWx0ZXItYXBwbHktYnV0dG9uJyxcbiAgICB0Ym9keTogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0YXRhYmxlLXRib2R5JzogdHJ1ZSxcbiAgICAgICAgJ3AtZGF0YXRhYmxlLWZyb3plbi10Ym9keSc6IGluc3RhbmNlLmZyb3plblZhbHVlIHx8IGluc3RhbmNlLmZyb3plbkJvZHlUZW1wbGF0ZSxcbiAgICAgICAgJ3AtdmlydHVhbHNjcm9sbGVyLWNvbnRlbnQnOiBpbnN0YW5jZS52aXJ0dWFsU2Nyb2xsLFxuICAgIH0pLFxuICAgIHJvd0dyb3VwSGVhZGVyOiAncC1kYXRhdGFibGUtcm93LWdyb3VwLWhlYWRlcicsXG4gICAgcm93VG9nZ2xlQnV0dG9uOiAncC1kYXRhdGFibGUtcm93LXRvZ2dsZS1idXR0b24nLFxuICAgIHJvd1RvZ2dsZUljb246ICdwLWRhdGF0YWJsZS1yb3ctdG9nZ2xlLWljb24nLFxuXG4gICAgcm93RXhwYW5zaW9uOiAncC1kYXRhdGFibGUtcm93LWV4cGFuc2lvbicsXG4gICAgcm93R3JvdXBGb290ZXI6ICdwLWRhdGF0YWJsZS1yb3ctZ3JvdXAtZm9vdGVyJyxcbiAgICBlbXB0eU1lc3NhZ2U6ICdwLWRhdGF0YWJsZS1lbXB0eS1tZXNzYWdlJyxcbiAgICBib2R5Q2VsbDogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0YXRhYmxlLWZyb3plbi1jb2x1bW4nOiBpbnN0YW5jZS5jb2x1bW5Qcm9wKCdmcm96ZW4nKSxcbiAgICB9KSxcbiAgICByZW9yZGVyYWJsZVJvd0hhbmRsZTogJ3AtZGF0YXRhYmxlLXJlb3JkZXJhYmxlLXJvdy1oYW5kbGUnLFxuICAgIHBjUm93RWRpdG9ySW5pdDogJ3AtZGF0YXRhYmxlLXJvdy1lZGl0b3ItaW5pdCcsXG4gICAgcGNSb3dFZGl0b3JTYXZlOiAncC1kYXRhdGFibGUtcm93LWVkaXRvci1zYXZlJyxcbiAgICBwY1Jvd0VkaXRvckNhbmNlbDogJ3AtZGF0YXRhYmxlLXJvdy1lZGl0b3ItY2FuY2VsJyxcbiAgICB0Zm9vdDogJ3AtZGF0YXRhYmxlLXRmb290JyxcbiAgICBmb290ZXJDZWxsOiAoeyBpbnN0YW5jZSB9KSA9PiAoe1xuICAgICAgICAncC1kYXRhdGFibGUtZnJvemVuLWNvbHVtbic6IGluc3RhbmNlLmNvbHVtblByb3AoJ2Zyb3plbicpLFxuICAgIH0pLFxuICAgIHZpcnR1YWxTY3JvbGxlclNwYWNlcjogJ3AtZGF0YXRhYmxlLXZpcnR1YWxzY3JvbGxlci1zcGFjZXInLFxuICAgIGZvb3RlcjogJ3AtZGF0YXRhYmxlLXRmb290JyxcbiAgICBjb2x1bW5SZXNpemVJbmRpY2F0b3I6ICdwLWRhdGF0YWJsZS1jb2x1bW4tcmVzaXplLWluZGljYXRvcicsXG4gICAgcm93UmVvcmRlckluZGljYXRvclVwOiAncC1kYXRhdGFibGUtcm93LXJlb3JkZXItaW5kaWNhdG9yLXVwJyxcbiAgICByb3dSZW9yZGVySW5kaWNhdG9yRG93bjogJ3AtZGF0YXRhYmxlLXJvdy1yZW9yZGVyLWluZGljYXRvci1kb3duJyxcbn07XG5cbmNvbnN0IGlubGluZVN0eWxlcyA9IHtcbiAgICB0YWJsZUNvbnRhaW5lcjogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ21heC1oZWlnaHQnOiBpbnN0YW5jZS52aXJ0dWFsU2Nyb2xsID8gJycgOiBpbnN0YW5jZS5zY3JvbGxIZWlnaHQsXG4gICAgICAgIG92ZXJmbG93OiAnYXV0bycsXG4gICAgfSksXG4gICAgdGhlYWQ6IHsgcG9zaXRpb246ICdzdGlja3knIH0sXG4gICAgdGZvb3Q6IHsgcG9zaXRpb246ICdzdGlja3knIH0sXG59O1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge1xuICAgIG5hbWUgPSAnZGF0YXRhYmxlJztcblxuICAgIHRoZW1lID0gdGhlbWU7XG5cbiAgICBjbGFzc2VzID0gY2xhc3NlcztcblxuICAgIGlubGluZVN0eWxlcyA9IGlubGluZVN0eWxlcztcbn1cblxuLyoqXG4gKlxuICogRGF0YVRhYmxlIGRpc3BsYXlzIGRhdGEgaW4gdGFidWxhciBmb3JtYXQuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvdGFibGUvKVxuICpcbiAqIEBtb2R1bGUgdGFibGVzdHlsZVxuICpcbiAqL1xuZXhwb3J0IGVudW0gVGFibGVDbGFzc2VzIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290ID0gJ3AtZGF0YXRhYmxlJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBtYXNrIGVsZW1lbnRcbiAgICAgKi9cbiAgICBtYXNrID0gJ3AtZGF0YXRhYmxlLW1hc2snLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGxvYWRpbmcgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgbG9hZGluZ0ljb24gPSAncC1kYXRhdGFibGUtbG9hZGluZy1pY29uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBoZWFkZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGhlYWRlciA9ICdwLWRhdGF0YWJsZS1oZWFkZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHBhZ2luYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgcGNQYWdpbmF0b3IgPSAncC1kYXRhdGFibGUtcGFnaW5hdG9yLVtwb3NpdGlvbl0nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRhYmxlIGNvbnRhaW5lciBlbGVtZW50XG4gICAgICovXG4gICAgdGFibGVDb250YWluZXIgPSAncC1kYXRhdGFibGUtdGFibGUtY29udGFpbmVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB0YWJsZSBlbGVtZW50XG4gICAgICovXG4gICAgdGFibGUgPSAncC1kYXRhdGFibGUtdGFibGUnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRoZWFkIGVsZW1lbnRcbiAgICAgKi9cbiAgICB0aGVhZCA9ICdwLWRhdGF0YWJsZS10aGVhZCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgY29sdW1uIHJlc2l6ZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGNvbHVtblJlc2l6ZXIgPSAncC1kYXRhdGFibGUtY29sdW1uLXJlc2l6ZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNvbHVtbiBoZWFkZXIgY29udGVudCBlbGVtZW50XG4gICAgICovXG4gICAgY29sdW1uSGVhZGVyQ29udGVudCA9ICdwLWRhdGF0YWJsZS1jb2x1bW4taGVhZGVyLWNvbnRlbnQnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNvbHVtbiB0aXRsZSBlbGVtZW50XG4gICAgICovXG4gICAgY29sdW1uVGl0bGUgPSAncC1kYXRhdGFibGUtY29sdW1uLXRpdGxlJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBzb3J0IGljb24gZWxlbWVudFxuICAgICAqL1xuICAgIHNvcnRJY29uID0gJ3AtZGF0YXRhYmxlLXNvcnQtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc29ydCBiYWRnZSBlbGVtZW50XG4gICAgICovXG4gICAgcGNTb3J0QmFkZ2UgPSAncC1kYXRhdGFibGUtc29ydC1iYWRnZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlsdGVyIGVsZW1lbnRcbiAgICAgKi9cbiAgICBmaWx0ZXIgPSAncC1kYXRhdGFibGUtZmlsdGVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgZWxlbWVudCBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGZpbHRlckVsZW1lbnRDb250YWluZXIgPSAncC1kYXRhdGFibGUtZmlsdGVyLWVsZW1lbnQtY29udGFpbmVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjb2x1bW4gZmlsdGVyIGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNDb2x1bW5GaWx0ZXJCdXR0b24gPSAncC1kYXRhdGFibGUtY29sdW1uLWZpbHRlci1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNvbHVtbiBmaWx0ZXIgY2xlYXIgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY0NvbHVtbkZpbHRlckNsZWFyQnV0dG9uID0gJ3AtZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItY2xlYXItYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgb3ZlcmxheSBlbGVtZW50XG4gICAgICovXG4gICAgZmlsdGVyT3ZlcmxheSA9ICdwLWRhdGF0YWJsZS1maWx0ZXItb3ZlcmxheScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlsdGVyIGNvbnN0cmFpbnQgbGlzdCBlbGVtZW50XG4gICAgICovXG4gICAgZmlsdGVyQ29uc3RyYWludExpc3QgPSAncC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQtbGlzdCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlsdGVyIGNvbnN0cmFpbnQgZWxlbWVudFxuICAgICAqL1xuICAgIGZpbHRlckNvbnN0cmFpbnQgPSAncC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBjb25zdHJhaW50IHNlcGFyYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgZmlsdGVyQ29uc3RyYWludFNlcGFyYXRvciA9ICdwLWRhdGF0YWJsZS1maWx0ZXItY29uc3RyYWludC1zZXBhcmF0b3InLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBvcGVyYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgZmlsdGVyT3BlcmF0b3IgPSAncC1kYXRhdGFibGUtZmlsdGVyLW9wZXJhdG9yJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgb3BlcmF0b3IgZHJvcGRvd24gZWxlbWVudFxuICAgICAqL1xuICAgIHBjRmlsdGVyT3BlcmF0b3JEcm9wZG93biA9ICdwLWRhdGF0YWJsZS1maWx0ZXItb3BlcmF0b3ItZHJvcGRvd24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBydWxlIGxpc3QgZWxlbWVudFxuICAgICAqL1xuICAgIGZpbHRlclJ1bGVMaXN0ID0gJ3AtZGF0YXRhYmxlLWZpbHRlci1ydWxlLWxpc3QnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBydWxlIGVsZW1lbnRcbiAgICAgKi9cbiAgICBmaWx0ZXJSdWxlID0gJ3AtZGF0YXRhYmxlLWZpbHRlci1ydWxlJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgY29uc3RyYWludCBkcm9wZG93biBlbGVtZW50XG4gICAgICovXG4gICAgcGNGaWx0ZXJDb25zdHJhaW50RHJvcGRvd24gPSAncC1kYXRhdGFibGUtZmlsdGVyLWNvbnN0cmFpbnQtZHJvcGRvd24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciByZW1vdmUgcnVsZSBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHBjRmlsdGVyUmVtb3ZlUnVsZUJ1dHRvbiA9ICdwLWRhdGF0YWJsZS1maWx0ZXItcmVtb3ZlLXJ1bGUtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgYWRkIHJ1bGUgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY0ZpbHRlckFkZFJ1bGVCdXR0b24gPSAncC1kYXRhdGFibGUtZmlsdGVyLWFkZC1ydWxlLWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlsdGVyIGJ1dHRvbmJhciBlbGVtZW50XG4gICAgICovXG4gICAgZmlsdGVyQnV0dG9uYmFyID0gJ3AtZGF0YXRhYmxlLWZpbHRlci1idXR0b25iYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBjbGVhciBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHBjRmlsdGVyQ2xlYXJCdXR0b24gPSAncC1kYXRhdGFibGUtZmlsdGVyLWNsZWFyLWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlsdGVyIGFwcGx5IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNGaWx0ZXJBcHBseUJ1dHRvbiA9ICdwLWRhdGF0YWJsZS1maWx0ZXItYXBwbHktYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB0Ym9keSBlbGVtZW50XG4gICAgICovXG4gICAgdGJvZHkgPSAncC1kYXRhdGFibGUtdGJvZHknLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdyBncm91cCBoZWFkZXIgZWxlbWVudFxuICAgICAqL1xuICAgIHJvd0dyb3VwSGVhZGVyID0gJ3AtZGF0YXRhYmxlLXJvdy1ncm91cC1oZWFkZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdyB0b2dnbGUgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICByb3dUb2dnbGVCdXR0b24gPSAncC1kYXRhdGFibGUtcm93LXRvZ2dsZS1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdyB0b2dnbGUgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgcm93VG9nZ2xlSWNvbiA9ICdwLWRhdGF0YWJsZS1yb3ctdG9nZ2xlLWljb24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdyBleHBhbnNpb24gZWxlbWVudFxuICAgICAqL1xuICAgIHJvd0V4cGFuc2lvbiA9ICdwLWRhdGF0YWJsZS1yb3ctZXhwYW5zaW9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb3cgZ3JvdXAgZm9vdGVyIGVsZW1lbnRcbiAgICAgKi9cbiAgICByb3dHcm91cEZvb3RlciA9ICdwLWRhdGF0YWJsZS1yb3ctZ3JvdXAtZm9vdGVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBlbXB0eSBtZXNzYWdlIGVsZW1lbnRcbiAgICAgKi9cbiAgICBlbXB0eU1lc3NhZ2UgPSAncC1kYXRhdGFibGUtZW1wdHktbWVzc2FnZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcmVvcmRlcmFibGUgcm93IGhhbmRsZSBlbGVtZW50XG4gICAgICovXG4gICAgcmVvcmRlcmFibGVSb3dIYW5kbGUgPSAncC1kYXRhdGFibGUtcmVvcmRlcmFibGUtcm93LWhhbmRsZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm93IGVkaXRvciBpbml0IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY1Jvd0VkaXRvckluaXQgPSAncC1kYXRhdGFibGUtcm93LWVkaXRvci1pbml0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb3cgZWRpdG9yIHNhdmUgZWxlbWVudFxuICAgICAqL1xuICAgIHBjUm93RWRpdG9yU2F2ZSA9ICdwLWRhdGF0YWJsZS1yb3ctZWRpdG9yLXNhdmUnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdyBlZGl0b3IgY2FuY2VsIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY1Jvd0VkaXRvckNhbmNlbCA9ICdwLWRhdGF0YWJsZS1yb3ctZWRpdG9yLWNhbmNlbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgdGZvb3QgZWxlbWVudFxuICAgICAqL1xuICAgIHRmb290ID0gJ3AtZGF0YXRhYmxlLXRmb290JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB2aXJ0dWFsIHNjcm9sbGVyIHNwYWNlciBlbGVtZW50XG4gICAgICovXG4gICAgdmlydHVhbFNjcm9sbGVyU3BhY2VyID0gJ3AtZGF0YXRhYmxlLXZpcnR1YWxzY3JvbGxlci1zcGFjZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGZvb3RlciBlbGVtZW50XG4gICAgICovXG4gICAgZm9vdGVyID0gJ3AtZGF0YXRhYmxlLWZvb3RlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgY29sdW1uIHJlc2l6ZSBpbmRpY2F0b3IgZWxlbWVudFxuICAgICAqL1xuICAgIGNvbHVtblJlc2l6ZUluZGljYXRvciA9ICdwLWRhdGF0YWJsZS1jb2x1bW4tcmVzaXplLWluZGljYXRvcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm93IHJlb3JkZXIgaW5kaWNhdG9yIHVwIGVsZW1lbnRcbiAgICAgKi9cbiAgICByb3dSZW9yZGVySW5kaWNhdG9yVXAgPSAncC1kYXRhdGFibGUtcm93LXJlb3JkZXItaW5kaWNhdG9yLXVwJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb3cgcmVvcmRlciBpbmRpY2F0b3IgZG93biBlbGVtZW50XG4gICAgICovXG4gICAgcm93UmVvcmRlckluZGljYXRvckRvd24gPSAncC1kYXRhdGFibGUtcm93LXJlb3JkZXItaW5kaWNhdG9yLWRvd24nLFxufVxuIl19