ids-enterprise-wc 1.13.2 → 1.13.3

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 (872) hide show
  1. package/chunks/{ids-chunk-MFUR23HI-full.js → ids-chunk-23YOMOSJ-full.js} +3 -3
  2. package/chunks/{ids-chunk-DGMLW46Y-full.js → ids-chunk-24DUL2YK-full.js} +5 -5
  3. package/chunks/{ids-chunk-OLMQJDL2-full.js → ids-chunk-24RD6XEE-full.js} +15 -15
  4. package/chunks/{ids-chunk-6Z54ZTDT-full.js → ids-chunk-2CXVBEIH-full.js} +10 -10
  5. package/chunks/{ids-chunk-5OTOVBGB-full.js → ids-chunk-2KY5Y7EH-full.js} +10 -10
  6. package/chunks/{ids-chunk-HXIGU7Z3-full.js → ids-chunk-2RPNH5OY-full.js} +12 -12
  7. package/chunks/{ids-chunk-PZNDGTUV-full.js → ids-chunk-2SUZT7BS-full.js} +9 -9
  8. package/chunks/{ids-chunk-Q5HQNMUG-full.js → ids-chunk-2XVBZFEW-full.js} +9 -9
  9. package/chunks/{ids-chunk-23CS6FGU-full.js → ids-chunk-3FP4ZOFN-full.js} +6 -6
  10. package/chunks/{ids-chunk-DN6WAIN2-full.js → ids-chunk-3IPIY4RV-full.js} +11 -11
  11. package/chunks/{ids-chunk-B5T2BJQT-full.js → ids-chunk-3RXDM7Y3-full.js} +3 -3
  12. package/chunks/{ids-chunk-DSSMZQUN-full.js → ids-chunk-3W5OPDAR-full.js} +8 -8
  13. package/chunks/{ids-chunk-HMUTH62T-full.js → ids-chunk-3WQHV246-full.js} +2 -2
  14. package/chunks/{ids-chunk-7OMEBT6E-full.js → ids-chunk-3XI2VRJL-full.js} +3 -3
  15. package/chunks/{ids-chunk-34QYE6WM-full.js → ids-chunk-43PRY6V3-full.js} +6 -6
  16. package/chunks/{ids-chunk-5U22QPZJ-full.js → ids-chunk-44HOLFPQ-full.js} +9 -9
  17. package/chunks/{ids-chunk-6NUPE2DG-full.js → ids-chunk-44NSL2B6-full.js} +8 -8
  18. package/chunks/{ids-chunk-FV3FB6IO-full.js → ids-chunk-474MFA4O-full.js} +8 -8
  19. package/chunks/{ids-chunk-5IQFY2AG-full.js → ids-chunk-4EB2UK5J-full.js} +2 -2
  20. package/chunks/{ids-chunk-ABS2MHQA-full.js → ids-chunk-4FP2N5UG-full.js} +4 -4
  21. package/chunks/{ids-chunk-VL5NWPA5-full.js → ids-chunk-4G7XYQM5-full.js} +7 -7
  22. package/chunks/{ids-chunk-WAXIAWPC-full.js → ids-chunk-4JFJB3FG-full.js} +7 -6
  23. package/chunks/{ids-chunk-WAXIAWPC-full.js.map → ids-chunk-4JFJB3FG-full.js.map} +2 -2
  24. package/chunks/{ids-chunk-6EHWKLDJ-full.js → ids-chunk-4MGY364N-full.js} +2 -2
  25. package/chunks/{ids-chunk-ZDVPFO3F-full.js → ids-chunk-4QOM23NA-full.js} +3 -3
  26. package/chunks/{ids-chunk-7GVANS54-full.js → ids-chunk-4T5V5QXC-full.js} +2 -2
  27. package/chunks/{ids-chunk-GT5TV3H3-full.js → ids-chunk-4UZAA336-full.js} +4 -4
  28. package/chunks/{ids-chunk-I2ASBBR3-full.js → ids-chunk-536JFLJC-full.js} +512 -59
  29. package/chunks/ids-chunk-536JFLJC-full.js.map +7 -0
  30. package/chunks/{ids-chunk-VZUIMCGS-full.js → ids-chunk-5773OPHP-full.js} +8 -8
  31. package/chunks/{ids-chunk-2IPVCSKZ-full.js → ids-chunk-5AEWUUZC-full.js} +8 -8
  32. package/chunks/{ids-chunk-DX6QIRV5-full.js → ids-chunk-5D623WNY-full.js} +4 -4
  33. package/chunks/{ids-chunk-CAQHKU35-full.js → ids-chunk-5EAPKNQY-full.js} +6 -6
  34. package/chunks/{ids-chunk-HQGH2SX7-full.js → ids-chunk-5TO2W2O7-full.js} +4 -4
  35. package/chunks/{ids-chunk-6QHTWIKK-full.js → ids-chunk-5ZRKZ3EJ-full.js} +3 -3
  36. package/chunks/{ids-chunk-QLEWXFUK-full.js → ids-chunk-63ORR2QU-full.js} +10 -10
  37. package/chunks/{ids-chunk-JVEHC2GO-full.js → ids-chunk-655TBKNA-full.js} +14 -14
  38. package/chunks/{ids-chunk-MRMHPQZB-full.js → ids-chunk-65UUVQ66-full.js} +8 -8
  39. package/chunks/{ids-chunk-DF3WRLWW-full.js → ids-chunk-6BT5FXZK-full.js} +2 -2
  40. package/chunks/{ids-chunk-GBFDFO7X-full.js → ids-chunk-6DTSF453-full.js} +5 -5
  41. package/chunks/{ids-chunk-AIC67I3B-full.js → ids-chunk-6MNZABFL-full.js} +9 -9
  42. package/chunks/{ids-chunk-WZZIB47F-full.js → ids-chunk-6OLJBWEE-full.js} +18 -18
  43. package/chunks/{ids-chunk-BF5YJGL2-full.js → ids-chunk-6P2LSHBV-full.js} +2 -2
  44. package/chunks/{ids-chunk-ZMV3PJSQ-full.js → ids-chunk-6WAIBM2Q-full.js} +4 -4
  45. package/chunks/{ids-chunk-WCY3GOTO-full.js → ids-chunk-76M6QFAT-full.js} +2 -2
  46. package/chunks/{ids-chunk-LLYE4PCL-full.js → ids-chunk-76Y7W2LD-full.js} +8 -8
  47. package/chunks/{ids-chunk-PWDLFVVD-full.js → ids-chunk-7BGTL4DW-full.js} +12 -12
  48. package/chunks/{ids-chunk-6S5VBCIV-full.js → ids-chunk-7LP2QC4H-full.js} +5 -5
  49. package/chunks/{ids-chunk-PB3RBJQH-full.js → ids-chunk-7PE4H2NA-full.js} +4 -4
  50. package/chunks/{ids-chunk-2MO6NC45-full.js → ids-chunk-7U3KLPA7-full.js} +16 -16
  51. package/chunks/{ids-chunk-KZUU3WML-full.js → ids-chunk-A5RRTARU-full.js} +15 -15
  52. package/chunks/{ids-chunk-2RDPETVX-full.js → ids-chunk-ACV7BCRC-full.js} +5 -5
  53. package/chunks/{ids-chunk-MN26F63F-full.js → ids-chunk-AMFEGKA6-full.js} +7 -7
  54. package/chunks/{ids-chunk-3ACN345F-full.js → ids-chunk-B5GHODEX-full.js} +5 -5
  55. package/chunks/{ids-chunk-NQ6KLJHZ-full.js → ids-chunk-BAD4A2ZD-full.js} +12 -12
  56. package/chunks/{ids-chunk-BHGPHWWL-full.js → ids-chunk-BG6GF54T-full.js} +8 -8
  57. package/chunks/{ids-chunk-RD3CAEBZ-full.js → ids-chunk-BJLBSMB4-full.js} +10 -10
  58. package/chunks/{ids-chunk-CRDTRPEN-full.js → ids-chunk-BNLHKZTH-full.js} +2 -2
  59. package/chunks/{ids-chunk-TYDGSFPN-full.js → ids-chunk-BOUMAFEJ-full.js} +11 -11
  60. package/chunks/{ids-chunk-NRL6YHJO-full.js → ids-chunk-BQXFI2IX-full.js} +7 -7
  61. package/chunks/{ids-chunk-5VOOLEAX-full.js → ids-chunk-BUIIMG6I-full.js} +20 -20
  62. package/chunks/{ids-chunk-DAN35OCG-full.js → ids-chunk-BUSLDMGU-full.js} +8 -8
  63. package/chunks/{ids-chunk-HKJFW7XK-full.js → ids-chunk-BVVQPIMS-full.js} +11 -11
  64. package/chunks/{ids-chunk-PT3DFEPD-full.js → ids-chunk-BX6RDODK-full.js} +7 -7
  65. package/chunks/{ids-chunk-SCUDQYUW-full.js → ids-chunk-BZHEMUUE-full.js} +9 -4
  66. package/chunks/ids-chunk-BZHEMUUE-full.js.map +7 -0
  67. package/chunks/{ids-chunk-37YMXNRR-full.js → ids-chunk-C45WTB7C-full.js} +3 -3
  68. package/chunks/{ids-chunk-TQCSIR34-full.js → ids-chunk-C6G4A7ER-full.js} +5 -5
  69. package/chunks/{ids-chunk-PCR42BC7-full.js → ids-chunk-CG2UXD3A-full.js} +7 -7
  70. package/chunks/{ids-chunk-PCR42BC7-full.js.map → ids-chunk-CG2UXD3A-full.js.map} +2 -2
  71. package/chunks/{ids-chunk-CKBHGWJV-full.js → ids-chunk-CHRYLWHI-full.js} +7 -7
  72. package/chunks/{ids-chunk-74CZHSRC-full.js → ids-chunk-CINQIDRO-full.js} +10 -10
  73. package/chunks/{ids-chunk-7VSJQKQ3-full.js → ids-chunk-CQPG7G2Z-full.js} +2 -2
  74. package/chunks/{ids-chunk-M4TVM5IS-full.js → ids-chunk-CRYHODPP-full.js} +4 -4
  75. package/chunks/{ids-chunk-RFDLYMBY-full.js → ids-chunk-D3FPGVWN-full.js} +10 -10
  76. package/chunks/{ids-chunk-X65A3RHJ-full.js → ids-chunk-D523CBZB-full.js} +2 -2
  77. package/chunks/{ids-chunk-JQOEAS5Z-full.js → ids-chunk-DO5PEIJU-full.js} +11 -11
  78. package/chunks/{ids-chunk-HXVEIAAY-full.js → ids-chunk-DOTEXGMG-full.js} +5 -5
  79. package/chunks/{ids-chunk-FLX2COZP-full.js → ids-chunk-DS72I6YQ-full.js} +9 -9
  80. package/chunks/{ids-chunk-OEJBR76M-full.js → ids-chunk-DVLVMHPO-full.js} +7 -7
  81. package/chunks/{ids-chunk-2S5E5AIY-full.js → ids-chunk-DVWUTAHN-full.js} +9 -9
  82. package/chunks/{ids-chunk-LTWHCJTS-full.js → ids-chunk-E2GU4JTT-full.js} +9 -9
  83. package/chunks/{ids-chunk-UPYP6ZNN-full.js → ids-chunk-E7724OOW-full.js} +2 -2
  84. package/chunks/{ids-chunk-FUKJEPPE-full.js → ids-chunk-ECOKOO4I-full.js} +23 -23
  85. package/chunks/{ids-chunk-OIKOJE4V-full.js → ids-chunk-EHCO2WXK-full.js} +2 -2
  86. package/chunks/{ids-chunk-GRXCU67I-full.js → ids-chunk-EQ6GTJZE-full.js} +8 -8
  87. package/chunks/{ids-chunk-I7WT4BAD-full.js → ids-chunk-EQEYIHWM-full.js} +14 -14
  88. package/chunks/{ids-chunk-W64FIHYB-full.js → ids-chunk-EQFRFJZL-full.js} +3 -3
  89. package/chunks/{ids-chunk-IUYPHVAV-full.js → ids-chunk-ER5U55RZ-full.js} +6 -6
  90. package/chunks/{ids-chunk-UQHBV7QA-full.js → ids-chunk-EUMJGPX6-full.js} +7 -7
  91. package/chunks/{ids-chunk-GBJBXWW2-full.js → ids-chunk-F22BNY77-full.js} +3 -3
  92. package/chunks/{ids-chunk-2IV2T4WN-full.js → ids-chunk-F6KRGJOF-full.js} +6 -6
  93. package/chunks/{ids-chunk-36SP4BV6-full.js → ids-chunk-FED4HWAK-full.js} +4 -4
  94. package/chunks/{ids-chunk-K7FTGQ2E-full.js → ids-chunk-FGNPXRCT-full.js} +5 -5
  95. package/chunks/{ids-chunk-55HY2PLR-full.js → ids-chunk-FJ6CLV42-full.js} +4 -4
  96. package/chunks/{ids-chunk-QFCUUXL7-full.js → ids-chunk-FKDVLLAM-full.js} +4 -4
  97. package/chunks/{ids-chunk-6MD5X4G4-full.js → ids-chunk-FMGQY2FL-full.js} +4 -4
  98. package/chunks/{ids-chunk-EBYI6T7F-full.js → ids-chunk-FNNZ7WCH-full.js} +2 -2
  99. package/chunks/{ids-chunk-NGQ76EOS-full.js → ids-chunk-FYHE4J3E-full.js} +2 -2
  100. package/chunks/{ids-chunk-ZUVM4VU3-full.js → ids-chunk-GQE37MCK-full.js} +2 -2
  101. package/chunks/{ids-chunk-7FKK5PB2-full.js → ids-chunk-GRJXMLAA-full.js} +4 -4
  102. package/chunks/{ids-chunk-M2SIA6XU-full.js → ids-chunk-GY4CPTBB-full.js} +10 -10
  103. package/chunks/{ids-chunk-543DMEAP-full.js → ids-chunk-H2TX7XGU-full.js} +10 -10
  104. package/chunks/{ids-chunk-TFXOBXGZ-full.js → ids-chunk-HA4GQMAP-full.js} +10 -10
  105. package/chunks/{ids-chunk-DSQC4CQ6-full.js → ids-chunk-HAVT47XR-full.js} +5 -5
  106. package/chunks/{ids-chunk-BQOD7TDG-full.js → ids-chunk-HIKXEG6J-full.js} +23 -23
  107. package/chunks/{ids-chunk-J3BASKXU-full.js → ids-chunk-HL4NF3SZ-full.js} +12 -12
  108. package/chunks/{ids-chunk-TYXL3K44-full.js → ids-chunk-HSCBKGPG-full.js} +5 -5
  109. package/chunks/{ids-chunk-VFRVF6JJ-full.js → ids-chunk-HVIABMM5-full.js} +2 -2
  110. package/chunks/{ids-chunk-VWTJAFWA-full.js → ids-chunk-HX27OUZN-full.js} +13 -13
  111. package/chunks/{ids-chunk-LBSE4RZY-full.js → ids-chunk-HXKZXPZT-full.js} +15 -15
  112. package/chunks/{ids-chunk-R6DT6J7M-full.js → ids-chunk-IIFGHPSC-full.js} +6 -6
  113. package/chunks/{ids-chunk-Y2TFZ2T5-full.js → ids-chunk-INJAKMQT-full.js} +16 -16
  114. package/chunks/{ids-chunk-ZPLLMTPE-full.js → ids-chunk-IPHFA66F-full.js} +8 -8
  115. package/chunks/{ids-chunk-YFF3WQZW-full.js → ids-chunk-ISTLZRNT-full.js} +3 -3
  116. package/chunks/{ids-chunk-VGGWQ5BE-full.js → ids-chunk-ITE525L4-full.js} +10 -10
  117. package/chunks/{ids-chunk-NMILSQCH-full.js → ids-chunk-J5CIWKCT-full.js} +4 -4
  118. package/chunks/{ids-chunk-CXUGXPHV-full.js → ids-chunk-JCPCSYJ3-full.js} +2 -2
  119. package/chunks/{ids-chunk-SVUVNOHV-full.js → ids-chunk-JDTIF3YY-full.js} +9 -9
  120. package/chunks/{ids-chunk-N2ZGYOMH-full.js → ids-chunk-JF4TPWFS-full.js} +14 -14
  121. package/chunks/{ids-chunk-FVDI7K5P-full.js → ids-chunk-JPIVLL2H-full.js} +11 -11
  122. package/chunks/{ids-chunk-H3FYNTWI-full.js → ids-chunk-JSSL4NZO-full.js} +10 -10
  123. package/chunks/{ids-chunk-QQDMXJQW-full.js → ids-chunk-JSUWWQAI-full.js} +2 -2
  124. package/chunks/{ids-chunk-REPPCS5Y-full.js → ids-chunk-JTGLYQWH-full.js} +12 -12
  125. package/chunks/{ids-chunk-6YBUX6E2-full.js → ids-chunk-JV7UYR2E-full.js} +7 -7
  126. package/chunks/{ids-chunk-7PD5RBLF-full.js → ids-chunk-JZEP4QPB-full.js} +7 -7
  127. package/chunks/{ids-chunk-557INSAX-full.js → ids-chunk-K24A25UN-full.js} +3 -3
  128. package/chunks/{ids-chunk-3ET3C2CT-full.js → ids-chunk-K2TTOUEO-full.js} +16 -16
  129. package/chunks/{ids-chunk-USR5TIRI-full.js → ids-chunk-K2W2YHY3-full.js} +10 -10
  130. package/chunks/{ids-chunk-LTCXGP7G-full.js → ids-chunk-K2WUDECL-full.js} +3 -3
  131. package/chunks/{ids-chunk-7JPI44ST-full.js → ids-chunk-KDT7XWEU-full.js} +4 -4
  132. package/chunks/{ids-chunk-Q3E5P243-full.js → ids-chunk-KHROY5NZ-full.js} +2 -2
  133. package/chunks/{ids-chunk-X5XV2XEN-full.js → ids-chunk-KIKBAS3S-full.js} +4 -4
  134. package/chunks/{ids-chunk-SGEKV6VG-full.js → ids-chunk-KKBXWSGW-full.js} +4 -4
  135. package/chunks/{ids-chunk-GQC6VIBC-full.js → ids-chunk-KLF345LI-full.js} +3 -3
  136. package/chunks/{ids-chunk-6CLBJJVO-full.js → ids-chunk-KO5YPO3K-full.js} +9 -9
  137. package/chunks/{ids-chunk-4EF5KFC4-full.js → ids-chunk-KSBDEF2V-full.js} +6 -6
  138. package/chunks/{ids-chunk-3BKSN3MI-full.js → ids-chunk-KX3YBGML-full.js} +2 -2
  139. package/chunks/{ids-chunk-ARMFIRIG-full.js → ids-chunk-LB7VKRQT-full.js} +9 -9
  140. package/chunks/{ids-chunk-M6YBCIFU-full.js → ids-chunk-LCAFBMNX-full.js} +6 -6
  141. package/chunks/{ids-chunk-V4XTWZMG-full.js → ids-chunk-LEZ2JXU2-full.js} +9 -9
  142. package/chunks/{ids-chunk-GCB4THDI-full.js → ids-chunk-LLOYDBPH-full.js} +10 -10
  143. package/chunks/{ids-chunk-MM6J4L3H-full.js → ids-chunk-LQJ6TQB7-full.js} +10 -10
  144. package/chunks/{ids-chunk-D6UPV763-full.js → ids-chunk-LR27PTK6-full.js} +8 -8
  145. package/chunks/{ids-chunk-OHXEXITV-full.js → ids-chunk-LSDW3LRN-full.js} +13 -13
  146. package/chunks/{ids-chunk-FRMWXXEE-full.js → ids-chunk-LYQI3AL4-full.js} +2 -2
  147. package/chunks/{ids-chunk-D5PFB4Z5-full.js → ids-chunk-M4FGNMCL-full.js} +4 -4
  148. package/chunks/{ids-chunk-BE2WF4G7-full.js → ids-chunk-M6VUXDAI-full.js} +4 -4
  149. package/chunks/{ids-chunk-2W7SGFXN-full.js → ids-chunk-M725A3MN-full.js} +11 -11
  150. package/chunks/{ids-chunk-HLE7S7FA-full.js → ids-chunk-M75NTVIB-full.js} +13 -13
  151. package/chunks/{ids-chunk-KRG7ILWA-full.js → ids-chunk-MH5M2YW5-full.js} +13 -13
  152. package/chunks/{ids-chunk-WLH6FB7F-full.js → ids-chunk-MIPHQRHK-full.js} +2 -2
  153. package/chunks/{ids-chunk-OQF3KN66-full.js → ids-chunk-MJTYIXBN-full.js} +11 -11
  154. package/chunks/{ids-chunk-AHGM5SDK-full.js → ids-chunk-MOU7I6BI-full.js} +7 -7
  155. package/chunks/{ids-chunk-CEDZAYKW-full.js → ids-chunk-MZYZBHCN-full.js} +12 -12
  156. package/chunks/{ids-chunk-BDXWOLCO-full.js → ids-chunk-N6D3DXRK-full.js} +11 -11
  157. package/chunks/{ids-chunk-B6B76OKF-full.js → ids-chunk-N6DIYIIZ-full.js} +10 -10
  158. package/chunks/{ids-chunk-KO3KZWQZ-full.js → ids-chunk-NATNGT73-full.js} +16 -16
  159. package/chunks/{ids-chunk-46EIPFU7-full.js → ids-chunk-NDHBA4UL-full.js} +9 -9
  160. package/chunks/{ids-chunk-FH5ULEPX-full.js → ids-chunk-NHXQIZQH-full.js} +11 -11
  161. package/chunks/{ids-chunk-AD3Q5O4G-full.js → ids-chunk-NKXXYLTH-full.js} +10 -10
  162. package/chunks/{ids-chunk-TAX5HVWM-full.js → ids-chunk-NPVKP7XT-full.js} +13 -13
  163. package/chunks/{ids-chunk-P35OLURH-full.js → ids-chunk-NYP72F55-full.js} +4 -4
  164. package/chunks/{ids-chunk-PCCRONYR-full.js → ids-chunk-NZNXYHMY-full.js} +12 -12
  165. package/chunks/{ids-chunk-FRAN3EGT-full.js → ids-chunk-O4JXDQ7L-full.js} +2 -2
  166. package/chunks/{ids-chunk-HDKARTRS-full.js → ids-chunk-ODZMTEHZ-full.js} +11 -11
  167. package/chunks/{ids-chunk-EVC4SJNV-full.js → ids-chunk-OFTHMHNN-full.js} +6 -6
  168. package/chunks/{ids-chunk-5UFPYCKZ-full.js → ids-chunk-OKFF4JWL-full.js} +6 -6
  169. package/chunks/{ids-chunk-STUQC5EN-full.js → ids-chunk-OMTV2M33-full.js} +2 -2
  170. package/chunks/{ids-chunk-5OIJ7YEZ-full.js → ids-chunk-OPSZFUVF-full.js} +2 -2
  171. package/chunks/{ids-chunk-HT6B7AQL-full.js → ids-chunk-OQNHEF3V-full.js} +10 -10
  172. package/chunks/{ids-chunk-UGRNYFTT-full.js → ids-chunk-OQXHVGD2-full.js} +6 -6
  173. package/chunks/{ids-chunk-JRK44CJ3-full.js → ids-chunk-OVM5D5SP-full.js} +9 -9
  174. package/chunks/{ids-chunk-JW46WWBJ-full.js → ids-chunk-P33YXHEO-full.js} +8 -8
  175. package/chunks/{ids-chunk-7AJ5GVW7-full.js → ids-chunk-P5CEBCIG-full.js} +2 -2
  176. package/chunks/{ids-chunk-OKTKMUSU-full.js → ids-chunk-P5RXDTO2-full.js} +9 -9
  177. package/chunks/{ids-chunk-DK3GHAFJ-full.js → ids-chunk-PCQJIZDS-full.js} +9 -9
  178. package/chunks/{ids-chunk-Y5ZKF5IE-full.js → ids-chunk-PFEOOXOA-full.js} +5 -5
  179. package/chunks/{ids-chunk-GAPWBO6H-full.js → ids-chunk-PKQOR7IQ-full.js} +16 -16
  180. package/chunks/{ids-chunk-HQYUGX4E-full.js → ids-chunk-PLG7Q7HB-full.js} +8 -8
  181. package/chunks/{ids-chunk-GJSTSXB2-full.js → ids-chunk-PNTWGI4L-full.js} +8 -8
  182. package/chunks/{ids-chunk-YUBSYJOO-full.js → ids-chunk-PPUIANQC-full.js} +7 -7
  183. package/chunks/{ids-chunk-PEKEMDUM-full.js → ids-chunk-PPYV4K2W-full.js} +8 -8
  184. package/chunks/{ids-chunk-QMM5OYVU-full.js → ids-chunk-PVNFUH25-full.js} +12 -12
  185. package/chunks/{ids-chunk-PUXMBT6E-full.js → ids-chunk-QAKNY2K5-full.js} +14 -14
  186. package/chunks/{ids-chunk-24JQ5QSF-full.js → ids-chunk-QC3YTNFW-full.js} +7 -7
  187. package/chunks/{ids-chunk-3GC2IKUP-full.js → ids-chunk-QICYJWV2-full.js} +2 -2
  188. package/chunks/{ids-chunk-SGEKWQI2-full.js → ids-chunk-QL5BWGRT-full.js} +4 -4
  189. package/chunks/{ids-chunk-F5N5J5CC-full.js → ids-chunk-QLKPXSYP-full.js} +3 -3
  190. package/chunks/{ids-chunk-6LVGKX7B-full.js → ids-chunk-QZE2T6RN-full.js} +10 -10
  191. package/chunks/{ids-chunk-3ARK6C6L-full.js → ids-chunk-R5R3S57T-full.js} +10 -10
  192. package/chunks/{ids-chunk-XKMKXLO4-full.js → ids-chunk-RCM4V3XS-full.js} +8 -8
  193. package/chunks/{ids-chunk-XAFYLA5L-full.js → ids-chunk-REGZSNTP-full.js} +2 -2
  194. package/chunks/{ids-chunk-R77MGSM6-full.js → ids-chunk-RHPTKTWK-full.js} +4 -4
  195. package/chunks/{ids-chunk-CP2DVRB2-full.js → ids-chunk-RIQYX2LA-full.js} +8 -8
  196. package/chunks/{ids-chunk-DLW3AVBI-full.js → ids-chunk-RJ3MHPGT-full.js} +2 -2
  197. package/chunks/{ids-chunk-JKL7IJX6-full.js → ids-chunk-RL4PRWWL-full.js} +11 -11
  198. package/chunks/{ids-chunk-JV6JSALT-full.js → ids-chunk-RPTMFMI3-full.js} +6 -6
  199. package/chunks/{ids-chunk-S57C4KXG-full.js → ids-chunk-RQ6PWT3Z-full.js} +2 -2
  200. package/chunks/{ids-chunk-C4LSCZTQ-full.js → ids-chunk-RWT6NGYY-full.js} +10 -10
  201. package/chunks/{ids-chunk-CRVGWLIF-full.js → ids-chunk-S2YBQC3H-full.js} +10 -10
  202. package/chunks/{ids-chunk-YX25ZZ76-full.js → ids-chunk-S4S263F7-full.js} +2 -2
  203. package/chunks/{ids-chunk-4KOGV5S6-full.js → ids-chunk-S6DDPBLL-full.js} +3 -3
  204. package/chunks/{ids-chunk-5ELJINRK-full.js → ids-chunk-SIS75LAP-full.js} +3 -3
  205. package/chunks/{ids-chunk-R4JPV7M7-full.js → ids-chunk-SLXLD6RV-full.js} +2 -2
  206. package/chunks/{ids-chunk-QDN5ISE7-full.js → ids-chunk-SMEGSI22-full.js} +3 -3
  207. package/chunks/{ids-chunk-NLGNSKTC-full.js → ids-chunk-SN6G2IDB-full.js} +3 -3
  208. package/chunks/{ids-chunk-HFPGE2QH-full.js → ids-chunk-SNWJAFW7-full.js} +4 -4
  209. package/chunks/{ids-chunk-77AKSYNJ-full.js → ids-chunk-SQB7CQME-full.js} +54 -13
  210. package/chunks/ids-chunk-SQB7CQME-full.js.map +7 -0
  211. package/chunks/{ids-chunk-35ECJA2C-full.js → ids-chunk-SQLZPK2R-full.js} +7 -7
  212. package/chunks/{ids-chunk-ZSWWZ6G6-full.js → ids-chunk-SSUJH3Y5-full.js} +8 -8
  213. package/chunks/{ids-chunk-JAEPAADX-full.js → ids-chunk-T3XJHEYI-full.js} +9 -9
  214. package/chunks/{ids-chunk-WKPZKQEG-full.js → ids-chunk-T6FMTTEN-full.js} +7 -7
  215. package/chunks/{ids-chunk-MI3ZPCPG-full.js → ids-chunk-TBPYKVP7-full.js} +6 -6
  216. package/chunks/{ids-chunk-7TNTDIDY-full.js → ids-chunk-TQI4ELXN-full.js} +11 -11
  217. package/chunks/{ids-chunk-MTDK7HR3-full.js → ids-chunk-TSHFFNZO-full.js} +3 -3
  218. package/chunks/{ids-chunk-AXZ5KRXH-full.js → ids-chunk-TVJEUQNS-full.js} +12 -12
  219. package/chunks/{ids-chunk-7DA47KVV-full.js → ids-chunk-TX6JMJVN-full.js} +8 -8
  220. package/chunks/{ids-chunk-UF4RKEE3-full.js → ids-chunk-TZUZOXZB-full.js} +2 -2
  221. package/chunks/{ids-chunk-JD35FTUV-full.js → ids-chunk-U265PQZG-full.js} +4 -4
  222. package/chunks/{ids-chunk-HJMBIMJL-full.js → ids-chunk-U6RLOB64-full.js} +8 -8
  223. package/chunks/{ids-chunk-2OCOBBEL-full.js → ids-chunk-U7BHU6SJ-full.js} +4 -4
  224. package/chunks/{ids-chunk-5Q4SEIZ2-full.js → ids-chunk-UAAKNOSO-full.js} +10 -10
  225. package/chunks/{ids-chunk-6REFUPF7-full.js → ids-chunk-UEAPQQWV-full.js} +3 -3
  226. package/chunks/{ids-chunk-J3TAGWSR-full.js → ids-chunk-UFBUIJIQ-full.js} +11 -11
  227. package/chunks/{ids-chunk-KHQFTYMP-full.js → ids-chunk-UL2U74OZ-full.js} +4 -4
  228. package/chunks/{ids-chunk-OJS6LSJ5-full.js → ids-chunk-UOWXMCDY-full.js} +5 -5
  229. package/chunks/{ids-chunk-QB5HGA7R-full.js → ids-chunk-UQSTMH53-full.js} +11 -11
  230. package/chunks/{ids-chunk-723FQZWT-full.js → ids-chunk-URRI3K6F-full.js} +3 -3
  231. package/chunks/{ids-chunk-WFHTI5RR-full.js → ids-chunk-UYYBGIDV-full.js} +7 -7
  232. package/chunks/{ids-chunk-MPCOD3EM-full.js → ids-chunk-V27TW6FN-full.js} +8 -8
  233. package/chunks/{ids-chunk-QLUMF46I-full.js → ids-chunk-V6P4VFF2-full.js} +5 -5
  234. package/chunks/{ids-chunk-PZYPPC72-full.js → ids-chunk-VBASNVK6-full.js} +4 -4
  235. package/chunks/{ids-chunk-IIAUFD4V-full.js → ids-chunk-VF72DVER-full.js} +2 -2
  236. package/chunks/{ids-chunk-DP5MFD3X-full.js → ids-chunk-VFCMPAPU-full.js} +2 -2
  237. package/chunks/{ids-chunk-TL2ITBEY-full.js → ids-chunk-VKQC4E3U-full.js} +13 -13
  238. package/chunks/{ids-chunk-KWZFGVEC-full.js → ids-chunk-VLS32KDG-full.js} +9 -9
  239. package/chunks/{ids-chunk-25SFEGWW-full.js → ids-chunk-VOQPOVB4-full.js} +9 -9
  240. package/chunks/{ids-chunk-3KNBEAEJ-full.js → ids-chunk-VOXJBDTL-full.js} +2 -2
  241. package/chunks/{ids-chunk-SSR6EG35-full.js → ids-chunk-VSUCTRET-full.js} +8 -8
  242. package/chunks/{ids-chunk-Z3K2R6TK-full.js → ids-chunk-VZK3UNI2-full.js} +2 -2
  243. package/chunks/{ids-chunk-ANQ467A7-full.js → ids-chunk-W3QDSJFT-full.js} +5 -5
  244. package/chunks/{ids-chunk-2FNRNYV3-full.js → ids-chunk-W6JJZ2KW-full.js} +3 -3
  245. package/chunks/{ids-chunk-HZ45UVLK-full.js → ids-chunk-W6YDML3E-full.js} +9 -9
  246. package/chunks/{ids-chunk-5H5JOBKN-full.js → ids-chunk-WEXW4EDP-full.js} +10 -10
  247. package/chunks/{ids-chunk-KZFN5VAP-full.js → ids-chunk-WMENBLGN-full.js} +9 -9
  248. package/chunks/{ids-chunk-5IRPWSWQ-full.js → ids-chunk-WPVTQZTR-full.js} +14 -14
  249. package/chunks/{ids-chunk-VJXOS4VA-full.js → ids-chunk-WXVD2LPK-full.js} +5 -5
  250. package/chunks/{ids-chunk-MBUS3QJQ-full.js → ids-chunk-X4S7ZHSU-full.js} +5 -5
  251. package/chunks/{ids-chunk-NRPGTR55-full.js → ids-chunk-X53E2ROO-full.js} +3 -3
  252. package/chunks/{ids-chunk-CPSCG5KE-full.js → ids-chunk-XBFA4CMB-full.js} +21 -21
  253. package/chunks/{ids-chunk-J4UUXN3B-full.js → ids-chunk-XBJOS4RU-full.js} +7 -7
  254. package/chunks/{ids-chunk-LQZOVWLN-full.js → ids-chunk-XCC3IVSP-full.js} +6 -6
  255. package/chunks/{ids-chunk-4XS4C3E6-full.js → ids-chunk-XCOOWZNX-full.js} +4 -4
  256. package/chunks/{ids-chunk-7LLW7QR3-full.js → ids-chunk-XF5BZKK7-full.js} +9 -9
  257. package/chunks/{ids-chunk-JR6JZTUW-full.js → ids-chunk-XLF32LYM-full.js} +9 -9
  258. package/chunks/{ids-chunk-5O3AGRGM-full.js → ids-chunk-XPUSFXSJ-full.js} +6 -6
  259. package/chunks/{ids-chunk-MM4ZKSLE-full.js → ids-chunk-XTPN3SFT-full.js} +9 -9
  260. package/chunks/{ids-chunk-K5SHUKHM-full.js → ids-chunk-XVTFV3VO-full.js} +7 -7
  261. package/chunks/{ids-chunk-NWDJN63Z-full.js → ids-chunk-YEFBLJLV-full.js} +4 -4
  262. package/chunks/{ids-chunk-ZASVB3HI-full.js → ids-chunk-YHWCHT5S-full.js} +9 -9
  263. package/chunks/{ids-chunk-KBK3KHCB-full.js → ids-chunk-YIAQZ6Y7-full.js} +8 -8
  264. package/chunks/{ids-chunk-MZ52VCIX-full.js → ids-chunk-YJPG4OCQ-full.js} +7 -7
  265. package/chunks/{ids-chunk-UZTLN4RE-full.js → ids-chunk-YKQXHMXK-full.js} +5 -5
  266. package/chunks/{ids-chunk-4TI33B4L-full.js → ids-chunk-YLYKVFAO-full.js} +10 -10
  267. package/chunks/{ids-chunk-REOYW4U6-full.js → ids-chunk-YMXMNPBJ-full.js} +10 -10
  268. package/chunks/{ids-chunk-CZIQX2JT-full.js → ids-chunk-YO6YVMGK-full.js} +9 -9
  269. package/chunks/{ids-chunk-TP5FKJQJ-full.js → ids-chunk-YSP56VTK-full.js} +4 -4
  270. package/chunks/{ids-chunk-JWSN527Q-full.js → ids-chunk-YTWR6KLY-full.js} +19 -19
  271. package/chunks/{ids-chunk-4BAPDFDC-full.js → ids-chunk-YXGIOC6V-full.js} +16 -16
  272. package/chunks/{ids-chunk-L5KLUFSQ-full.js → ids-chunk-YYCLHLDU-full.js} +5 -5
  273. package/chunks/{ids-chunk-3J45QMCH-full.js → ids-chunk-Z3HRHZAF-full.js} +2 -2
  274. package/chunks/{ids-chunk-G4OSNQG5-full.js → ids-chunk-Z3LRPXYQ-full.js} +2 -2
  275. package/chunks/{ids-chunk-7JIZYB3J-full.js → ids-chunk-Z6OJ5LLZ-full.js} +14 -14
  276. package/chunks/{ids-chunk-CEP6272C-full.js → ids-chunk-ZCOQEWMU-full.js} +10 -10
  277. package/chunks/{ids-chunk-45MQWCYK-full.js → ids-chunk-ZIPMJTUT-full.js} +15 -15
  278. package/chunks/{ids-chunk-BZAXTYVK-full.js → ids-chunk-ZLQPGYZK-full.js} +2 -2
  279. package/chunks/{ids-chunk-7FA62T3P-full.js → ids-chunk-ZNGIX74C-full.js} +4 -4
  280. package/chunks/{ids-chunk-AADVH3X2-full.js → ids-chunk-ZPDNPX4P-full.js} +5 -5
  281. package/chunks/{ids-chunk-L4PUCI4E-full.js → ids-chunk-ZQRMWIXB-full.js} +2 -2
  282. package/components/ids-about/ids-about.js +47 -47
  283. package/components/ids-accordion/ids-accordion-common.js +3 -3
  284. package/components/ids-accordion/ids-accordion-header.js +20 -20
  285. package/components/ids-accordion/ids-accordion-panel.js +22 -22
  286. package/components/ids-accordion/ids-accordion-section.js +20 -20
  287. package/components/ids-accordion/ids-accordion.css +77 -137
  288. package/components/ids-accordion/ids-accordion.js +26 -26
  289. package/components/ids-action-panel/ids-action-panel.js +62 -62
  290. package/components/ids-action-sheet/ids-action-sheet.js +53 -53
  291. package/components/ids-alert/ids-alert.js +30 -30
  292. package/components/ids-app-menu/ids-app-menu-container.js +14 -14
  293. package/components/ids-app-menu/ids-app-menu.css +132 -23
  294. package/components/ids-app-menu/ids-app-menu.js +65 -65
  295. package/components/ids-area-chart/ids-area-chart.js +42 -42
  296. package/components/ids-axis-chart/ids-axis-chart.js +40 -40
  297. package/components/ids-axis-chart/ids-chart-colors.js +3 -3
  298. package/components/ids-axis-chart/ids-nice-scale.js +3 -3
  299. package/components/ids-axis-chart/ids-pattern-data.js +3 -3
  300. package/components/ids-badge/ids-badge.js +17 -17
  301. package/components/ids-bar-chart/ids-bar-chart.js +41 -41
  302. package/components/ids-block-grid/ids-block-grid-item.js +36 -36
  303. package/components/ids-block-grid/ids-block-grid.js +82 -82
  304. package/components/ids-box/ids-box.js +14 -14
  305. package/components/ids-breadcrumb/ids-breadcrumb.js +55 -55
  306. package/components/ids-button/ids-button-common.js +4 -4
  307. package/components/ids-button/ids-button.js +35 -35
  308. package/components/ids-calendar/ids-calendar-event.js +18 -18
  309. package/components/ids-calendar/ids-calendar.js +113 -113
  310. package/components/ids-card/ids-card-action.js +14 -14
  311. package/components/ids-card/ids-card.css +331 -4
  312. package/components/ids-card/ids-card.js +41 -41
  313. package/components/ids-checkbox/ids-checkbox-group.js +17 -17
  314. package/components/ids-checkbox/ids-checkbox.js +34 -34
  315. package/components/ids-color/ids-color.js +29 -29
  316. package/components/ids-color-picker/ids-color-picker.js +64 -64
  317. package/components/ids-container/ids-container.js +20 -20
  318. package/components/ids-counts/ids-counts.js +32 -32
  319. package/components/ids-data-grid/ids-data-grid-cell.js +17 -17
  320. package/components/ids-data-grid/ids-data-grid-column.d.ts +6 -0
  321. package/components/ids-data-grid/ids-data-grid-column.js +1 -1
  322. package/components/ids-data-grid/ids-data-grid-container-arguments.js +5 -5
  323. package/components/ids-data-grid/ids-data-grid-contextmenu.js +6 -6
  324. package/components/ids-data-grid/ids-data-grid-editors.js +111 -111
  325. package/components/ids-data-grid/ids-data-grid-empty-message.js +32 -32
  326. package/components/ids-data-grid/ids-data-grid-filters.js +104 -104
  327. package/components/ids-data-grid/ids-data-grid-formatters.js +61 -61
  328. package/components/ids-data-grid/ids-data-grid-header.d.ts +9 -1
  329. package/components/ids-data-grid/ids-data-grid-header.js +53 -53
  330. package/components/ids-data-grid/ids-data-grid-row.js +18 -18
  331. package/components/ids-data-grid/ids-data-grid-save-settings-mixin.js +6 -6
  332. package/components/ids-data-grid/ids-data-grid-search-mixin.js +5 -5
  333. package/components/ids-data-grid/ids-data-grid-settings.js +1 -1
  334. package/components/ids-data-grid/ids-data-grid-toolbar-mixin.js +4 -4
  335. package/components/ids-data-grid/ids-data-grid-tooltip-mixin.js +27 -27
  336. package/components/ids-data-grid/ids-data-grid.css +2 -2
  337. package/components/ids-data-grid/ids-data-grid.d.ts +54 -1
  338. package/components/ids-data-grid/ids-data-grid.js +161 -161
  339. package/components/ids-data-label/ids-data-label.js +29 -29
  340. package/components/ids-date-picker/ids-date-picker-common.js +4 -4
  341. package/components/ids-date-picker/ids-date-picker-popup.js +102 -102
  342. package/components/ids-date-picker/ids-date-picker.css +31 -185
  343. package/components/ids-date-picker/ids-date-picker.js +104 -104
  344. package/components/ids-date-picker/ids-month-year-picklist.js +31 -31
  345. package/components/ids-draggable/ids-draggable.js +18 -18
  346. package/components/ids-drawer/ids-drawer-attributes.js +3 -3
  347. package/components/ids-drawer/ids-drawer.js +22 -22
  348. package/components/ids-dropdown/ids-dropdown-attributes-mixin.js +7 -7
  349. package/components/ids-dropdown/ids-dropdown-common.js +4 -4
  350. package/components/ids-dropdown/ids-dropdown-list.js +31 -31
  351. package/components/ids-dropdown/ids-dropdown.js +74 -74
  352. package/components/ids-editor/ids-editor-clean-utils.js +8 -8
  353. package/components/ids-editor/ids-editor-formatters.js +3 -3
  354. package/components/ids-editor/ids-editor-handle-paste.js +9 -9
  355. package/components/ids-editor/ids-editor-selection-utils.js +7 -7
  356. package/components/ids-editor/ids-editor-shared.js +6 -6
  357. package/components/ids-editor/ids-editor-templates.js +3 -3
  358. package/components/ids-editor/ids-editor.js +99 -99
  359. package/components/ids-empty-message/ids-empty-message.js +31 -31
  360. package/components/ids-error-page/ids-error-page.js +47 -47
  361. package/components/ids-expandable-area/ids-exandable-area-attributes.js +3 -3
  362. package/components/ids-expandable-area/ids-expandable-area.js +18 -18
  363. package/components/ids-fieldset/ids-fieldset.js +17 -17
  364. package/components/ids-filter-field/ids-filter-field.js +18 -18
  365. package/components/ids-form/ids-form.js +18 -18
  366. package/components/ids-global/ids-global.js +11 -11
  367. package/components/ids-header/ids-header.js +19 -19
  368. package/components/ids-hidden/ids-hidden.js +15 -15
  369. package/components/ids-hierarchy/ids-hierarchy-item.js +18 -18
  370. package/components/ids-hierarchy/ids-hierarchy-legend-item.js +15 -15
  371. package/components/ids-hierarchy/ids-hierarchy-legend.js +13 -13
  372. package/components/ids-hierarchy/ids-hierarchy.css +5 -121
  373. package/components/ids-hierarchy/ids-hierarchy.js +17 -17
  374. package/components/ids-home-page/ids-home-page-attributes.js +3 -3
  375. package/components/ids-home-page/ids-home-page.js +60 -60
  376. package/components/ids-hyperlink/ids-hyperlink.js +30 -30
  377. package/components/ids-hyperlink/ids-link-list.js +14 -14
  378. package/components/ids-icon/ids-icon-attributes.js +3 -3
  379. package/components/ids-icon/ids-icon.js +21 -21
  380. package/components/ids-image/ids-image.js +31 -31
  381. package/components/ids-input/ids-autocomplete.js +41 -41
  382. package/components/ids-input/ids-input-attributes.js +3 -3
  383. package/components/ids-input/ids-input.js +60 -60
  384. package/components/ids-input-group/ids-input-group.js +16 -16
  385. package/components/ids-kpi/ids-kpi.js +24 -24
  386. package/components/ids-layout-flex/ids-layout-flex-item.js +14 -14
  387. package/components/ids-layout-flex/ids-layout-flex.css +459 -5
  388. package/components/ids-layout-flex/ids-layout-flex.js +15 -15
  389. package/components/ids-layout-flex/ids-scroll-container.js +14 -14
  390. package/components/ids-layout-grid/ids-layout-grid-cell.js +18 -18
  391. package/components/ids-layout-grid/ids-layout-grid-common.js +4 -4
  392. package/components/ids-layout-grid/ids-layout-grid.js +15 -15
  393. package/components/ids-line-chart/ids-line-chart.js +41 -41
  394. package/components/ids-list-box/ids-list-box-option.js +37 -37
  395. package/components/ids-list-box/ids-list-box.css +80 -56
  396. package/components/ids-list-box/ids-list-box.js +38 -38
  397. package/components/ids-list-builder/ids-list-builder.js +95 -95
  398. package/components/ids-list-view/ids-list-view-group-header.js +14 -14
  399. package/components/ids-list-view/ids-list-view-item.js +80 -80
  400. package/components/ids-list-view/ids-list-view-search-mixin.js +7 -7
  401. package/components/ids-list-view/ids-list-view.js +91 -91
  402. package/components/ids-loading-indicator/ids-loading-indicator-attributes.js +5 -5
  403. package/components/ids-loading-indicator/ids-loading-indicator.js +19 -19
  404. package/components/ids-locale/ids-locale-number-options.js +1 -1
  405. package/components/ids-locale/ids-locale.js +6 -6
  406. package/components/ids-lookup/ids-lookup.js +83 -83
  407. package/components/ids-mask/ids-mask-api.js +7 -7
  408. package/components/ids-mask/ids-mask-common.js +3 -3
  409. package/components/ids-mask/ids-mask-global.js +8 -8
  410. package/components/ids-mask/ids-masks.js +6 -6
  411. package/components/ids-masthead/ids-masthead.js +57 -57
  412. package/components/ids-media-gallery/ids-media-gallery.js +65 -65
  413. package/components/ids-media-gallery/ids-media-viewer.js +32 -32
  414. package/components/ids-menu/ids-menu-attributes.js +4 -4
  415. package/components/ids-menu/ids-menu-group.js +20 -20
  416. package/components/ids-menu/ids-menu-header.js +17 -17
  417. package/components/ids-menu/ids-menu-item.js +23 -23
  418. package/components/ids-menu/ids-menu.css +11 -332
  419. package/components/ids-menu/ids-menu.js +31 -31
  420. package/components/ids-menu-button/ids-menu-button-attributes.js +3 -3
  421. package/components/ids-menu-button/ids-menu-button.js +52 -52
  422. package/components/ids-message/ids-message-service.js +2 -2
  423. package/components/ids-message/ids-message.js +45 -45
  424. package/components/ids-modal/ids-modal-button.js +36 -36
  425. package/components/ids-modal/ids-modal-service.js +2 -2
  426. package/components/ids-modal/ids-modal.css +19 -97
  427. package/components/ids-modal/ids-modal.js +42 -42
  428. package/components/ids-modal/ids-overlay.js +17 -17
  429. package/components/ids-module-nav/ids-module-nav-bar.js +68 -68
  430. package/components/ids-module-nav/ids-module-nav-button.js +39 -39
  431. package/components/ids-module-nav/ids-module-nav-common.js +3 -3
  432. package/components/ids-module-nav/ids-module-nav-content.js +19 -19
  433. package/components/ids-module-nav/ids-module-nav-display-mode-mixin.js +4 -4
  434. package/components/ids-module-nav/ids-module-nav-item.js +25 -25
  435. package/components/ids-module-nav/ids-module-nav-settings.js +56 -56
  436. package/components/ids-module-nav/ids-module-nav-switcher.js +20 -20
  437. package/components/ids-module-nav/ids-module-nav-text-display-mixin.js +5 -5
  438. package/components/ids-module-nav/ids-module-nav-user.js +22 -22
  439. package/components/ids-module-nav/ids-module-nav.css +194 -2133
  440. package/components/ids-module-nav/ids-module-nav.js +97 -97
  441. package/components/ids-month-view/ids-month-view-attribute-mixin.js +6 -6
  442. package/components/ids-month-view/ids-month-view-common.js +3 -3
  443. package/components/ids-month-view/ids-month-view.js +47 -47
  444. package/components/ids-multiselect/ids-multiselect.js +88 -88
  445. package/components/ids-notification-banner/ids-notification-banner-service.js +42 -42
  446. package/components/ids-notification-banner/ids-notification-banner.js +42 -42
  447. package/components/ids-page-examples/ids-page-examples.js +1 -1
  448. package/components/ids-pager/ids-pager-attributes.js +3 -3
  449. package/components/ids-pager/ids-pager-button.js +39 -39
  450. package/components/ids-pager/ids-pager-dropdown.js +65 -65
  451. package/components/ids-pager/ids-pager-input.js +61 -61
  452. package/components/ids-pager/ids-pager-number-list.js +37 -37
  453. package/components/ids-pager/ids-pager.css +25 -28
  454. package/components/ids-pager/ids-pager.js +66 -66
  455. package/components/ids-personalize/ids-personalize.js +4 -4
  456. package/components/ids-pie-chart/ids-pie-chart.js +38 -38
  457. package/components/ids-popup/ids-picker-popup-common.js +3 -3
  458. package/components/ids-popup/ids-picker-popup.js +20 -20
  459. package/components/ids-popup/ids-popup-attributes.js +4 -4
  460. package/components/ids-popup/ids-popup.js +23 -23
  461. package/components/ids-popup-menu/ids-popup-menu.js +51 -51
  462. package/components/ids-process-indicator/ids-process-indicator-step.js +17 -17
  463. package/components/ids-process-indicator/ids-process-indicator.js +32 -32
  464. package/components/ids-progress-bar/ids-progress-bar.js +17 -17
  465. package/components/ids-progress-chart/ids-progress-chart.js +17 -17
  466. package/components/ids-radio/ids-radio-group.js +31 -31
  467. package/components/ids-radio/ids-radio.js +33 -33
  468. package/components/ids-rating/ids-rating.js +18 -18
  469. package/components/ids-scroll-view/ids-scroll-view.js +36 -36
  470. package/components/ids-search-field/ids-search-field.js +75 -75
  471. package/components/ids-segmented-control/ids-segmented-control.js +19 -19
  472. package/components/ids-separator/ids-separator.js +20 -20
  473. package/components/ids-skip-link/ids-skip-link.js +31 -31
  474. package/components/ids-slider/ids-slider.js +19 -19
  475. package/components/ids-spinbox/ids-spinbox.js +62 -62
  476. package/components/ids-splitter/ids-splitter-local-storage.js +19 -19
  477. package/components/ids-splitter/ids-splitter-pane.js +18 -18
  478. package/components/ids-splitter/ids-splitter.js +22 -22
  479. package/components/ids-stats/ids-stats.js +25 -25
  480. package/components/ids-step-chart/ids-step-chart.js +32 -32
  481. package/components/ids-swaplist/ids-swaplist.js +97 -97
  482. package/components/ids-swappable/ids-swappable-item.js +20 -20
  483. package/components/ids-swappable/ids-swappable.css +69 -19
  484. package/components/ids-swappable/ids-swappable.js +79 -79
  485. package/components/ids-swipe-action/ids-swipe-action.js +17 -17
  486. package/components/ids-switch/ids-switch.js +30 -30
  487. package/components/ids-tabs/ids-sub-tab-attributes.js +3 -3
  488. package/components/ids-tabs/ids-sub-tab.js +41 -41
  489. package/components/ids-tabs/ids-sub-tabs.js +44 -44
  490. package/components/ids-tabs/ids-tab-content.js +18 -18
  491. package/components/ids-tabs/ids-tab-divider.js +19 -19
  492. package/components/ids-tabs/ids-tab-more.js +55 -55
  493. package/components/ids-tabs/ids-tab.js +41 -41
  494. package/components/ids-tabs/ids-tabs-context.js +24 -24
  495. package/components/ids-tabs/ids-tabs.css +8 -344
  496. package/components/ids-tabs/ids-tabs.js +62 -62
  497. package/components/ids-tag/ids-tag-list.js +17 -17
  498. package/components/ids-tag/ids-tag.css +152 -8
  499. package/components/ids-tag/ids-tag.js +19 -19
  500. package/components/ids-text/ids-text.js +28 -28
  501. package/components/ids-textarea/ids-textarea.js +63 -63
  502. package/components/ids-theme-switcher/ids-theme-switcher.js +53 -53
  503. package/components/ids-time-picker/ids-time-picker-common.js +4 -4
  504. package/components/ids-time-picker/ids-time-picker-popup.js +79 -79
  505. package/components/ids-time-picker/ids-time-picker.css +50 -48
  506. package/components/ids-time-picker/ids-time-picker.js +81 -81
  507. package/components/ids-toast/ids-toast-message.js +43 -43
  508. package/components/ids-toast/ids-toast-shared.js +4 -4
  509. package/components/ids-toast/ids-toast.js +47 -47
  510. package/components/ids-toggle-button/ids-toggle-button.js +38 -38
  511. package/components/ids-toolbar/ids-toolbar-more-actions.js +54 -54
  512. package/components/ids-toolbar/ids-toolbar-section.js +17 -17
  513. package/components/ids-toolbar/ids-toolbar.css +110 -12
  514. package/components/ids-toolbar/ids-toolbar.js +55 -55
  515. package/components/ids-tooltip/ids-tooltip.js +25 -25
  516. package/components/ids-tree/ids-tree-node.js +37 -37
  517. package/components/ids-tree/ids-tree-shared.js +3 -3
  518. package/components/ids-tree/ids-tree.js +40 -40
  519. package/components/ids-treemap/ids-treemap.js +18 -18
  520. package/components/ids-trigger-field/ids-trigger-button.js +36 -36
  521. package/components/ids-trigger-field/ids-trigger-field.js +61 -61
  522. package/components/ids-upload/ids-upload.js +64 -64
  523. package/components/ids-upload-advanced/ids-upload-advanced-file.js +42 -42
  524. package/components/ids-upload-advanced/ids-upload-advanced-shared.js +4 -4
  525. package/components/ids-upload-advanced/ids-upload-advanced.js +62 -62
  526. package/components/ids-virtual-scroll/ids-virtual-scroll.js +17 -17
  527. package/components/ids-week-view/ids-week-view.js +105 -105
  528. package/components/ids-widget/ids-widget.js +58 -58
  529. package/components/ids-wizard/ids-wizard-step.js +14 -14
  530. package/components/ids-wizard/ids-wizard.js +30 -30
  531. package/core/ids-attributes.d.ts +6 -1
  532. package/core/ids-attributes.js +3 -3
  533. package/core/ids-data-source.js +4 -4
  534. package/core/ids-decorators.js +3 -3
  535. package/core/ids-element.js +12 -12
  536. package/custom-elements.json +865 -614
  537. package/enterprise-wc.all.iife.js +540 -40
  538. package/enterprise-wc.all.iife.js.map +2 -2
  539. package/enterprise-wc.js +277 -277
  540. package/mixins/ids-attachment-mixin/ids-attachment-mixin.js +5 -5
  541. package/mixins/ids-breakpoint-mixin/ids-breakpoint-mixin.js +5 -5
  542. package/mixins/ids-calendar-events-mixin/ids-calendar-events-mixin.js +5 -5
  543. package/mixins/ids-chart-legend-mixin/ids-chart-legend-mixin.js +6 -6
  544. package/mixins/ids-chart-selection-mixin/ids-chart-selection-mixin.js +5 -5
  545. package/mixins/ids-clearable-mixin/ids-clearable-mixin.js +5 -5
  546. package/mixins/ids-color-variant-mixin/ids-color-variant-mixin.js +5 -5
  547. package/mixins/ids-date-attribute-mixin/ids-date-attribute-mixin.js +6 -6
  548. package/mixins/ids-dirty-tracker-mixin/ids-dirty-tracker-mixin.js +5 -5
  549. package/mixins/ids-draggable-mixin/ids-draggable-mixin.js +6 -6
  550. package/mixins/ids-events-mixin/ids-events-common.js +3 -3
  551. package/mixins/ids-events-mixin/ids-events-mixin.js +6 -6
  552. package/mixins/ids-field-height-mixin/ids-field-height-mixin.js +5 -5
  553. package/mixins/ids-focus-capture-mixin/ids-focus-capture-mixin.js +6 -6
  554. package/mixins/ids-form-input-mixin/ids-form-input-mixin.js +5 -5
  555. package/mixins/ids-hide-focus-mixin/ids-hide-focus-mixin.js +5 -5
  556. package/mixins/ids-hitbox-mixin/ids-hitbox-mixin.js +5 -5
  557. package/mixins/ids-keyboard-mixin/ids-keyboard-mixin.js +3 -3
  558. package/mixins/ids-label-state-mixin/ids-label-state-common.js +5 -5
  559. package/mixins/ids-label-state-mixin/ids-label-state-mixin.js +7 -7
  560. package/mixins/ids-label-state-mixin/ids-label-state-parent-mixin.js +6 -6
  561. package/mixins/ids-loading-indicator-mixin/ids-loading-indicator-mixin.js +20 -20
  562. package/mixins/ids-locale-mixin/ids-locale-mixin.js +12 -12
  563. package/mixins/ids-mask-mixin/ids-mask-mixin.js +10 -10
  564. package/mixins/ids-orientation-mixin/ids-orientation-mixin.js +5 -5
  565. package/mixins/ids-pager-mixin/ids-pager-mixin.js +79 -79
  566. package/mixins/ids-popup-interactions-mixin/ids-popup-interactions-mixin.js +5 -5
  567. package/mixins/ids-popup-open-events-mixin/ids-popup-open-events-mixin.js +6 -6
  568. package/mixins/ids-scroll-effect-mixin/ids-scroll-effect-mixin.js +3 -3
  569. package/mixins/ids-selection-mixin/ids-selection-mixin.js +5 -5
  570. package/mixins/ids-tooltip-mixin/ids-tooltip-mixin.js +26 -26
  571. package/mixins/ids-validation-mixin/ids-validation-input-mixin.js +3 -3
  572. package/mixins/ids-validation-mixin/ids-validation-mixin.js +7 -7
  573. package/mixins/ids-xss-mixin/ids-xss-mixin.js +5 -5
  574. package/package.json +1 -1
  575. package/utils/ids-attribute-utils/ids-attribute-utils.js +4 -4
  576. package/utils/ids-breakpoint-utils/ids-breakpoint-utils.js +3 -3
  577. package/utils/ids-color-utils/ids-color-utils.js +3 -3
  578. package/utils/ids-copy-utils/ids-copy-utils.js +3 -3
  579. package/utils/ids-date-utils/ids-date-utils.js +4 -4
  580. package/utils/ids-debounce-utils/ids-debounce-utils.js +3 -3
  581. package/utils/ids-deep-clone-utils/ids-deep-clone-utils.js +3 -3
  582. package/utils/ids-deferred-utils/ids-deferred-utils.js +3 -3
  583. package/utils/ids-device-env-specs-utils/ids-device-env-specs-utils.js +4 -4
  584. package/utils/ids-dom-utils/ids-dom-utils.js +3 -3
  585. package/utils/ids-draggable-utils/ids-draggable-utils.js +3 -3
  586. package/utils/ids-event-path-utils/ids-event-path-utils.js +3 -3
  587. package/utils/ids-excel-exporter/ids-excel-exporter.js +8 -8
  588. package/utils/ids-excel-exporter/ids-excel-formatter.js +4 -4
  589. package/utils/ids-excel-exporter/ids-worksheet-templates.js +3 -3
  590. package/utils/ids-file-saver/ids-file-saver.js +3 -3
  591. package/utils/ids-number-utils/ids-number-utils.js +3 -3
  592. package/utils/ids-object-utils/ids-object-utils.js +3 -3
  593. package/utils/ids-string-utils/ids-string-utils.js +3 -3
  594. package/utils/ids-timer-utils/ids-timer-utils.js +3 -3
  595. package/utils/ids-xss-utils/ids-xss-utils.js +3 -3
  596. package/utils/ids-zip/ids-zip-entry.js +3 -3
  597. package/utils/ids-zip/ids-zip.js +4 -4
  598. package/vscode.html-custom-data.json +1 -1
  599. package/chunks/ids-chunk-77AKSYNJ-full.js.map +0 -7
  600. package/chunks/ids-chunk-I2ASBBR3-full.js.map +0 -7
  601. package/chunks/ids-chunk-SCUDQYUW-full.js.map +0 -7
  602. /package/chunks/{ids-chunk-MFUR23HI-full.js.map → ids-chunk-23YOMOSJ-full.js.map} +0 -0
  603. /package/chunks/{ids-chunk-DGMLW46Y-full.js.map → ids-chunk-24DUL2YK-full.js.map} +0 -0
  604. /package/chunks/{ids-chunk-OLMQJDL2-full.js.map → ids-chunk-24RD6XEE-full.js.map} +0 -0
  605. /package/chunks/{ids-chunk-6Z54ZTDT-full.js.map → ids-chunk-2CXVBEIH-full.js.map} +0 -0
  606. /package/chunks/{ids-chunk-5OTOVBGB-full.js.map → ids-chunk-2KY5Y7EH-full.js.map} +0 -0
  607. /package/chunks/{ids-chunk-HXIGU7Z3-full.js.map → ids-chunk-2RPNH5OY-full.js.map} +0 -0
  608. /package/chunks/{ids-chunk-PZNDGTUV-full.js.map → ids-chunk-2SUZT7BS-full.js.map} +0 -0
  609. /package/chunks/{ids-chunk-Q5HQNMUG-full.js.map → ids-chunk-2XVBZFEW-full.js.map} +0 -0
  610. /package/chunks/{ids-chunk-23CS6FGU-full.js.map → ids-chunk-3FP4ZOFN-full.js.map} +0 -0
  611. /package/chunks/{ids-chunk-DN6WAIN2-full.js.map → ids-chunk-3IPIY4RV-full.js.map} +0 -0
  612. /package/chunks/{ids-chunk-B5T2BJQT-full.js.map → ids-chunk-3RXDM7Y3-full.js.map} +0 -0
  613. /package/chunks/{ids-chunk-DSSMZQUN-full.js.map → ids-chunk-3W5OPDAR-full.js.map} +0 -0
  614. /package/chunks/{ids-chunk-HMUTH62T-full.js.map → ids-chunk-3WQHV246-full.js.map} +0 -0
  615. /package/chunks/{ids-chunk-7OMEBT6E-full.js.map → ids-chunk-3XI2VRJL-full.js.map} +0 -0
  616. /package/chunks/{ids-chunk-34QYE6WM-full.js.map → ids-chunk-43PRY6V3-full.js.map} +0 -0
  617. /package/chunks/{ids-chunk-5U22QPZJ-full.js.map → ids-chunk-44HOLFPQ-full.js.map} +0 -0
  618. /package/chunks/{ids-chunk-6NUPE2DG-full.js.map → ids-chunk-44NSL2B6-full.js.map} +0 -0
  619. /package/chunks/{ids-chunk-FV3FB6IO-full.js.map → ids-chunk-474MFA4O-full.js.map} +0 -0
  620. /package/chunks/{ids-chunk-5IQFY2AG-full.js.map → ids-chunk-4EB2UK5J-full.js.map} +0 -0
  621. /package/chunks/{ids-chunk-ABS2MHQA-full.js.map → ids-chunk-4FP2N5UG-full.js.map} +0 -0
  622. /package/chunks/{ids-chunk-VL5NWPA5-full.js.map → ids-chunk-4G7XYQM5-full.js.map} +0 -0
  623. /package/chunks/{ids-chunk-6EHWKLDJ-full.js.map → ids-chunk-4MGY364N-full.js.map} +0 -0
  624. /package/chunks/{ids-chunk-ZDVPFO3F-full.js.map → ids-chunk-4QOM23NA-full.js.map} +0 -0
  625. /package/chunks/{ids-chunk-7GVANS54-full.js.map → ids-chunk-4T5V5QXC-full.js.map} +0 -0
  626. /package/chunks/{ids-chunk-GT5TV3H3-full.js.map → ids-chunk-4UZAA336-full.js.map} +0 -0
  627. /package/chunks/{ids-chunk-VZUIMCGS-full.js.map → ids-chunk-5773OPHP-full.js.map} +0 -0
  628. /package/chunks/{ids-chunk-2IPVCSKZ-full.js.map → ids-chunk-5AEWUUZC-full.js.map} +0 -0
  629. /package/chunks/{ids-chunk-DX6QIRV5-full.js.map → ids-chunk-5D623WNY-full.js.map} +0 -0
  630. /package/chunks/{ids-chunk-CAQHKU35-full.js.map → ids-chunk-5EAPKNQY-full.js.map} +0 -0
  631. /package/chunks/{ids-chunk-HQGH2SX7-full.js.map → ids-chunk-5TO2W2O7-full.js.map} +0 -0
  632. /package/chunks/{ids-chunk-6QHTWIKK-full.js.map → ids-chunk-5ZRKZ3EJ-full.js.map} +0 -0
  633. /package/chunks/{ids-chunk-QLEWXFUK-full.js.map → ids-chunk-63ORR2QU-full.js.map} +0 -0
  634. /package/chunks/{ids-chunk-JVEHC2GO-full.js.map → ids-chunk-655TBKNA-full.js.map} +0 -0
  635. /package/chunks/{ids-chunk-MRMHPQZB-full.js.map → ids-chunk-65UUVQ66-full.js.map} +0 -0
  636. /package/chunks/{ids-chunk-DF3WRLWW-full.js.map → ids-chunk-6BT5FXZK-full.js.map} +0 -0
  637. /package/chunks/{ids-chunk-GBFDFO7X-full.js.map → ids-chunk-6DTSF453-full.js.map} +0 -0
  638. /package/chunks/{ids-chunk-AIC67I3B-full.js.map → ids-chunk-6MNZABFL-full.js.map} +0 -0
  639. /package/chunks/{ids-chunk-WZZIB47F-full.js.map → ids-chunk-6OLJBWEE-full.js.map} +0 -0
  640. /package/chunks/{ids-chunk-BF5YJGL2-full.js.map → ids-chunk-6P2LSHBV-full.js.map} +0 -0
  641. /package/chunks/{ids-chunk-ZMV3PJSQ-full.js.map → ids-chunk-6WAIBM2Q-full.js.map} +0 -0
  642. /package/chunks/{ids-chunk-WCY3GOTO-full.js.map → ids-chunk-76M6QFAT-full.js.map} +0 -0
  643. /package/chunks/{ids-chunk-LLYE4PCL-full.js.map → ids-chunk-76Y7W2LD-full.js.map} +0 -0
  644. /package/chunks/{ids-chunk-PWDLFVVD-full.js.map → ids-chunk-7BGTL4DW-full.js.map} +0 -0
  645. /package/chunks/{ids-chunk-6S5VBCIV-full.js.map → ids-chunk-7LP2QC4H-full.js.map} +0 -0
  646. /package/chunks/{ids-chunk-PB3RBJQH-full.js.map → ids-chunk-7PE4H2NA-full.js.map} +0 -0
  647. /package/chunks/{ids-chunk-2MO6NC45-full.js.map → ids-chunk-7U3KLPA7-full.js.map} +0 -0
  648. /package/chunks/{ids-chunk-KZUU3WML-full.js.map → ids-chunk-A5RRTARU-full.js.map} +0 -0
  649. /package/chunks/{ids-chunk-2RDPETVX-full.js.map → ids-chunk-ACV7BCRC-full.js.map} +0 -0
  650. /package/chunks/{ids-chunk-MN26F63F-full.js.map → ids-chunk-AMFEGKA6-full.js.map} +0 -0
  651. /package/chunks/{ids-chunk-3ACN345F-full.js.map → ids-chunk-B5GHODEX-full.js.map} +0 -0
  652. /package/chunks/{ids-chunk-NQ6KLJHZ-full.js.map → ids-chunk-BAD4A2ZD-full.js.map} +0 -0
  653. /package/chunks/{ids-chunk-BHGPHWWL-full.js.map → ids-chunk-BG6GF54T-full.js.map} +0 -0
  654. /package/chunks/{ids-chunk-RD3CAEBZ-full.js.map → ids-chunk-BJLBSMB4-full.js.map} +0 -0
  655. /package/chunks/{ids-chunk-CRDTRPEN-full.js.map → ids-chunk-BNLHKZTH-full.js.map} +0 -0
  656. /package/chunks/{ids-chunk-TYDGSFPN-full.js.map → ids-chunk-BOUMAFEJ-full.js.map} +0 -0
  657. /package/chunks/{ids-chunk-NRL6YHJO-full.js.map → ids-chunk-BQXFI2IX-full.js.map} +0 -0
  658. /package/chunks/{ids-chunk-5VOOLEAX-full.js.map → ids-chunk-BUIIMG6I-full.js.map} +0 -0
  659. /package/chunks/{ids-chunk-DAN35OCG-full.js.map → ids-chunk-BUSLDMGU-full.js.map} +0 -0
  660. /package/chunks/{ids-chunk-HKJFW7XK-full.js.map → ids-chunk-BVVQPIMS-full.js.map} +0 -0
  661. /package/chunks/{ids-chunk-PT3DFEPD-full.js.map → ids-chunk-BX6RDODK-full.js.map} +0 -0
  662. /package/chunks/{ids-chunk-37YMXNRR-full.js.map → ids-chunk-C45WTB7C-full.js.map} +0 -0
  663. /package/chunks/{ids-chunk-TQCSIR34-full.js.map → ids-chunk-C6G4A7ER-full.js.map} +0 -0
  664. /package/chunks/{ids-chunk-CKBHGWJV-full.js.map → ids-chunk-CHRYLWHI-full.js.map} +0 -0
  665. /package/chunks/{ids-chunk-74CZHSRC-full.js.map → ids-chunk-CINQIDRO-full.js.map} +0 -0
  666. /package/chunks/{ids-chunk-7VSJQKQ3-full.js.map → ids-chunk-CQPG7G2Z-full.js.map} +0 -0
  667. /package/chunks/{ids-chunk-M4TVM5IS-full.js.map → ids-chunk-CRYHODPP-full.js.map} +0 -0
  668. /package/chunks/{ids-chunk-RFDLYMBY-full.js.map → ids-chunk-D3FPGVWN-full.js.map} +0 -0
  669. /package/chunks/{ids-chunk-X65A3RHJ-full.js.map → ids-chunk-D523CBZB-full.js.map} +0 -0
  670. /package/chunks/{ids-chunk-JQOEAS5Z-full.js.map → ids-chunk-DO5PEIJU-full.js.map} +0 -0
  671. /package/chunks/{ids-chunk-HXVEIAAY-full.js.map → ids-chunk-DOTEXGMG-full.js.map} +0 -0
  672. /package/chunks/{ids-chunk-FLX2COZP-full.js.map → ids-chunk-DS72I6YQ-full.js.map} +0 -0
  673. /package/chunks/{ids-chunk-OEJBR76M-full.js.map → ids-chunk-DVLVMHPO-full.js.map} +0 -0
  674. /package/chunks/{ids-chunk-2S5E5AIY-full.js.map → ids-chunk-DVWUTAHN-full.js.map} +0 -0
  675. /package/chunks/{ids-chunk-LTWHCJTS-full.js.map → ids-chunk-E2GU4JTT-full.js.map} +0 -0
  676. /package/chunks/{ids-chunk-UPYP6ZNN-full.js.map → ids-chunk-E7724OOW-full.js.map} +0 -0
  677. /package/chunks/{ids-chunk-FUKJEPPE-full.js.map → ids-chunk-ECOKOO4I-full.js.map} +0 -0
  678. /package/chunks/{ids-chunk-OIKOJE4V-full.js.map → ids-chunk-EHCO2WXK-full.js.map} +0 -0
  679. /package/chunks/{ids-chunk-GRXCU67I-full.js.map → ids-chunk-EQ6GTJZE-full.js.map} +0 -0
  680. /package/chunks/{ids-chunk-I7WT4BAD-full.js.map → ids-chunk-EQEYIHWM-full.js.map} +0 -0
  681. /package/chunks/{ids-chunk-W64FIHYB-full.js.map → ids-chunk-EQFRFJZL-full.js.map} +0 -0
  682. /package/chunks/{ids-chunk-IUYPHVAV-full.js.map → ids-chunk-ER5U55RZ-full.js.map} +0 -0
  683. /package/chunks/{ids-chunk-UQHBV7QA-full.js.map → ids-chunk-EUMJGPX6-full.js.map} +0 -0
  684. /package/chunks/{ids-chunk-GBJBXWW2-full.js.map → ids-chunk-F22BNY77-full.js.map} +0 -0
  685. /package/chunks/{ids-chunk-2IV2T4WN-full.js.map → ids-chunk-F6KRGJOF-full.js.map} +0 -0
  686. /package/chunks/{ids-chunk-36SP4BV6-full.js.map → ids-chunk-FED4HWAK-full.js.map} +0 -0
  687. /package/chunks/{ids-chunk-K7FTGQ2E-full.js.map → ids-chunk-FGNPXRCT-full.js.map} +0 -0
  688. /package/chunks/{ids-chunk-55HY2PLR-full.js.map → ids-chunk-FJ6CLV42-full.js.map} +0 -0
  689. /package/chunks/{ids-chunk-QFCUUXL7-full.js.map → ids-chunk-FKDVLLAM-full.js.map} +0 -0
  690. /package/chunks/{ids-chunk-6MD5X4G4-full.js.map → ids-chunk-FMGQY2FL-full.js.map} +0 -0
  691. /package/chunks/{ids-chunk-EBYI6T7F-full.js.map → ids-chunk-FNNZ7WCH-full.js.map} +0 -0
  692. /package/chunks/{ids-chunk-NGQ76EOS-full.js.map → ids-chunk-FYHE4J3E-full.js.map} +0 -0
  693. /package/chunks/{ids-chunk-ZUVM4VU3-full.js.map → ids-chunk-GQE37MCK-full.js.map} +0 -0
  694. /package/chunks/{ids-chunk-7FKK5PB2-full.js.map → ids-chunk-GRJXMLAA-full.js.map} +0 -0
  695. /package/chunks/{ids-chunk-M2SIA6XU-full.js.map → ids-chunk-GY4CPTBB-full.js.map} +0 -0
  696. /package/chunks/{ids-chunk-543DMEAP-full.js.map → ids-chunk-H2TX7XGU-full.js.map} +0 -0
  697. /package/chunks/{ids-chunk-TFXOBXGZ-full.js.map → ids-chunk-HA4GQMAP-full.js.map} +0 -0
  698. /package/chunks/{ids-chunk-DSQC4CQ6-full.js.map → ids-chunk-HAVT47XR-full.js.map} +0 -0
  699. /package/chunks/{ids-chunk-BQOD7TDG-full.js.map → ids-chunk-HIKXEG6J-full.js.map} +0 -0
  700. /package/chunks/{ids-chunk-J3BASKXU-full.js.map → ids-chunk-HL4NF3SZ-full.js.map} +0 -0
  701. /package/chunks/{ids-chunk-TYXL3K44-full.js.map → ids-chunk-HSCBKGPG-full.js.map} +0 -0
  702. /package/chunks/{ids-chunk-VFRVF6JJ-full.js.map → ids-chunk-HVIABMM5-full.js.map} +0 -0
  703. /package/chunks/{ids-chunk-VWTJAFWA-full.js.map → ids-chunk-HX27OUZN-full.js.map} +0 -0
  704. /package/chunks/{ids-chunk-LBSE4RZY-full.js.map → ids-chunk-HXKZXPZT-full.js.map} +0 -0
  705. /package/chunks/{ids-chunk-R6DT6J7M-full.js.map → ids-chunk-IIFGHPSC-full.js.map} +0 -0
  706. /package/chunks/{ids-chunk-Y2TFZ2T5-full.js.map → ids-chunk-INJAKMQT-full.js.map} +0 -0
  707. /package/chunks/{ids-chunk-ZPLLMTPE-full.js.map → ids-chunk-IPHFA66F-full.js.map} +0 -0
  708. /package/chunks/{ids-chunk-YFF3WQZW-full.js.map → ids-chunk-ISTLZRNT-full.js.map} +0 -0
  709. /package/chunks/{ids-chunk-VGGWQ5BE-full.js.map → ids-chunk-ITE525L4-full.js.map} +0 -0
  710. /package/chunks/{ids-chunk-NMILSQCH-full.js.map → ids-chunk-J5CIWKCT-full.js.map} +0 -0
  711. /package/chunks/{ids-chunk-CXUGXPHV-full.js.map → ids-chunk-JCPCSYJ3-full.js.map} +0 -0
  712. /package/chunks/{ids-chunk-SVUVNOHV-full.js.map → ids-chunk-JDTIF3YY-full.js.map} +0 -0
  713. /package/chunks/{ids-chunk-N2ZGYOMH-full.js.map → ids-chunk-JF4TPWFS-full.js.map} +0 -0
  714. /package/chunks/{ids-chunk-FVDI7K5P-full.js.map → ids-chunk-JPIVLL2H-full.js.map} +0 -0
  715. /package/chunks/{ids-chunk-H3FYNTWI-full.js.map → ids-chunk-JSSL4NZO-full.js.map} +0 -0
  716. /package/chunks/{ids-chunk-QQDMXJQW-full.js.map → ids-chunk-JSUWWQAI-full.js.map} +0 -0
  717. /package/chunks/{ids-chunk-REPPCS5Y-full.js.map → ids-chunk-JTGLYQWH-full.js.map} +0 -0
  718. /package/chunks/{ids-chunk-6YBUX6E2-full.js.map → ids-chunk-JV7UYR2E-full.js.map} +0 -0
  719. /package/chunks/{ids-chunk-7PD5RBLF-full.js.map → ids-chunk-JZEP4QPB-full.js.map} +0 -0
  720. /package/chunks/{ids-chunk-557INSAX-full.js.map → ids-chunk-K24A25UN-full.js.map} +0 -0
  721. /package/chunks/{ids-chunk-3ET3C2CT-full.js.map → ids-chunk-K2TTOUEO-full.js.map} +0 -0
  722. /package/chunks/{ids-chunk-USR5TIRI-full.js.map → ids-chunk-K2W2YHY3-full.js.map} +0 -0
  723. /package/chunks/{ids-chunk-LTCXGP7G-full.js.map → ids-chunk-K2WUDECL-full.js.map} +0 -0
  724. /package/chunks/{ids-chunk-7JPI44ST-full.js.map → ids-chunk-KDT7XWEU-full.js.map} +0 -0
  725. /package/chunks/{ids-chunk-Q3E5P243-full.js.map → ids-chunk-KHROY5NZ-full.js.map} +0 -0
  726. /package/chunks/{ids-chunk-X5XV2XEN-full.js.map → ids-chunk-KIKBAS3S-full.js.map} +0 -0
  727. /package/chunks/{ids-chunk-SGEKV6VG-full.js.map → ids-chunk-KKBXWSGW-full.js.map} +0 -0
  728. /package/chunks/{ids-chunk-GQC6VIBC-full.js.map → ids-chunk-KLF345LI-full.js.map} +0 -0
  729. /package/chunks/{ids-chunk-6CLBJJVO-full.js.map → ids-chunk-KO5YPO3K-full.js.map} +0 -0
  730. /package/chunks/{ids-chunk-4EF5KFC4-full.js.map → ids-chunk-KSBDEF2V-full.js.map} +0 -0
  731. /package/chunks/{ids-chunk-3BKSN3MI-full.js.map → ids-chunk-KX3YBGML-full.js.map} +0 -0
  732. /package/chunks/{ids-chunk-ARMFIRIG-full.js.map → ids-chunk-LB7VKRQT-full.js.map} +0 -0
  733. /package/chunks/{ids-chunk-M6YBCIFU-full.js.map → ids-chunk-LCAFBMNX-full.js.map} +0 -0
  734. /package/chunks/{ids-chunk-V4XTWZMG-full.js.map → ids-chunk-LEZ2JXU2-full.js.map} +0 -0
  735. /package/chunks/{ids-chunk-GCB4THDI-full.js.map → ids-chunk-LLOYDBPH-full.js.map} +0 -0
  736. /package/chunks/{ids-chunk-MM6J4L3H-full.js.map → ids-chunk-LQJ6TQB7-full.js.map} +0 -0
  737. /package/chunks/{ids-chunk-D6UPV763-full.js.map → ids-chunk-LR27PTK6-full.js.map} +0 -0
  738. /package/chunks/{ids-chunk-OHXEXITV-full.js.map → ids-chunk-LSDW3LRN-full.js.map} +0 -0
  739. /package/chunks/{ids-chunk-FRMWXXEE-full.js.map → ids-chunk-LYQI3AL4-full.js.map} +0 -0
  740. /package/chunks/{ids-chunk-D5PFB4Z5-full.js.map → ids-chunk-M4FGNMCL-full.js.map} +0 -0
  741. /package/chunks/{ids-chunk-BE2WF4G7-full.js.map → ids-chunk-M6VUXDAI-full.js.map} +0 -0
  742. /package/chunks/{ids-chunk-2W7SGFXN-full.js.map → ids-chunk-M725A3MN-full.js.map} +0 -0
  743. /package/chunks/{ids-chunk-HLE7S7FA-full.js.map → ids-chunk-M75NTVIB-full.js.map} +0 -0
  744. /package/chunks/{ids-chunk-KRG7ILWA-full.js.map → ids-chunk-MH5M2YW5-full.js.map} +0 -0
  745. /package/chunks/{ids-chunk-WLH6FB7F-full.js.map → ids-chunk-MIPHQRHK-full.js.map} +0 -0
  746. /package/chunks/{ids-chunk-OQF3KN66-full.js.map → ids-chunk-MJTYIXBN-full.js.map} +0 -0
  747. /package/chunks/{ids-chunk-AHGM5SDK-full.js.map → ids-chunk-MOU7I6BI-full.js.map} +0 -0
  748. /package/chunks/{ids-chunk-CEDZAYKW-full.js.map → ids-chunk-MZYZBHCN-full.js.map} +0 -0
  749. /package/chunks/{ids-chunk-BDXWOLCO-full.js.map → ids-chunk-N6D3DXRK-full.js.map} +0 -0
  750. /package/chunks/{ids-chunk-B6B76OKF-full.js.map → ids-chunk-N6DIYIIZ-full.js.map} +0 -0
  751. /package/chunks/{ids-chunk-KO3KZWQZ-full.js.map → ids-chunk-NATNGT73-full.js.map} +0 -0
  752. /package/chunks/{ids-chunk-46EIPFU7-full.js.map → ids-chunk-NDHBA4UL-full.js.map} +0 -0
  753. /package/chunks/{ids-chunk-FH5ULEPX-full.js.map → ids-chunk-NHXQIZQH-full.js.map} +0 -0
  754. /package/chunks/{ids-chunk-AD3Q5O4G-full.js.map → ids-chunk-NKXXYLTH-full.js.map} +0 -0
  755. /package/chunks/{ids-chunk-TAX5HVWM-full.js.map → ids-chunk-NPVKP7XT-full.js.map} +0 -0
  756. /package/chunks/{ids-chunk-P35OLURH-full.js.map → ids-chunk-NYP72F55-full.js.map} +0 -0
  757. /package/chunks/{ids-chunk-PCCRONYR-full.js.map → ids-chunk-NZNXYHMY-full.js.map} +0 -0
  758. /package/chunks/{ids-chunk-FRAN3EGT-full.js.map → ids-chunk-O4JXDQ7L-full.js.map} +0 -0
  759. /package/chunks/{ids-chunk-HDKARTRS-full.js.map → ids-chunk-ODZMTEHZ-full.js.map} +0 -0
  760. /package/chunks/{ids-chunk-EVC4SJNV-full.js.map → ids-chunk-OFTHMHNN-full.js.map} +0 -0
  761. /package/chunks/{ids-chunk-5UFPYCKZ-full.js.map → ids-chunk-OKFF4JWL-full.js.map} +0 -0
  762. /package/chunks/{ids-chunk-STUQC5EN-full.js.map → ids-chunk-OMTV2M33-full.js.map} +0 -0
  763. /package/chunks/{ids-chunk-5OIJ7YEZ-full.js.map → ids-chunk-OPSZFUVF-full.js.map} +0 -0
  764. /package/chunks/{ids-chunk-HT6B7AQL-full.js.map → ids-chunk-OQNHEF3V-full.js.map} +0 -0
  765. /package/chunks/{ids-chunk-UGRNYFTT-full.js.map → ids-chunk-OQXHVGD2-full.js.map} +0 -0
  766. /package/chunks/{ids-chunk-JRK44CJ3-full.js.map → ids-chunk-OVM5D5SP-full.js.map} +0 -0
  767. /package/chunks/{ids-chunk-JW46WWBJ-full.js.map → ids-chunk-P33YXHEO-full.js.map} +0 -0
  768. /package/chunks/{ids-chunk-7AJ5GVW7-full.js.map → ids-chunk-P5CEBCIG-full.js.map} +0 -0
  769. /package/chunks/{ids-chunk-OKTKMUSU-full.js.map → ids-chunk-P5RXDTO2-full.js.map} +0 -0
  770. /package/chunks/{ids-chunk-DK3GHAFJ-full.js.map → ids-chunk-PCQJIZDS-full.js.map} +0 -0
  771. /package/chunks/{ids-chunk-Y5ZKF5IE-full.js.map → ids-chunk-PFEOOXOA-full.js.map} +0 -0
  772. /package/chunks/{ids-chunk-GAPWBO6H-full.js.map → ids-chunk-PKQOR7IQ-full.js.map} +0 -0
  773. /package/chunks/{ids-chunk-HQYUGX4E-full.js.map → ids-chunk-PLG7Q7HB-full.js.map} +0 -0
  774. /package/chunks/{ids-chunk-GJSTSXB2-full.js.map → ids-chunk-PNTWGI4L-full.js.map} +0 -0
  775. /package/chunks/{ids-chunk-YUBSYJOO-full.js.map → ids-chunk-PPUIANQC-full.js.map} +0 -0
  776. /package/chunks/{ids-chunk-PEKEMDUM-full.js.map → ids-chunk-PPYV4K2W-full.js.map} +0 -0
  777. /package/chunks/{ids-chunk-QMM5OYVU-full.js.map → ids-chunk-PVNFUH25-full.js.map} +0 -0
  778. /package/chunks/{ids-chunk-PUXMBT6E-full.js.map → ids-chunk-QAKNY2K5-full.js.map} +0 -0
  779. /package/chunks/{ids-chunk-24JQ5QSF-full.js.map → ids-chunk-QC3YTNFW-full.js.map} +0 -0
  780. /package/chunks/{ids-chunk-3GC2IKUP-full.js.map → ids-chunk-QICYJWV2-full.js.map} +0 -0
  781. /package/chunks/{ids-chunk-SGEKWQI2-full.js.map → ids-chunk-QL5BWGRT-full.js.map} +0 -0
  782. /package/chunks/{ids-chunk-F5N5J5CC-full.js.map → ids-chunk-QLKPXSYP-full.js.map} +0 -0
  783. /package/chunks/{ids-chunk-6LVGKX7B-full.js.map → ids-chunk-QZE2T6RN-full.js.map} +0 -0
  784. /package/chunks/{ids-chunk-3ARK6C6L-full.js.map → ids-chunk-R5R3S57T-full.js.map} +0 -0
  785. /package/chunks/{ids-chunk-XKMKXLO4-full.js.map → ids-chunk-RCM4V3XS-full.js.map} +0 -0
  786. /package/chunks/{ids-chunk-XAFYLA5L-full.js.map → ids-chunk-REGZSNTP-full.js.map} +0 -0
  787. /package/chunks/{ids-chunk-R77MGSM6-full.js.map → ids-chunk-RHPTKTWK-full.js.map} +0 -0
  788. /package/chunks/{ids-chunk-CP2DVRB2-full.js.map → ids-chunk-RIQYX2LA-full.js.map} +0 -0
  789. /package/chunks/{ids-chunk-DLW3AVBI-full.js.map → ids-chunk-RJ3MHPGT-full.js.map} +0 -0
  790. /package/chunks/{ids-chunk-JKL7IJX6-full.js.map → ids-chunk-RL4PRWWL-full.js.map} +0 -0
  791. /package/chunks/{ids-chunk-JV6JSALT-full.js.map → ids-chunk-RPTMFMI3-full.js.map} +0 -0
  792. /package/chunks/{ids-chunk-S57C4KXG-full.js.map → ids-chunk-RQ6PWT3Z-full.js.map} +0 -0
  793. /package/chunks/{ids-chunk-C4LSCZTQ-full.js.map → ids-chunk-RWT6NGYY-full.js.map} +0 -0
  794. /package/chunks/{ids-chunk-CRVGWLIF-full.js.map → ids-chunk-S2YBQC3H-full.js.map} +0 -0
  795. /package/chunks/{ids-chunk-YX25ZZ76-full.js.map → ids-chunk-S4S263F7-full.js.map} +0 -0
  796. /package/chunks/{ids-chunk-4KOGV5S6-full.js.map → ids-chunk-S6DDPBLL-full.js.map} +0 -0
  797. /package/chunks/{ids-chunk-5ELJINRK-full.js.map → ids-chunk-SIS75LAP-full.js.map} +0 -0
  798. /package/chunks/{ids-chunk-R4JPV7M7-full.js.map → ids-chunk-SLXLD6RV-full.js.map} +0 -0
  799. /package/chunks/{ids-chunk-QDN5ISE7-full.js.map → ids-chunk-SMEGSI22-full.js.map} +0 -0
  800. /package/chunks/{ids-chunk-NLGNSKTC-full.js.map → ids-chunk-SN6G2IDB-full.js.map} +0 -0
  801. /package/chunks/{ids-chunk-HFPGE2QH-full.js.map → ids-chunk-SNWJAFW7-full.js.map} +0 -0
  802. /package/chunks/{ids-chunk-35ECJA2C-full.js.map → ids-chunk-SQLZPK2R-full.js.map} +0 -0
  803. /package/chunks/{ids-chunk-ZSWWZ6G6-full.js.map → ids-chunk-SSUJH3Y5-full.js.map} +0 -0
  804. /package/chunks/{ids-chunk-JAEPAADX-full.js.map → ids-chunk-T3XJHEYI-full.js.map} +0 -0
  805. /package/chunks/{ids-chunk-WKPZKQEG-full.js.map → ids-chunk-T6FMTTEN-full.js.map} +0 -0
  806. /package/chunks/{ids-chunk-MI3ZPCPG-full.js.map → ids-chunk-TBPYKVP7-full.js.map} +0 -0
  807. /package/chunks/{ids-chunk-7TNTDIDY-full.js.map → ids-chunk-TQI4ELXN-full.js.map} +0 -0
  808. /package/chunks/{ids-chunk-MTDK7HR3-full.js.map → ids-chunk-TSHFFNZO-full.js.map} +0 -0
  809. /package/chunks/{ids-chunk-AXZ5KRXH-full.js.map → ids-chunk-TVJEUQNS-full.js.map} +0 -0
  810. /package/chunks/{ids-chunk-7DA47KVV-full.js.map → ids-chunk-TX6JMJVN-full.js.map} +0 -0
  811. /package/chunks/{ids-chunk-UF4RKEE3-full.js.map → ids-chunk-TZUZOXZB-full.js.map} +0 -0
  812. /package/chunks/{ids-chunk-JD35FTUV-full.js.map → ids-chunk-U265PQZG-full.js.map} +0 -0
  813. /package/chunks/{ids-chunk-HJMBIMJL-full.js.map → ids-chunk-U6RLOB64-full.js.map} +0 -0
  814. /package/chunks/{ids-chunk-2OCOBBEL-full.js.map → ids-chunk-U7BHU6SJ-full.js.map} +0 -0
  815. /package/chunks/{ids-chunk-5Q4SEIZ2-full.js.map → ids-chunk-UAAKNOSO-full.js.map} +0 -0
  816. /package/chunks/{ids-chunk-6REFUPF7-full.js.map → ids-chunk-UEAPQQWV-full.js.map} +0 -0
  817. /package/chunks/{ids-chunk-J3TAGWSR-full.js.map → ids-chunk-UFBUIJIQ-full.js.map} +0 -0
  818. /package/chunks/{ids-chunk-KHQFTYMP-full.js.map → ids-chunk-UL2U74OZ-full.js.map} +0 -0
  819. /package/chunks/{ids-chunk-OJS6LSJ5-full.js.map → ids-chunk-UOWXMCDY-full.js.map} +0 -0
  820. /package/chunks/{ids-chunk-QB5HGA7R-full.js.map → ids-chunk-UQSTMH53-full.js.map} +0 -0
  821. /package/chunks/{ids-chunk-723FQZWT-full.js.map → ids-chunk-URRI3K6F-full.js.map} +0 -0
  822. /package/chunks/{ids-chunk-WFHTI5RR-full.js.map → ids-chunk-UYYBGIDV-full.js.map} +0 -0
  823. /package/chunks/{ids-chunk-MPCOD3EM-full.js.map → ids-chunk-V27TW6FN-full.js.map} +0 -0
  824. /package/chunks/{ids-chunk-QLUMF46I-full.js.map → ids-chunk-V6P4VFF2-full.js.map} +0 -0
  825. /package/chunks/{ids-chunk-PZYPPC72-full.js.map → ids-chunk-VBASNVK6-full.js.map} +0 -0
  826. /package/chunks/{ids-chunk-IIAUFD4V-full.js.map → ids-chunk-VF72DVER-full.js.map} +0 -0
  827. /package/chunks/{ids-chunk-DP5MFD3X-full.js.map → ids-chunk-VFCMPAPU-full.js.map} +0 -0
  828. /package/chunks/{ids-chunk-TL2ITBEY-full.js.map → ids-chunk-VKQC4E3U-full.js.map} +0 -0
  829. /package/chunks/{ids-chunk-KWZFGVEC-full.js.map → ids-chunk-VLS32KDG-full.js.map} +0 -0
  830. /package/chunks/{ids-chunk-25SFEGWW-full.js.map → ids-chunk-VOQPOVB4-full.js.map} +0 -0
  831. /package/chunks/{ids-chunk-3KNBEAEJ-full.js.map → ids-chunk-VOXJBDTL-full.js.map} +0 -0
  832. /package/chunks/{ids-chunk-SSR6EG35-full.js.map → ids-chunk-VSUCTRET-full.js.map} +0 -0
  833. /package/chunks/{ids-chunk-Z3K2R6TK-full.js.map → ids-chunk-VZK3UNI2-full.js.map} +0 -0
  834. /package/chunks/{ids-chunk-ANQ467A7-full.js.map → ids-chunk-W3QDSJFT-full.js.map} +0 -0
  835. /package/chunks/{ids-chunk-2FNRNYV3-full.js.map → ids-chunk-W6JJZ2KW-full.js.map} +0 -0
  836. /package/chunks/{ids-chunk-HZ45UVLK-full.js.map → ids-chunk-W6YDML3E-full.js.map} +0 -0
  837. /package/chunks/{ids-chunk-5H5JOBKN-full.js.map → ids-chunk-WEXW4EDP-full.js.map} +0 -0
  838. /package/chunks/{ids-chunk-KZFN5VAP-full.js.map → ids-chunk-WMENBLGN-full.js.map} +0 -0
  839. /package/chunks/{ids-chunk-5IRPWSWQ-full.js.map → ids-chunk-WPVTQZTR-full.js.map} +0 -0
  840. /package/chunks/{ids-chunk-VJXOS4VA-full.js.map → ids-chunk-WXVD2LPK-full.js.map} +0 -0
  841. /package/chunks/{ids-chunk-MBUS3QJQ-full.js.map → ids-chunk-X4S7ZHSU-full.js.map} +0 -0
  842. /package/chunks/{ids-chunk-NRPGTR55-full.js.map → ids-chunk-X53E2ROO-full.js.map} +0 -0
  843. /package/chunks/{ids-chunk-CPSCG5KE-full.js.map → ids-chunk-XBFA4CMB-full.js.map} +0 -0
  844. /package/chunks/{ids-chunk-J4UUXN3B-full.js.map → ids-chunk-XBJOS4RU-full.js.map} +0 -0
  845. /package/chunks/{ids-chunk-LQZOVWLN-full.js.map → ids-chunk-XCC3IVSP-full.js.map} +0 -0
  846. /package/chunks/{ids-chunk-4XS4C3E6-full.js.map → ids-chunk-XCOOWZNX-full.js.map} +0 -0
  847. /package/chunks/{ids-chunk-7LLW7QR3-full.js.map → ids-chunk-XF5BZKK7-full.js.map} +0 -0
  848. /package/chunks/{ids-chunk-JR6JZTUW-full.js.map → ids-chunk-XLF32LYM-full.js.map} +0 -0
  849. /package/chunks/{ids-chunk-5O3AGRGM-full.js.map → ids-chunk-XPUSFXSJ-full.js.map} +0 -0
  850. /package/chunks/{ids-chunk-MM4ZKSLE-full.js.map → ids-chunk-XTPN3SFT-full.js.map} +0 -0
  851. /package/chunks/{ids-chunk-K5SHUKHM-full.js.map → ids-chunk-XVTFV3VO-full.js.map} +0 -0
  852. /package/chunks/{ids-chunk-NWDJN63Z-full.js.map → ids-chunk-YEFBLJLV-full.js.map} +0 -0
  853. /package/chunks/{ids-chunk-ZASVB3HI-full.js.map → ids-chunk-YHWCHT5S-full.js.map} +0 -0
  854. /package/chunks/{ids-chunk-KBK3KHCB-full.js.map → ids-chunk-YIAQZ6Y7-full.js.map} +0 -0
  855. /package/chunks/{ids-chunk-MZ52VCIX-full.js.map → ids-chunk-YJPG4OCQ-full.js.map} +0 -0
  856. /package/chunks/{ids-chunk-UZTLN4RE-full.js.map → ids-chunk-YKQXHMXK-full.js.map} +0 -0
  857. /package/chunks/{ids-chunk-4TI33B4L-full.js.map → ids-chunk-YLYKVFAO-full.js.map} +0 -0
  858. /package/chunks/{ids-chunk-REOYW4U6-full.js.map → ids-chunk-YMXMNPBJ-full.js.map} +0 -0
  859. /package/chunks/{ids-chunk-CZIQX2JT-full.js.map → ids-chunk-YO6YVMGK-full.js.map} +0 -0
  860. /package/chunks/{ids-chunk-TP5FKJQJ-full.js.map → ids-chunk-YSP56VTK-full.js.map} +0 -0
  861. /package/chunks/{ids-chunk-JWSN527Q-full.js.map → ids-chunk-YTWR6KLY-full.js.map} +0 -0
  862. /package/chunks/{ids-chunk-4BAPDFDC-full.js.map → ids-chunk-YXGIOC6V-full.js.map} +0 -0
  863. /package/chunks/{ids-chunk-L5KLUFSQ-full.js.map → ids-chunk-YYCLHLDU-full.js.map} +0 -0
  864. /package/chunks/{ids-chunk-3J45QMCH-full.js.map → ids-chunk-Z3HRHZAF-full.js.map} +0 -0
  865. /package/chunks/{ids-chunk-G4OSNQG5-full.js.map → ids-chunk-Z3LRPXYQ-full.js.map} +0 -0
  866. /package/chunks/{ids-chunk-7JIZYB3J-full.js.map → ids-chunk-Z6OJ5LLZ-full.js.map} +0 -0
  867. /package/chunks/{ids-chunk-CEP6272C-full.js.map → ids-chunk-ZCOQEWMU-full.js.map} +0 -0
  868. /package/chunks/{ids-chunk-45MQWCYK-full.js.map → ids-chunk-ZIPMJTUT-full.js.map} +0 -0
  869. /package/chunks/{ids-chunk-BZAXTYVK-full.js.map → ids-chunk-ZLQPGYZK-full.js.map} +0 -0
  870. /package/chunks/{ids-chunk-7FA62T3P-full.js.map → ids-chunk-ZNGIX74C-full.js.map} +0 -0
  871. /package/chunks/{ids-chunk-AADVH3X2-full.js.map → ids-chunk-ZPDNPX4P-full.js.map} +0 -0
  872. /package/chunks/{ids-chunk-L4PUCI4E-full.js.map → ids-chunk-ZQRMWIXB-full.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Infor Enterprise Web Components v1.13.2 (iife all components)
2
+ * Infor Enterprise Web Components v1.13.3 (iife all components)
3
3
  * Copyright (c) 2025 Infor
4
4
  */
5
5
  "use strict";
@@ -77,6 +77,7 @@
77
77
  AUTO_FOCUS: "auto-focus",
78
78
  AUTO_HEIGHT: "auto-height",
79
79
  AUTO_ROWS: "auto-rows",
80
+ AUTO_SIZE: "auto-size",
80
81
  AUTO_START: "auto-start",
81
82
  AUTOCOMPLETE: "autocomplete",
82
83
  AUTOGROW: "autogrow",
@@ -110,6 +111,7 @@
110
111
  CATEGORY: "category",
111
112
  CATEGORY_PERCENTAGE: "category-percentage",
112
113
  CENTER_ON_OVERFLOW: "center-on-overflow",
114
+ CELL_SELECTION: "cell-selection",
113
115
  CHAR_MAX_TEXT: "char-max-text",
114
116
  CHAR_REMAINING_TEXT: "char-remaining-text",
115
117
  CHARACTER_COUNTER: "character-counter",
@@ -120,6 +122,7 @@
120
122
  CLEARABLE_TEXT: "clearable-text",
121
123
  CLICK_OUTSIDE_TO_CLOSE: "click-outside-to-close",
122
124
  CLICKABLE: "clickable",
125
+ CLOSE_ON_SCROLL: "close-on-scroll",
123
126
  COL_END: "col-end",
124
127
  COL_END_LG: "col-end-lg",
125
128
  COL_END_MD: "col-end-md",
@@ -128,6 +131,7 @@
128
131
  COL_END_XS: "col-end-xs",
129
132
  COL_END_XXL: "col-end-xxl",
130
133
  COL_GAP: "col-gap",
134
+ COL_SELECTION: "col-selection",
131
135
  COLSPAN: "colspan",
132
136
  COL_SPAN: "col-span",
133
137
  COL_SPAN_LG: "col-span-lg",
@@ -653,7 +657,8 @@
653
657
  Y_AXIS_MIN: "y-axis-min",
654
658
  Y_OFFSET: "y-offset",
655
659
  YEAR: "year",
656
- Z_INDEX: "z-index"
660
+ Z_INDEX: "z-index",
661
+ USE_FORMATTERS_FOR_SIZING: "use-formatters-for-sizing"
657
662
  };
658
663
  var htmlAttributes = {
659
664
  ARIA_CHECKED: "aria-checked",
@@ -673,7 +678,7 @@
673
678
  SLOT: "slot",
674
679
  TABINDEX: "tabIndex"
675
680
  };
676
- var version = "1.13.2";
681
+ var version = "1.13.3";
677
682
 
678
683
  // src/core/ids-decorators.ts
679
684
  function customElement(name) {
@@ -71987,7 +71992,7 @@ ids-trigger-button[slot=trigger-end] {
71987
71992
  this.editor.input?.onEvent("focusout", this.editor.input, () => {
71988
71993
  requestAnimationFrame(() => {
71989
71994
  if (this.editor?.popup?.visible || this.contains(this.dataGrid.shadowRoot.activeElement)) return;
71990
- this.endCellEdit();
71995
+ this.tabIndex = -1;
71991
71996
  });
71992
71997
  });
71993
71998
  this.onEvent("hide.popup", this.editor?.popup, () => {
@@ -72954,6 +72959,7 @@ ids-trigger-button[slot=trigger-end] {
72954
72959
  elem.click();
72955
72960
  }
72956
72961
  }
72962
+ this.root.lastActiveCell = null;
72957
72963
  });
72958
72964
  this.root.offEvent(`show.${this.#id()}`, this.root.wrapper);
72959
72965
  this.root.onEvent(`show.${this.#id()}`, this.root.wrapper, (e) => {
@@ -74597,7 +74603,7 @@ ids-data-grid-cell[column-offscreen-right] {
74597
74603
  .ids-data-grid-cell.is-uppercase {
74598
74604
  text-transform: uppercase;
74599
74605
  }
74600
- .ids-data-grid-cell:focus, .ids-data-grid-cell.is-editing:not(.is-inline):focus-within, .ids-data-grid-cell.is-focused {
74606
+ .ids-data-grid-cell:focus:not(.selected):not([tabindex="-1"]), .ids-data-grid-cell.is-editing:not(.is-inline):focus-within:not(.selected):not([tabindex="-1"]), .ids-data-grid-cell.is-focused:not(.selected):not([tabindex="-1"]) {
74601
74607
  box-shadow: var(--ids-shadow-20);
74602
74608
  outline: 1px solid var(--ids-color-border-focus);
74603
74609
  outline-offset: -1px;
@@ -76277,7 +76283,7 @@ ids-loading-indicator[stopped] {
76277
76283
  overflow: auto;
76278
76284
  max-height: var(--ids-modal-column-list-height);
76279
76285
  }
76280
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3Jvb3QvZW50ZXJwcmlzZS9zcmMvY29tcG9uZW50cy9pZHMtZGF0YS1ncmlkIiwic291cmNlcyI6WyJpZHMtZGF0YS1ncmlkLWZpbHRlcnMuc2NzcyIsImlkcy1kYXRhLWdyaWQtaGVhZGVyLnNjc3MiLCJpZHMtZGF0YS1ncmlkLXJvdy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jZWxsLnNjc3MiLCJpZHMtZGF0YS1ncmlkLWNvbW1vbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtaGlkZS1taXhpbi5zY3NzIiwiLi4vaWRzLXBvcHVwLW1lbnUvaWRzLXBvcHVwLW1lbnUuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1yYWRpby1taXhpbi5zY3NzIiwiaWRzLWRhdGEtZ3JpZC5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBRUE7O0FBR0Y7RUFJRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBTUE7QUFBQTtBQUFBO0VBR0U7O0FBS047RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUMxRU47QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQU9BOztBQUxBO0VBQ0U7OztBQVFKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7O0FBR0Y7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTs7O0FBS047RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLQTtBQUFBO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFNRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0E7RUFDRTs7QUFJSjtBQUFBO0VBRUU7O0FBS0E7RUFDRTs7O0FBTU47RUFDRTs7O0FBTUU7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7OztBQzlmVjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTs7QUFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0U7O0FBR0U7RUFLRTtFQUNBOztBQUxBO0VBQ0k7O0FBU1Y7RUFDRTs7QUFHRTtFQUtFO0VBQ0E7O0FBTEE7RUFDRTs7QUFTUjtFQUNFOztBQUdFO0VBS0U7RUFDQTs7QUFMQTtFQUNFOzs7QUFXVjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7OztBQVFBO0VBQ0U7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBTUE7RUFDRTtFQUNBOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFNTjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFLQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBRUU7OztBQVNNO0VBQ0k7O0FBU0o7RUFDSTs7QUFTSjtFQUNJOzs7QUN6UmQ7QUFDQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLRTtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7O0FBS047RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFNRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0o7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBR0U7RUFDQTtFQUNBOztBQUtFO0VBQ0U7O0FBTUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBR0U7O0FBRUE7RUFDRTs7QUFNRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBS047RUFDRTs7QUFNQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVRBO0VBQ0U7O0FBWUo7RUFHRTs7QUFHRjtFQUNFOztBQUtBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRTs7QUFJRjtFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFOztBQUtKO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUlFO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQ3BWQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEa1ZJO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VDbFdOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURnV0U7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFpQk07RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOzs7QUFhUjtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUlGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBRUE7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFXRjtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUtKO0VBQ0U7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOzs7QUFXRjtFQUNFOztBQUlKO0VBQ0U7O0FBSUY7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOzs7QUFXRjtFQUNFOztBQUtKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFLRjtFQUNFOzs7QUFXRjtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRTtFQUNFOztBQU1GO0VBQ0U7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFOztBQUlBO0VBRUU7OztBQU9SO0VBQ0U7OztBRWh1QkY7RUFDRTs7O0FBSUE7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBL0JGO0VDNUdGO0lENkdJOzs7O0FDeEdGO0VBQ0U7RUFDQTs7O0FDVEo7QUFBQTtBQUFBO0FBb0lBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUNqS0o7QUFBQTtBQUFBO0FDV0E7RUFDRTtFQUVBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQ25CQTtFQUNBO0VEdUJBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUVFOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFRnhEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRXlERTtFQUNBO0VBQ0E7RUFDQTs7QUFQQTtFQUNFOztBQVFGO0VGYkY7RUFDQTtFQUNBO0VFY0k7O0FBR0Y7RUYzREY7RUFDQTs7QUU2REk7RUZ6REo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRWtETTs7QUFHRjtFRmxCSjtFQUNBOztBRXNCRTtFRnJERjtFQUNBOztBRXVESTtFRm5ESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFNENNOztBQU1OO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VEMUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNzR0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUR2R0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDa0dFO0VEckVGO0VBQ0E7RUFDQTtFQUNBOztBQ3NFRTtFRHpGRjtFQUNBOztBQzJGSTtFRHZGSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNxRkk7RURqRUo7RUFDQTtFQUNBOztBQ3NFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQStFVTtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQVVkO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQU1OO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBS0Y7QUFBQTtFQUVFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFFQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyogSWRzIERhdGEgR3JpZCBDb21wb25lbnQgLSBGaWx0ZXIgKi9cbi5pZHMtZGF0YS1ncmlkIHtcbiAgLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3IpO1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1ob3ZlcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIC0taWRzLW1lbnUtaXRlbS13aWR0aC1taW46IDE5MHB4O1xuICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIgaWRzLWRyb3Bkb3duIHtcbiAgICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IC0xcHg7XG5cbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J21kJ10gaWRzLWRyb3Bkb3duLFxuICAmW2RhdGEtcm93LWhlaWdodD0nc20nXSBpZHMtZHJvcGRvd24sXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIGlkcy1kcm9wZG93bixcbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIGlkcy1kcm9wZG93biB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICA6OnNsb3R0ZWQoW3Nsb3RePSdmaWx0ZXItJ10pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taWRzLXNwYWNlLXNtKSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGlkcy1kcm9wZG93bltjb21wYWN0XSBpZHMtbGlzdC1ib3gtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogdW5zZXQ7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtc2l6ZS0yMCk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuaXMtdXBwZXJjYXNlIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICBpZHMtbGlzdC1ib3gtb3B0aW9uLFxuICAgICAgaWRzLWRyb3Bkb3duOjpwYXJ0KHRyaWdnZXJmaWVsZC1pbnB1dCksXG4gICAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS1maWx0ZXItY29uZGl0aW9ucy1idXR0b25dIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LWhlaWdodDogMjBweDtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LXdpZHRoOiAzNnB4O1xuXG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDJweDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0ycHg7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcblxuICAgIGlkcy1pY29uIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDNweDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtM3B4O1xuICAgIH1cblxuICAgIGlkcy1pY29uLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gSGVhZGVyICovXG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgei1pbmRleDogMTsgLy8gSGlnaGVyIHRoYW4gYm9keSBjb2x1bW5zOyB6LWluZGV4IGhpZ2hlciB0aGFuIDIgd2lsbCBicmVhayBpZHMtbG9hZGluZy1pbmRpY2F0b3IncyBvdmVybGF5XG5cbiAgJi5pcy1mcm96ZW4ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvLyBGaWx0ZXIgYnV0dG9uIGhlaWdodFxuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemU6IDI4cHg7XG59XG5cbi8vIEhlYWRlciBDaGVja2JveFxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJltkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveFtkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1vcGFjaXR5LWRpc2FibGVkKTtcbiAgfVxuXG5cbiAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3g6bm90KC5jaGVja2VkKTpub3QoLmluZGV0ZXJtaW5hdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJvcmRlcik7XG4gIH1cbn1cblxuLy8gSGVhZGVyIENlbGwgQXJlYVxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gIG1pbi1oZWlnaHQ6IDI4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBIaWRlIGZpcnN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgJjpob3Zlci5pcy1hY3Rpb25hYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxuXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQsXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCxcbiAgJi5hbGlnbi1yaWdodCAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLXNvcnRhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1sZyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgIGlkcy1tZW51LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNpemluZyBDZWxsc1xuICAucmVzaXplciB7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXJlc2l6ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB3aWR0aDogNnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAucmVvcmRlcmVyIHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItbW92ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMzRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgaWRzLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24pO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5yZW9yZGVyZXIge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDVweDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgLnJlc2l6ZXIge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIDZweCk7IC8vIFByZXZlbnRzIHVubmVlZGVkIHNjcm9sbGJhclxuICB9XG5cbiAgJi5kcmFnZ2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50OyAvLyB0aGlzIGltcG9ydGFudCBpcyBuZWVkZWQgZm9yIGRyYWcgc3R5bGVzIHRvIHdvcmtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IDExMHB4O1xuICB9XG5cbiAgJi5hY3RpdmUtZHJhZy1jb2x1bW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdC1wbGFjZWhvbGRlci1kcmFnZ2luZyk7XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5yZW9yZGVyZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAmLmZyb3plbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBDaGFuZ2UgYm9yZGVycyBmb3IgZnJvemVuIGNvbHVtbiBzY3JvbGxpbmdcbiAgJi5mcm96ZW4tbGFzdCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1ib3JkZXIpO1xuXG4gICAgKyAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLWxlZnQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBEeW5hbWljYWxseSBhZGRlZCB3aWR0aHNcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgbGVmdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAvLyBXaWVyZCBjZW50ZXJpbmcgYnVnIChmcm96ZW4gcmlnaHQpXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWxnLXBhZGRpbmcpO1xuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG59XG5cbi8vIEhlYWRlciBzb3J0IHN0eWxlc1xuLnNvcnQtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiB2YXIoLS1pZHMtc3BhY2UtbGcpO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gIHdpZHRoOiAxOHB4O1xufVxuXG4vLyBTb3J0IEhvdmVyIHN0YXRlc1xuLmlzLXNvcnRhYmxlIHtcbiAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSAwcztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItZXhwYW5kZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtaGVpZ2h0OiAxOHB4O1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1leHBhbmRlci1jb2xvcik7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWV4cGFuZGVyLWNvbG9yLWFjdGl2ZSk7XG4gIH1cbn1cblxuW2RhdGEtcm93LWhlaWdodD0neHhzJ10gLmhlYWRlci1leHBhbmRlciB7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG59XG5cbjpob3N0KFtzaG93LWhlYWRlci1leHBhbmRlcl0pIC5oZWFkZXItZXhwYW5kZXIsXG4uY29sdW1uLWhlYWRlci1leHBhbmRlciAuaGVhZGVyLWV4cGFuZGVyIHtcbiAgZGlzcGxheTogdW5zZXQ7XG59XG5cbi5oYXMtc2VsZWN0aW9uY2hlY2tib3ggLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbn1cblxuLmlzLXNvcnRhYmxlLFxuLmhhcy1oZWFkZXJpY29uIHtcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG59XG5cbi8vIEFzY2VuZGluZyBzb3J0XG5bYXJpYS1zb3J0PSdhc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tc29ydGVkKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIERlc2NlbmRpbmcgc29ydFxuW2FyaWEtc29ydD0nZGVzY2VuZGluZyddIC5pcy1zb3J0YWJsZSAuc29ydC1pbmRpY2F0b3IgaWRzLWljb24ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi1zb3J0ZWQpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gRHJhZyBhcnJvd3MgZm9yIHNvcnRpbmdcbi5pZHMtZGF0YS1ncmlkLXNvcnQtYXJyb3dzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1hcnJvdy1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB0b3A6IC02cHg7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWRyYWctYXJyb3ctY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm90dG9tOiAtOXB4O1xuICB9XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ci5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuXG50aC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgLy8gQ2hhbmdlIEhlYWRlciBDb2xvclxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci10ZXh0KTtcbiAgfVxuXG4gIC8vIENoYW5nZSBTb3J0IEljb24gQ29sb3JzXG4gIC5pcy1zb3J0YWJsZSB7XG4gICAgaWRzLWljb24ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tdW5zb3J0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIFthcmlhLXNvcnQ9J2Rlc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgaWRzLWljb246bGFzdC1jaGlsZCxcbiAgW2FyaWEtc29ydD0nYXNjZW5kaW5nJ10gLmlzLXNvcnRhYmxlIGlkcy1pY29uOmZpcnN0LWNoaWxkICB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZClcbiAgfVxuXG4gIC8vIENoYW5nZSBIZWFkZXIgQ2hlY2tib3hcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveDpub3QoLmNoZWNrZWQpOm5vdCguaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIGZvciBGcm96ZW4gQ29sdW1uc1xuLmlkcy1kYXRhLWdyaWQtYm9keSB7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8vIEFkanVzdCBmb3IgUm93IEhlaWdodHMgKGxhcmdlIGlzIGRlZmF1bHQpXG4uaWRzLWRhdGEtZ3JpZCB7XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1tZC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIGlkcy1pY29uIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTExcHg7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC04cHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuYWxpZ24tcmlnaHQgLnJlb3JkZXJlciB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXNtLXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC5yZW9yZGVyZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTRweDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHMnXSB7XG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZzogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXIteHMtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnJlb3JkZXJlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0zcHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXh4cy1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTFweDtcbiAgICAgIGhlaWdodDogMjJweDtcblxuICAgICAgPiBpZHMtaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuXG4gICAgICBpZHMtaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ24tcmlnaHQgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogM3B4O1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBBZGp1c3RtZW50c1xuICAgIGlkcy1pbnB1dCxcbiAgICBpZHMtdHJpZ2dlci1maWVsZCxcbiAgICBpZHMtZHJvcGRvd24ge1xuICAgICAgLS1pZHMtaW5wdXQtaGVpZ2h0LTEwOiAyNHB4O1xuICAgIH1cblxuICAgIGlkcy1kcm9wZG93biB7XG4gICAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1pbnB1dC1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpICsgMnB4KTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKSArIDJweCk7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyAtIDFweCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhhbmRsZSBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC8vIE5lZ2F0ZSByaWdodCBhbGlnbm1lbnRcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuXG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gUm93cyAqL1xuLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbHVtbi13aWR0aHMpOyAvLyBGaWxsZWQgaW4gZHluYW1pY2FsbHlcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5zZWxlY3RlZDpub3QoLm1peGVkKSAuaWRzLWRhdGEtZ3JpZC1jZWxsLFxuICAmLmFjdGl2YXRlZCAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgfVxuXG4gICZbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbcGFydCo9J3Jvdy0nXSB7XG4gICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbcGFydD0ncm93LW5ldyddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLW5ldyk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtbmV3KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LXN0YXRlcy1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltwYXJ0PSdyb3ctZXJyb3InXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdyb3VwZWQgUm93c1xuLmlkcy1kYXRhLWdyaWQtcm93LmlzLWdyb3VwLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1ncm91cGVkLWNvbG9yLXRleHQsIHJlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtZm9udC13ZWlnaHQsIDYwMCk7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyOiB0cmFuc3BhcmVudDtcblxuICAgIHBhZGRpbmc6IDAgMnB4O1xuICB9XG59XG5cbi8vIFJvdyBIZWlnaHQgRmVhdHVyZSB3aXRoIEZvcm1hdHRlcnMgc3BhY2luZ1xuLmlkcy1kYXRhLWdyaWQge1xuICAvLyBMYXJnZSBieSBkZWZhdWx0XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LW1kKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLW1kKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgfVxuXG4gICAgICBpZHMtaHlwZXJsaW5rIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgfVxuXG4gICAgICBpZHMtaHlwZXJsaW5rIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXhzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB9XG5cbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cyk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICB9XG5cbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBPbiAneHhzJyByb3cgaGVpZ2h0LCBpbmxpbmUtZWRpdGFibGUgY2VsbHMgaGF2ZSBhIHNsaWdodGx5IHdpZGVyXG4gICAgICAvLyBwYWRkaW5nIGFwcGVhcmFuY2UgdG8gYWNjb21tb2RhdGUgdGhlIGlubGluZSBkaXNwbGF5XG4gICAgICAmLmlzLWlubGluZSB7XG4gICAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOm5vdCguYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50Om5vdCgudmVydGljYWwtYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSb3cgQWx0ZXJuYXRlIFJvdyBTZXR0aW5nIEZlYXR1cmVcbi5pZHMtZGF0YS1ncmlkLmFsdC1yb3ctc2hhZGluZyBpZHMtZGF0YS1ncmlkLXJvdzpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1hbHRlcm5hdGluZy1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLy8gRXhwYW5kYWJsZSBSb3dcbi5pZHMtZGF0YS1ncmlkLWV4cGFuZGFibGUtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xufVxuXG4vLyBTdGFuZGFsb25lIENzc1xudHIuaWRzLWRhdGEtZ3JpZC1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LWxnKTtcbn1cblxuLy8gUm93IE5hdmlnYXRpb24gU3R5bGVzXG4uaWRzLWRhdGEtZ3JpZC5yb3ctbmF2aWdhdGlvbiAuaWRzLWRhdGEtZ3JpZC1yb3cge1xuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LXNoYWRvdy1mb2N1cyk7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIGh5cGVybGlua3MgaW4gcm93LW5hdmlnYXRpb24gbW9kZSBjYW5ub3QgYmUgZGlyZWN0bHkgY2xpY2tlZFxuICBpZHMtaHlwZXJsaW5rLFxuICAuaWRzLWh5cGVybGluayB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFweCk7XG4gIH1cbn1cblxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgICAmW3BhcnQ9J3Jvdy1uZXcnXSB7XG4gICAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1lcnJvciddIHtcbiAgICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1lcnJvcikgdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gQ2VsbHMgKi9cbmlkcy1kYXRhLWdyaWQtY2VsbFtjb2x1bW4tb25zY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW4tbGVmdF0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5pZHMtZGF0YS1ncmlkLWNlbGxbY29sdW1uLW9mZnNjcmVlbi1yaWdodF0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pZHMtZGF0YS1ncmlkLXJvdzpub3QoLnNlbGVjdGVkKTpub3QoW3BhcnQqPSdyb3ctJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICYuZnJvemVuLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5mcm96ZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAvLyBCb3JkZXIgYW5kIEJhY2tncm91bmQgYW5kIFNpemluZ1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gSGlkZSBmaXJzdC9sYXN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgLy8gUmVzZXQgYmFkZ2UgbWFyZ2luIHRvIGNlbnRlciBpdCB2ZXJ0aWNhbGx5XG4gIGlkcy1iYWRnZTo6cGFydChiYWRnZSkge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgaWRzLWJhZGdlIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gIH1cblxuICAvLyBTbyB0aGUgY29sb3IgaXMgdGhlIHNhbWUgYXMgdGhlIGVkaXRvclxuICBpZHMtaWNvbltpY29uPSdkcm9wZG93biddIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLXRyaWdnZXItZmllbGQtaWNvbi1jb2xvcilcbiAgfVxuXG4gIGlkcy1oeXBlcmxpbmsge1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogLW1vei1hdmFpbGFibGU7XG4gICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgd2lkdGg6IGZpbGwtYXZhaWxhYmxlO1xuICB9XG5cbiAgLnRleHQtZWxsaXBzaXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC8vIFRleHQgQWxpZ25tZW50XG4gIGlkcy1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXh0IEFsaWdubWVudFxuICAmLmFsaWduLWNlbnRlciB7XG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKSBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1pbnB1dCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBSZWFkb25seSBhbmQgZGlzYWJsZWQgQ2VsbHNcbiAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gRm9jdXMgU3RhdGVcbiAgJjpmb2N1cyxcbiAgJi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKTpmb2N1cy13aXRoaW4sXG4gICYuaXMtZm9jdXNlZCB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0taWRzLXNoYWRvdy0yMCk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJi5pcy1lZGl0YWJsZSB7XG4gICAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICAgIC50ZXh0LWVsbGlwc2lzOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWlubGluZSB7XG4gICAgICAmLmZvcm1hdHRlci10cmVlIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWVsbGlwc2lzOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC04cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTVweDtcblxuICAgICAgICAmW2ljb249J2Ryb3Bkb3duJ10ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1sb29rdXAsXG4gICAgJi5pcy1kYXRlcGlja2VyLFxuICAgICYuaXMtdGltZXBpY2tlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1kYXRlcGlja2VyLFxuICAgICYuaXMtdGltZXBpY2tlciB7XG4gICAgICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbG9va3VwIHtcbiAgICAgIGlkcy1sb29rdXAge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBpZHMtbG9va3VwOjpwYXJ0KGNvbnRhaW5lciksXG4gICAgICBpZHMtbG9va3VwOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLnNob3ctY2VsbC1pY29uLWFsd2F5cyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlkcy10cmlnZ2VyLWJ1dHRvbjo6cGFydChidXR0b24pIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIGlzLWJvcmRlcmxlc3M6aG92ZXJcbiAgICAmOm5vdCguaXMtaW5saW5lKTpub3QoLmlzLWludmFsaWQpOmZvY3VzLFxuICAgICY6bm90KC5pcy1pbmxpbmUpOm5vdCguaXMtaW52YWxpZCk6aG92ZXIge1xuICAgICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICBpZHMtYWxlcnQge1xuICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWVkaXRhYmxlLmlzLWludmFsaWQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBpZHMtYWxlcnQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWVkaXRpbmcgaWRzLWNoZWNrYm94IHtcbiAgICAtLWlkcy1jaGVja2JveC1tYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXM6IDAgMCAwIDJweCB0cmFuc3BhcmVudCwgMCAwIDAgM3B4IHRyYW5zcGFyZW50O1xuICAgIC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlcik7XG5cbiAgICAmW2NoZWNrZWRdIHtcbiAgICAgIC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuXG4gIC8vIEVkaXRpbmcgd2l0aCBwb3B1cHNcbiAgJi5pcy1lZGl0aW5nLmlzLWxvb2t1cCxcbiAgJi5pcy1lZGl0aW5nLmlzLWRhdGVwaWNrZXIsXG4gICYuaXMtZWRpdGluZy5pcy10aW1lcGlja2VyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gICYuaXMtZWRpdGluZy5pcy1pbmxpbmUgaWRzLWlucHV0IHtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIEVkaXRhYmxlIENlbGxcbiAgJi5pcy1lZGl0YWJsZS5pcy1kcm9wZG93biB7XG4gICAgLmRyb3Bkb3duLWNlbGwtdmFsdWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKSB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIEVkaXRpbmcgSW5saW5lXG4gICYuaXMtZWRpdGluZy5pcy1kcm9wZG93bi5pcy1pbmxpbmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBpZHMtZHJvcGRvd24ge1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXh0IEVkaXRhYmxlIENlbGxcbiAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgfVxuXG4gIC8vIEVkaXRpbmcgVXBwZXJjYXNlXG4gICYuaXMtZWRpdGluZy5pcy11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBpZHMtbGlzdC1ib3gtb3B0aW9uLFxuICAgIGlkcy1kcm9wZG93bjo6cGFydCh0cmlnZ2VyZmllbGQtaW5wdXQpLFxuICAgIGlkcy1pbnB1dDo6cGFydChpbnB1dCkge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAvLyBGcm96ZW4gQ2VsbHNcbiAgJi5mcm96ZW4ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMTsgLy8gei1pbmRleCBoaWdoZXIgdGhhbiAyIHdpbGwgYnJlYWsgaWRzLWxvYWRpbmctaW5kaWNhdG9yJ3Mgb3ZlcmxheVxuICB9XG5cbiAgLy8gQ2hhbmdlIGJvcmRlcnMgZm9yIHNjcm9sbGluZ1xuICAmLmZyb3plbi1sYXN0IHtcbiAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuXG4gICAgKyAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgJi5mcm96ZW4tbGVmdCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAvLyBEeW5hbWljYWxseSBhZGRlZCB3aWR0aHNcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgbGVmdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIH1cblxuICAmLmlzLWRpcnR5OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtY2VsbC1kaXJ0eS10cmFja2VyLWljb247XG4gIH1cblxuICAmLmlzLWRpcnR5LmlzLWlubGluZSB7XG4gICAgJi5mb3JtYXR0ZXItdHJlZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtY2VsbC1kaXJ0eS10cmFja2VyLWljb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWRyb3Bkb3duOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWlubGluZTogNnB4O1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDZweDtcbiAgICB9XG5cbiAgICBpZHMtaW5wdXQge1xuICAgICAgJjo6cGFydChkaXJ0eS10cmFja2VyLWljb24pIHtcbiAgICAgICAgLS1pZHMtaWNvbi1oZWlnaHQtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICAtLWlkcy1pY29uLXdpZHRoLWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWRpcnR5LmlzLWRyb3Bkb3duLmlzLWVkaXRpbmc6bm90KC5pcy1pbmxpbmUpOjpiZWZvcmUge1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAzcHg7XG4gICAgbWFyZ2luLWlubGluZTogM3B4O1xuICB9XG5cbiAgJi5pcy1pbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG4gIH1cblxuICBpZHMtYWxlcnQge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuXG4gIGlkcy10YWcge1xuICAgIC0taWRzLXRhZy1tYXJnaW4taW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXByb2dyZXNzLWJhci1ncmlkLWNlbGwtbWFyZ2luKTtcbiAgfVxuXG4gICYuaXMtZWRpdGluZyB7XG4gICAgJGljb24tc3R5bGVzOiAoXG4gICAgICAndGltZXBpY2tlcic6ICdjbG9jaycsXG4gICAgICAnZGF0ZXBpY2tlcic6ICdjYWxlbmRhcidcbiAgICApO1xuXG4gICAgJGZpZWxkLWhlaWdodHM6IChcbiAgICAgICd4cyc6ICgtNXB4LCAxcHgpLFxuICAgICAgJ3NtJzogKHZhcigtLWlkcy1zcGFjZS0zeHMpLCAxcHgpXG4gICAgKTtcblxuICAgIEBlYWNoICRjbGFzcywgJGljb24gaW4gJGljb24tc3R5bGVzIHtcbiAgICAgICYuaXMtI3skY2xhc3N9IHtcbiAgICAgICAgQGVhY2ggJGhlaWdodCwgJHZhbHVlcyBpbiAkZmllbGQtaGVpZ2h0cyB7XG4gICAgICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmRbaWNvbj0nI3skaWNvbn0nXVtmaWVsZC1oZWlnaHQ9JyN7JGhlaWdodH0nXSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBudGgoJHZhbHVlcywgMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ3h4cydcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAuZm9ybWF0dGVyLXByb2dyZXNzIHtcbiAgICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1kaXJ0eTo6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMXB4O1xuICAgIGluc2V0LWlubGluZS1zdGFydDogLTFweDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHkuaXMtaW5saW5lOjpiZWZvcmUge1xuICAgIG1hcmdpbi1pbmxpbmU6IDNweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLXBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgaWRzLWJhZGdlIHtcbiAgICAtLWlkcy1iYWRnZS1mb250LWxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC14eHMpIC0gOHB4KTtcbiAgfVxuXG4gIGlkcy10YWcge1xuICAgIC0taWRzLXRhZy1oZWlnaHQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cykgLSA2cHgpO1xuICB9XG5cbiAgaWRzLWlucHV0LFxuICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgLS1pZHMtc3BhY2UtM3hzOiAwO1xuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICB9XG5cbiAgaWRzLWlucHV0IHtcbiAgICAmOjpwYXJ0KGRpcnR5LXRyYWNrZXItaWNvbikge1xuICAgICAgLS1pZHMtaWNvbi1oZWlnaHQtZGVmYXVsdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgLS1pZHMtaWNvbi13aWR0aC1kZWZhdWx0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6cGFydChpbnB1dCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMTApIC0gNHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3Qgbm9uIGlubGluZSBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZSAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSBpZHMtaWNvbi5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRpbmcuaXMtZHJvcGRvd24uaXMtaW5saW5lIGlkcy1kcm9wZG93biB7XG4gICAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLW5vbmUpIHZhcigtLWlkcy1zcGFjZS00eHMpO1xuXG4gICAgLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICB9XG5cbiAgICAmLmlzLWVkaXRhYmxlLmlzLWVkaXRhYmxlLmlzLWludmFsaWQgaWRzLWFsZXJ0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtNHhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAneHMnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtcm93LWhlaWdodD0neHMnXSB7XG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHk6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5LmlzLWlubGluZTo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiAzcHg7XG4gIH1cblxuICBpZHMtYmFkZ2Uge1xuICAgIC0taWRzLWJhZGdlLWZvbnQtbGluZS1oZWlnaHQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXhzKSAtIDEycHgpO1xuICB9XG5cbiAgaWRzLXRhZyB7XG4gICAgLS1pZHMtdGFnLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKSAtIDRweCk7XG4gIH1cblxuICBpZHMtaW5wdXQge1xuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgJjo6cGFydChkaXJ0eS10cmFja2VyLWljb24pIHtcbiAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBub24gaW5saW5lIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICAvLyBBZGp1c3QgZHJvcGRvd24gZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGluZy5pcy1kcm9wZG93bi5pcy1pbmxpbmUgaWRzLWRyb3Bkb3duIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSkgdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICdzbSdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgfVxuICB9XG5cbiAgaWRzLWJ1dHRvbiB7XG4gICAgLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAvLyBBZGp1c3Qgbm9uIGlubGluZSBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZSAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDZweDtcbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICdtZCdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogN3B4O1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG5cbiAgICA6OnNsb3R0ZWQoaWRzLXRyaWdnZXItYnV0dG9uKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ2xnJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXJvdy1oZWlnaHQ9J2xnJ10ge1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbGcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBMaXN0IFN0eWxlIEZlYXR1cmVcbi5pZHMtZGF0YS1ncmlkLmlzLWxpc3Qtc3R5bGUge1xuICAvLyBDaGFuZ2UgQ2VsbCBCb3JkZXJzL0JHXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1jZWxsLWNvbG9yLWJvcmRlcik7XG5cbiAgICAmLmlzLXJlYWRvbmx5Om5vdCguZXhjbHVkZS1yZWFkb25seS1zdHlsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHkpXG4gICAgfVxuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWJvZHkgLmlkcy1kYXRhLWdyaWQtcm93OmZpcnN0LWNoaWxkIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLy8gU3RhbmRhbG9uZSBDc3NcbnRkLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG59XG5cbi8vIEhhbmRsZSBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC5pZHMtZGF0YS1ncmlkLmlzLWxpc3Qtc3R5bGUge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRlIEJvcmRlcnNcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuXG4gICAgJi5pcy1kaXJ0eSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lcjo6YmVmb3JlLFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpICB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpIHRyYW5zcGFyZW50ICB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IHNsb3R0ZWQgdHJpZ2dlciBidXR0b24gbWFyZ2lucyB3aGVuIG5lc3RlZCB3aXRoaW4gY2VsbHNcbi5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2VuZXJhdGVzIGEgcHNldWRvLWVsZW1lbnQgaW4gdGhlIGZvcm0gb2YgYW4gXCJvdXRsaW5lXCJcbi8vIGluIGEgY2VsbCB0aGF0IHJlcHJlc2VudHMgdGhlIFwiaW5saW5lLCBlZGl0YWJsZVwiIHN0YXRlLlxuQG1peGluIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG1hcmdpbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtMnhzKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbjogI3skbWFyZ2lufXB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skbWFyZ2luICogMn1weCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfXB4KTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyYXRlcyBhIHBzZXVkby1lbGVtZW50IHJlcHJlc2VudGluZyB0aGUgZGlydHkgdHJhY2tlclxuLy8gaWNvbiBpbiBhIGNlbGwgdGhhdCdzIGJlZW4gZWRpdGVkLlxuQG1peGluIGlkcy1kYXRhLWdyaWQtY2VsbC1kaXJ0eS10cmFja2VyLWljb24ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgei1pbmRleDogMTtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJztcblxuLy8gSW5jbHVkZXMgSGlkZGVuIENsYXNzZXMgYW5kIE1peGlucyBmb3IgaGlkaW5nIGVsZW1lbnRzIGF0IGJyZWFrcG9pbnRzXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRlLXh4bC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14eGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXh4bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHhsLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14eGwtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14eGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXhsLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1sZy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLWxnLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbGctdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtbGctdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbWQtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1tZC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLW1kLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLW1kLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXNtLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtc20tZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1zbS11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1zbS11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14cy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXhzLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHMtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteHMtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHMtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWhpZGUtbWl4aW4uc2NzcycgYXMgaGlkZTtcblxuOmhvc3QoLmhpZGUtc20tZG93bikge1xuICBAaW5jbHVkZSBoaWRlLmhpZGUtc20tZG93bigpO1xufVxuXG4uaWRzLXBvcHVwLW1lbnUge1xuICAmOm5vdChbaGlkZGVuXSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IHZhcigtLWlkcy16LWluZGV4LTYwKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDaGVja2JveCBNaXhpbnMuXG4gKi9cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4vLyBVbmNoZWNrZWRcbkBtaXhpbiBjaGVja2JveC11bmNoZWNrZWQoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci1yYWRpdXMpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDNweDtcbn1cblxuQG1peGluIGNoZWNrYm94LXVuY2hlY2tlZC1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1lcnJvcik7XG59XG5cbi8vIENoZWNrZWRcbkBtaXhpbiBjaGVja2JveC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1jaGVja2VkLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiB2YXIoLS1pZHMtZm9udC1zaXplLTJ4cykgc29saWQgdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZC1hZnRlcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci13aWR0aC1zZWxlY3RlZC1hZnRlcik7XG4gIGFuaW1hdGlvbjogY2hlY2sgMC4xNXM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMTBweDtcbiAgbGVmdDogNHB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi8vIEluZGV0ZXJtaW5hdGVcbkBtaXhpbiBjaGVja2JveC1pbmRldGVybWluYXRlKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1pbmRldGVybWluYXRlKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWluZGV0ZXJtaW5hdGUpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYW5pbWF0aW9uOiBjaGVja2luZGV0ZXJtaW5hdGUgMC4xNXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWluZGV0ZXJtaW5hdGUtYWZ0ZXIpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItd2lkdGgtaW5kZXRlcm1pbmF0ZSk7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDZweDtcbiAgbGVmdDogMnB4O1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDEwcHg7XG59XG5cbi8vIERpc2FibGVkXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMtZXJyb3IpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQtZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdGV4dCB7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbn1cblxuLy8gRm9jdXNcbkBtaXhpbiBjaGVja2JveC1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXMpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZm9jdXMtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMtZXJyb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzLWVycm9yKTtcbn1cblxuLy8gQ29sb3JlZFxuJGNvbG9yLW5hbWVzOiAnZ3JlZW4nICdwdXJwbGUnICdibHVlJyAnb3JhbmdlJyAncmVkJztcbiRjb2xvci12YXJzOiAtLWlkcy1jb2xvci1ncmVlbi03MCAtLWlkcy1jb2xvci1wdXJwbGUtNzAgLS1pZHMtY29sb3ItYmx1ZS03MCAtLWlkcy1jb2xvci1vcmFuZ2UtNzAgLS1pZHMtY29sb3ItcmVkLTcwO1xuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZCgpIHtcbiAgQGVhY2ggJG5hbWUgaW4gJGNvbG9yLW5hbWVzIHtcbiAgICAkaTogbGlzdC5pbmRleCgkY29sb3ItbmFtZXMsICRuYW1lKTtcbiAgICAkY29sb3I6IHZhcigje2xpc3QubnRoKCRjb2xvci12YXJzLCAkaSl9KTtcblxuICAgICZbY29sb3I9JyN7JG5hbWV9J10gaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jb2xvcmVkLWJveCgkY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCgpO1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkOmNoZWNrZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZCgpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNvbG9yZWQtYm94LWZvY3VzKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkLWJveCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQtYm94LWZvY3VzKCRjb2xvcikge1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuLy8gQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBjaGVjayB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDhweDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDRweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjaGVja2luZGV0ZXJtaW5hdGUge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB3aWR0aDogMTBweDtcbiAgfVxufVxuIiwiLyoqXG4gKiBSYWRpbyBNaXhpbnMuXG4gKi9cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4vLyBVbmNoZWNrZWRcbkBtaXhpbiByYWRpby11bmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1yYWRpby1ib3JkZXItcmFkaXVzKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDNweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gIHdpZHRoOiAxNHB4O1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1yYWRpby1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLXJhZGlvLWJvcmRlci1yYWRpdXMpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiA2cHg7XG4gIHRvcDogNnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgd2lkdGg6IDA7XG59XG5cbkBtaXhpbiByYWRpby11bmNoZWNrZWQtZXJyb3ItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG59XG5cbkBtaXhpbiByYWRpby11bmNoZWNrZWQtZXJyb3ItbGFiZWwtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG59XG5cbi8vIENoZWNrZWRcbkBtaXhpbiByYWRpby1jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItc2VsZWN0ZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tY2hlY2tlZC1hZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1yYWRpby1pbm5lci1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8taW5uZXItY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogM3B4O1xuICB0b3A6IDNweDtcbiAgd2lkdGg6IDRweDtcbn1cblxuLy8gRGlzYWJsZWRcbkBtaXhpbiByYWRpby1kaXNhYmxlZC11bmNoZWNrZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yLWxhYmVsLXRleHQge1xuICBjb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJvcmRlci1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXRleHQge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuLy8gRm9jdXNcbkBtaXhpbiByYWRpby1mb2N1cyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1yYWRpby1zaGFkb3cpO1xufVxuXG5AbWl4aW4gcmFkaW8tZm9jdXMtbm90LWhpZGUtZm9jdXMge1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtcmFkaW8tc2hhZG93LWZvY3VzKTtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5AaW1wb3J0ICcuL2lkcy1kYXRhLWdyaWQtY29tbW9uJztcbkBpbXBvcnQgJy4vaWRzLWRhdGEtZ3JpZC1maWx0ZXJzJztcbkBpbXBvcnQgJy4vaWRzLWRhdGEtZ3JpZC1oZWFkZXInO1xuQGltcG9ydCAnLi9pZHMtZGF0YS1ncmlkLXJvdyc7XG5AaW1wb3J0ICcuL2lkcy1kYXRhLWdyaWQtY2VsbCc7XG5AaW1wb3J0ICcuLi8uLi9jb21wb25lbnRzL2lkcy1wb3B1cC1tZW51L2lkcy1wb3B1cC1tZW51JztcbkBpbXBvcnQgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluJztcbkBpbXBvcnQgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXJhZGlvLW1peGluJztcblxuOmhvc3Qge1xuICAtLWlkcy1kYXRhLWdyaWQtY29sdW1uLXdpZHRoczogcmVwZWF0KDEsIG1pbm1heCgxMTBweCwgMWZyKSk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaWRzLWRhdGEtZ3JpZCB7XG4gIC8vIE91dHNpZGUgYm9yZGVyIGFuZCBCYWNrZ3JvdW5kIGFuZCBzaXppbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLTJ4cyk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBOZWVkZWQgc28gc3RpY2t5IGhlYWRlciB3b3JrcyBpbiBzYWZhcmlcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLy8gRm9udCBJbmZvXG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG5cbiAgLy8gU2VsZWN0aW9uIENoZWNrYm94XG4gIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDaGVja2JveCBhbGlnbm1lbnRzXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuYWxpZ24tbGVmdCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1jb250YWluZXIsXG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5hbGlnbi1jZW50ZXIge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmFsaWduLXJpZ2h0IHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIGNoZWNrYm94LXVuY2hlY2tlZCgpO1xuXG4gICAgJi5lZGl0YWJsZSB7XG4gICAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY2hlY2tib3gtY29sb3ItYm9yZGVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcblxuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICYuY2hlY2tlZCB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1jaGVja2VkKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY2hlY2tlZC1hZnRlcigpO1xuXG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmluZGV0ZXJtaW5hdGUge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIoKTtcblxuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VsZWN0aW9uIFJhZGlvXG4gIC5pZHMtZGF0YS1ncmlkLXJhZGlvLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLXJhZGlvIHtcbiAgICBAaW5jbHVkZSByYWRpby11bmNoZWNrZWQoKTtcblxuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcmFkaW8tdW5jaGVja2VkLWFmdGVyKCk7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSByYWRpby1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICB9XG5cbiAgICAmLmNoZWNrZWQge1xuICAgICAgQGluY2x1ZGUgcmFkaW8tY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGlvLWNoZWNrZWQtYWZ0ZXIoKTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGlvLWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUcmVlIEdyaWRcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCAuaWRzLWRhdGEtZ3JpZC10cmVlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBpZHMtYnV0dG9uICsgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIgLnRleHQtZWxsaXBzaXMge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1idXR0b24ge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgaWRzLWJ1dHRvbi5leHBhbmQtYnV0dG9uIHtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLXByZXNzZWQ6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLXByZXNzZWQ6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgaWRzLWh5cGVybGluayB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBNYXBzIHVzZWQgZm9yIGFsdGVyaW5nIGFsaWdubWVudHMgb2YgZWRpdGFibGUgZ3JpZCBjZWxscyBpbiBkaWZmZXJlbnQgc2NlbmFyaW9zLlxuICAvLyBUaGVzZSBydWxlcyBhcmUgYmFzZWQgb24gcm93LWhlaWdodCwgd2hpY2ggaXMgZGVmaW5lZCBhdCB0aGUgYC5pZHMtZGF0YS1ncmlkYCBlbGVtZW50IGxldmVsLlxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICRyb3ctaGVpZ2h0LWlubGluZS10cmVlLWdyaWQtYnV0dG9uLXdpZHRoczogKFxuICAgICd4eHMnOiAzMCxcbiAgICAneHMnOiAzMixcbiAgICAnc20nOiAzNCxcbiAgICAnbWQnOiA0MCxcbiAgICAnbGcnOiA0MFxuICApO1xuXG4gICRyb3ctaGVpZ2h0LXBhZGRpbmctb2Zmc2V0czogKFxuICAgICd4eHMnOiAxMixcbiAgICAneHMnOiAxMCxcbiAgICAnc20nOiA4LFxuICAgICdtZCc6IDMsXG4gICAgJ2xnJzogM1xuICApO1xuXG4gICRyb3ctaGVpZ2h0LWRpcnR5LWluZGljYXRvci1vZmZzZXRzOiAoXG4gICAgJ3h4cyc6IDEsXG4gICAgJ3hzJzogMSxcbiAgICAnc20nOiAxLFxuICAgICdtZCc6IDIsXG4gICAgJ2xnJzogMlxuICApO1xuXG4gICRyb3ctaGVpZ2h0LWlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0czogKFxuICAgICd4eHMnOiAzLFxuICAgICd4cyc6IDQsXG4gICAgJ3NtJzogNSxcbiAgICAnbWQnOiA2LFxuICAgICdsZyc6IDZcbiAgKTtcblxuICAkcm93LWhlaWdodC1pbmRlbnRzOiAoXG4gICAgJ3h4cyc6IDEyLFxuICAgICd4cyc6IDEzLFxuICAgICdzbSc6IDE1LFxuICAgICdtZCc6IDE3LFxuICAgICdsZyc6IDE3XG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtb3V0bGluZS1wYWRkaW5nOiAoXG4gICAgJ3h4cyc6IDEsXG4gICAgJ3hzJzogMixcbiAgICAnc20nOiAzLFxuICAgICdtZCc6IDQsXG4gICAgJ2xnJzogNFxuICApO1xuXG4gICRyb3ctaGVpZ2h0LW91dGxpbmUtb2Zmc2V0czogKFxuICAgICd4eHMnOiAxLFxuICAgICd4cyc6IDIsXG4gICAgJ3NtJzogNSxcbiAgICAnbWQnOiA4LFxuICAgICdsZyc6IDEyXG4gICk7XG5cbiAgQGVhY2ggJHJvd0hlaWdodCwgJG9mZnNldCBpbiAkcm93LWhlaWdodC1wYWRkaW5nLW9mZnNldHMge1xuICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgZGlmZmVyZW50IGZvciBlYWNoIFJvdyBIZWlnaHRcbiAgICAkYnV0dG9uLXdpZHRoOiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LWlubGluZS10cmVlLWdyaWQtYnV0dG9uLXdpZHRocywgJHJvd0hlaWdodCk7XG4gICAgJGluZGVudDogbWFwLmdldCgkcm93LWhlaWdodC1pbmRlbnRzLCAkcm93SGVpZ2h0KTtcbiAgICAkZGlydHktaW5kaWNhdG9yLW9mZnNldDogbWFwLmdldCgkcm93LWhlaWdodC1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0cywgJHJvd0hlaWdodCk7XG4gICAgJGlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0OiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LWlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0cywgJHJvd0hlaWdodCk7XG4gICAgJG91dGxpbmUtb2Zmc2V0OiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LW91dGxpbmUtb2Zmc2V0cywgJHJvd0hlaWdodCk7XG4gICAgJG91dGxpbmUtcGFkZGluZzogbWFwLmdldCgkcm93LWhlaWdodC1vdXRsaW5lLXBhZGRpbmcsICRyb3dIZWlnaHQpO1xuXG4gICAgJltkYXRhLXJvdy1oZWlnaHQ9JyN7JHJvd0hlaWdodH0nXSB7XG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIFRvcC1sZXZlbCBncmlkIGFsaWdubWVudHMgdGhhdCBkZXBlbmQgc29sZWx5IG9uIHJvdyBoZWlnaHRcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmLmlzLWRpcnR5IHtcbiAgICAgICAgICAmOm5vdCguaXMtaW5saW5lKSB7XG4gICAgICAgICAgICAmLmZvcm1hdHRlci10ZXh0IHtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogI3skZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRkaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5pcy1pbmxpbmUge1xuICAgICAgICAgICAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6ICN7JGlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTTMgcmVxdWlyZW1lbnQgdG8gbm90IGFmZmVjdCBzcGVjaWZpYyBjZWxscyBieSByZWFkb25seSBmbGFnIChodHRwczovL2luZm9yLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0lEUy04ODc0KVxuICAgICAgICAgJi5pcy1yZWFkb25seS5leGNsdWRlLXJlYWRvbmx5LXN0eWxlIHtcbiAgICAgICAgICAmOm5vdCguZm9ybWF0dGVyLXRyZWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG91dGxpbmUtcGFkZGluZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmaW5lcyB0aGUgcG9zaXRpb24gb2YgdGhlIFwiaW5saW5lLWVkaXRcIiBzdHlsZSdzIG91dGxpbmVcbiAgICAgICAgJi5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgICAgICAgICY6bm90KC5mb3JtYXR0ZXItdHJlZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgaWRzLWRhdGEtZ3JpZC1pbmxpbmUtZWRpdGFibGUtb3V0bGluZSgkb3V0bGluZS1wYWRkaW5nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZvcm1hdHRlci10cmVlIHtcbiAgICAgICAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaWRzLWRhdGEtZ3JpZC1pbmxpbmUtZWRpdGFibGUtb3V0bGluZSgkb3V0bGluZS1wYWRkaW5nKTtcblxuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skb3V0bGluZS1vZmZzZXQgKyA0fXB4KTtcblxuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0jeyRvdXRsaW5lLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgc3RhcnQgcGFkZGluZyBmcm9tIHRyZWUtZ3JpZC1jb250YWluZWQgYC50ZXh0LWVsbGlwc2lzYCBlbGVtZW50c1xuICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIEV4cGFuZGFibGUgZ3JpZC90cmVlIGdyaWQgbmVzdGVkIGFsaWdubWVudCBydWxlc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA4IHtcbiAgICAgICAgW2FyaWEtbGV2ZWw9JyN7JGl9J10gLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRidXR0b24td2lkdGh9cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlkcy1idXR0b24ge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlkcy1idXR0b24gKyAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skYnV0dG9uLXdpZHRoICsgKCRpbmRlbnQgKiAoJGkgLSAxKSkgKyAoJG9mZnNldCl9cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlkcy1idXR0b24ge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeygkaW5kZW50ICogKCRpIC0gMSkpICsgJG9mZnNldH1weDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWRzLWJ1dHRvbiArIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIC8vIERpcnR5LXRyYWNrZXIgcnVsZXMgZGVwZW5kZW50IG9uIGBhcmlhLWxldmVsYCBuZXN0aW5nXG4gICAgICAgICAgJi5pcy1kaXJ0eSB7XG4gICAgICAgICAgICAmLmlzLWlubGluZSB7XG4gICAgICAgICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpc3QgU3R5bGUgRmVhdHVyZVxuICAmLmlzLWxpc3Qtc3R5bGUge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgfVxuXG4gIC8vIFVzZWQgZm9yIHJvdyBzdGFydFxuICAmLndhaXRpbmctbG9hZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1ib2R5IHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgRnJvemVuIENvbHVtbnNcbi5pZHMtZGF0YS1ncmlkLWJvZHkge1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vLyBTdGFuZGFsb25lIENzcyBCb3JkZXJzXG50YWJsZS5pZHMtZGF0YS1ncmlkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8vIEVtcHR5IE1lc3NhZ2Vcbi5pZHMtZGF0YS1ncmlkLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmlkcy1kYXRhLWdyaWQtdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDZweCB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgfVxufVxuXG5pZHMtZW1wdHktbWVzc2FnZTpub3QoW2hpZGRlbl0pLFxuOjpzbG90dGVkKGlkcy1lbXB0eS1tZXNzYWdlOm5vdChbaGlkZGVuXSkpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xufVxuXG4vLyBBZGp1c3QgZm9yIGZpbHRlciByb3dcbmlkcy1lbXB0eS1tZXNzYWdlLmhhcy1maWx0ZXItcm93Om5vdChbaGlkZGVuXSkge1xuICAmLmZpbHRlci1yb3ctc2l6ZS14eHMge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMjRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLXhzIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDM0cHg7XG4gIH1cblxuICAmLmZpbHRlci1yb3ctc2l6ZS1zbSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzNHB4O1xuICB9XG5cbiAgJi5maWx0ZXItcm93LXNpemUtbWQge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMzRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLWxnIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDI2cHg7XG4gIH1cblxuICAmLmhhcy1wYWdlciB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxNHB4O1xuICB9XG59XG5cbjo6c2xvdHRlZChpZHMtZW1wdHktbWVzc2FnZS5oYXMtZmlsdGVyLXJvdzpub3QoW2hpZGRlbl0pKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMTRweDtcbn1cblxuLmhhcy1lbXB0eS1tZXNzYWdlIC5pZHMtZGF0YS1ncmlkIHtcbiAgbWluLWhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWlnaHQtbWluKTtcbn1cblxuLy8gTG9hZGluZyBJbmRpY2F0b3Jcbmlkcy1sb2FkaW5nLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICZbc3RvcHBlZF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOm5vdChbZGlzYWJsZS1yb3ctaGlnaGxpZ2h0XSkpIGlkcy1kYXRhLWdyaWQtcm93OmhvdmVyOm5vdChbcGFydCo9J3Jvdy0nXSk6bm90KC5zZWxlY3RlZCkge1xuICBpZHMtZGF0YS1ncmlkLWNlbGwsXG4gIGlkcy1kYXRhLWdyaWQtY2VsbC5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxuXG4gIGlkcy1kYXRhLWdyaWQtY2VsbC5pcy1pbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1lcnJvci1ob3Zlcik7XG4gIH1cbn1cblxuI2RhdGFncmlkLW1vZGFsIHtcbiAgLS1pZHMtbW9kYWwtY29udGVudC1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIC0taWRzLW1vZGFsLWhlYWRlci1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utc20pIHZhcigtLWlkcy1zcGFjZS1zbSkgdmFyKC0taWRzLXNwYWNlLXhzKSB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAtLWlkcy1wb3B1cC1maXQtaGVpZ2h0OiA0MDBweDtcblxuICBpZHMtc3dhcHBhYmxlLWl0ZW0ge1xuICAgIC0taWRzLXN3YXBwYWJsZS1pdGVtLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtYmx1ZS13ZWFrZXN0KTtcbiAgICAtLWlkcy1zd2FwcGFibGUtaXRlbS1jb2xvci10ZXh0LXNlbGVjdGVkOiB2YXIoLS1pZHMtY29sb3ItZm9yZWdyb3VuZC1kZWZhdWx0LWRlZmF1bHQpO1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtbW9kYWwtcm93LWhlaWdodCk7XG4gIH1cblxuICAjZGF0YWdyaWQtbW9kYWwtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLTA0KSAqIC0xKTtcbiAgfVxuXG4gIGlkcy1zZWFyY2gtZmllbGQge1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWtlc3QpO1xuICAgIC0taWRzLXNlYXJjaC1maWVsZC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrZXN0KTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGVmYXVsdDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3c6IG5vbmU7XG4gICAgLS1pZHMtc2VhcmNoLWZpZWxkLWJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuICAgIC0taWRzLXNlYXJjaC1maWVsZC1ib3JkZXItd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtc20pIHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLTA4KSAqIC0xKTtcbiAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIGlkcy10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGlkcy1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgaWRzLXN3YXBwYWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZGF0YWdyaWQtbW9kYWwtY29sdW1uLWxpc3Qge1xuICAgIC0taWRzLW1vZGFsLWNvbHVtbi1saXN0LWhlaWdodDogY2FsYygxMDAlIC0gMTRweCk7XG5cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbW9kYWwtY29sdW1uLWxpc3QtaGVpZ2h0KTtcbiAgfVxuXG59XG4iLCIvLyBCcmVha3BvaW50cyAtIHRoaXMgY2FudCBiZSB0b2tlbnNcbiRicmVha3BvaW50LXh4bDogMTQ0MHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC1tZDogODQwcHg7XG4kYnJlYWtwb2ludC1zbTogNjAwcHg7XG4kYnJlYWtwb2ludC14czogMzIwcHg7XG5cbi8vIFNldHMgVGV4dCBBbnRpYWxpYXNpbmdcbkBtaXhpbiBhbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4kdHJhbnNpdGlvbi1sZW5ndGg6IHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pO1xuJHRyYW5zaXRpb24tZWFzZTogdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcblxuLy8gdmVuZG9yIHByZWZpeGVkIHRyYW5zaXRpb25zIGZvciByZWd1bGFyIGF0dHJpYnV0ZXMgKG5vbi12ZW5kb3IgcHJlZml4ZWQpXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMtbGlzdC4uLikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9ucy1saXN0O1xuICB9XG59XG5cbi8vIG1ha2UgdGhlIHRleHQgaW52aXNpYmxlIHZpc3VhbGx5IGJ1dCByZWFkYWJsZSBieSBzY3JlZW4gcmVhZGVyc1xuQG1peGluIGF1ZGlibGUoKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQ2FsY3VsYXRlIHNpemUgaW5jbHVkaW5nIGJvcmRlcnMgKG5vdCBleGNsdWRpbmcpXG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59Il19 */`;
76286
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3Jvb3QvZW50ZXJwcmlzZS9zcmMvY29tcG9uZW50cy9pZHMtZGF0YS1ncmlkIiwic291cmNlcyI6WyJpZHMtZGF0YS1ncmlkLWZpbHRlcnMuc2NzcyIsImlkcy1kYXRhLWdyaWQtaGVhZGVyLnNjc3MiLCJpZHMtZGF0YS1ncmlkLXJvdy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jZWxsLnNjc3MiLCJpZHMtZGF0YS1ncmlkLWNvbW1vbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtaGlkZS1taXhpbi5zY3NzIiwiLi4vaWRzLXBvcHVwLW1lbnUvaWRzLXBvcHVwLW1lbnUuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1yYWRpby1taXhpbi5zY3NzIiwiaWRzLWRhdGEtZ3JpZC5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBRUE7O0FBR0Y7RUFJRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBTUE7QUFBQTtBQUFBO0VBR0U7O0FBS047RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUMxRU47QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQU9BOztBQUxBO0VBQ0U7OztBQVFKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7O0FBR0Y7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTs7O0FBS047RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLQTtBQUFBO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFNRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0E7RUFDRTs7QUFJSjtBQUFBO0VBRUU7O0FBS0E7RUFDRTs7O0FBTU47RUFDRTs7O0FBTUU7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7OztBQzlmVjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTs7QUFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0U7O0FBR0U7RUFLRTtFQUNBOztBQUxBO0VBQ0k7O0FBU1Y7RUFDRTs7QUFHRTtFQUtFO0VBQ0E7O0FBTEE7RUFDRTs7QUFTUjtFQUNFOztBQUdFO0VBS0U7RUFDQTs7QUFMQTtFQUNFOzs7QUFXVjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7OztBQVFBO0VBQ0U7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7O0FBTUE7RUFDRTtFQUNBOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFNTjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFLQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBRUU7OztBQVNNO0VBQ0k7O0FBU0o7RUFDSTs7QUFTSjtFQUNJOzs7QUN6UmQ7QUFDQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLRTtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7O0FBS047RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFNRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0o7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQU9BO0VBQ0U7RUFDQTtFQUNBOztBQU1BO0VBQ0U7O0FBTUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBR0U7O0FBRUE7RUFDRTs7QUFNRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBS047RUFDRTs7QUFNQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVRBO0VBQ0U7O0FBWUo7RUFHRTs7QUFHRjtFQUNFOztBQUtBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRTs7QUFJRjtFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFOztBQUtKO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUlFO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQ3RWQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEb1ZJO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VDcFdOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrV0U7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFpQk07RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOzs7QUFhUjtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUlGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBRUE7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFXRjtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUtKO0VBQ0U7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOzs7QUFXRjtFQUNFOztBQUlKO0VBQ0U7O0FBSUY7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOzs7QUFXRjtFQUNFOztBQUtKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFLRjtFQUNFOzs7QUFXRjtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRTtFQUNFOztBQU1GO0VBQ0U7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFOztBQUlBO0VBRUU7OztBQU9SO0VBQ0U7OztBRWx1QkY7RUFDRTs7O0FBSUE7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBV0Y7RUFERjtJQUVJOzs7QUFXRjtFQURGO0lBRUk7OztBQVdGO0VBREY7SUFFSTs7O0FBL0JGO0VDNUdGO0lENkdJOzs7O0FDeEdGO0VBQ0U7RUFDQTs7O0FDVEo7QUFBQTtBQUFBO0FBb0lBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUNqS0o7QUFBQTtBQUFBO0FDV0E7RUFDRTtFQUVBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQ25CQTtFQUNBO0VEdUJBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUVFOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFRnhEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRXlERTtFQUNBO0VBQ0E7RUFDQTs7QUFQQTtFQUNFOztBQVFGO0VGYkY7RUFDQTtFQUNBO0VFY0k7O0FBR0Y7RUYzREY7RUFDQTs7QUU2REk7RUZ6REo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRWtETTs7QUFHRjtFRmxCSjtFQUNBOztBRXNCRTtFRnJERjtFQUNBOztBRXVESTtFRm5ESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFNENNOztBQU1OO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VEMUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNzR0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUR2R0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDa0dFO0VEckVGO0VBQ0E7RUFDQTtFQUNBOztBQ3NFRTtFRHpGRjtFQUNBOztBQzJGSTtFRHZGSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNxRkk7RURqRUo7RUFDQTtFQUNBOztBQ3NFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQStFVTtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQXJGRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VMNVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS3dRTTtFTG5SUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUs2UVE7RUx4UlY7RUsyUlk7O0FMelJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBS2tSVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQVVkO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQU1OO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBS0Y7QUFBQTtFQUVFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFFQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyogSWRzIERhdGEgR3JpZCBDb21wb25lbnQgLSBGaWx0ZXIgKi9cbi5pZHMtZGF0YS1ncmlkIHtcbiAgLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3IpO1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1ob3ZlcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIC0taWRzLW1lbnUtaXRlbS13aWR0aC1taW46IDE5MHB4O1xuICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIgaWRzLWRyb3Bkb3duIHtcbiAgICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IC0xcHg7XG5cbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J21kJ10gaWRzLWRyb3Bkb3duLFxuICAmW2RhdGEtcm93LWhlaWdodD0nc20nXSBpZHMtZHJvcGRvd24sXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIGlkcy1kcm9wZG93bixcbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIGlkcy1kcm9wZG93biB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICA6OnNsb3R0ZWQoW3Nsb3RePSdmaWx0ZXItJ10pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taWRzLXNwYWNlLXNtKSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGlkcy1kcm9wZG93bltjb21wYWN0XSBpZHMtbGlzdC1ib3gtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogdW5zZXQ7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtc2l6ZS0yMCk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuaXMtdXBwZXJjYXNlIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICBpZHMtbGlzdC1ib3gtb3B0aW9uLFxuICAgICAgaWRzLWRyb3Bkb3duOjpwYXJ0KHRyaWdnZXJmaWVsZC1pbnB1dCksXG4gICAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS1maWx0ZXItY29uZGl0aW9ucy1idXR0b25dIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LWhlaWdodDogMjBweDtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LXdpZHRoOiAzNnB4O1xuXG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDJweDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0ycHg7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcblxuICAgIGlkcy1pY29uIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDNweDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtM3B4O1xuICAgIH1cblxuICAgIGlkcy1pY29uLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gSGVhZGVyICovXG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgei1pbmRleDogMTsgLy8gSGlnaGVyIHRoYW4gYm9keSBjb2x1bW5zOyB6LWluZGV4IGhpZ2hlciB0aGFuIDIgd2lsbCBicmVhayBpZHMtbG9hZGluZy1pbmRpY2F0b3IncyBvdmVybGF5XG5cbiAgJi5pcy1mcm96ZW4ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvLyBGaWx0ZXIgYnV0dG9uIGhlaWdodFxuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemU6IDI4cHg7XG59XG5cbi8vIEhlYWRlciBDaGVja2JveFxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJltkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveFtkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1vcGFjaXR5LWRpc2FibGVkKTtcbiAgfVxuXG5cbiAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3g6bm90KC5jaGVja2VkKTpub3QoLmluZGV0ZXJtaW5hdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJvcmRlcik7XG4gIH1cbn1cblxuLy8gSGVhZGVyIENlbGwgQXJlYVxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gIG1pbi1oZWlnaHQ6IDI4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBIaWRlIGZpcnN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgJjpob3Zlci5pcy1hY3Rpb25hYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxuXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQsXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCxcbiAgJi5hbGlnbi1yaWdodCAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLXNvcnRhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1sZyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgIGlkcy1tZW51LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNpemluZyBDZWxsc1xuICAucmVzaXplciB7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXJlc2l6ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB3aWR0aDogNnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAucmVvcmRlcmVyIHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItbW92ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMzRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgaWRzLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24pO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5yZW9yZGVyZXIge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDVweDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgLnJlc2l6ZXIge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIDZweCk7IC8vIFByZXZlbnRzIHVubmVlZGVkIHNjcm9sbGJhclxuICB9XG5cbiAgJi5kcmFnZ2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50OyAvLyB0aGlzIGltcG9ydGFudCBpcyBuZWVkZWQgZm9yIGRyYWcgc3R5bGVzIHRvIHdvcmtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IDExMHB4O1xuICB9XG5cbiAgJi5hY3RpdmUtZHJhZy1jb2x1bW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdC1wbGFjZWhvbGRlci1kcmFnZ2luZyk7XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5yZW9yZGVyZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAmLmZyb3plbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBDaGFuZ2UgYm9yZGVycyBmb3IgZnJvemVuIGNvbHVtbiBzY3JvbGxpbmdcbiAgJi5mcm96ZW4tbGFzdCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1ib3JkZXIpO1xuXG4gICAgKyAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLWxlZnQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBEeW5hbWljYWxseSBhZGRlZCB3aWR0aHNcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgbGVmdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAvLyBXaWVyZCBjZW50ZXJpbmcgYnVnIChmcm96ZW4gcmlnaHQpXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWxnLXBhZGRpbmcpO1xuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG59XG5cbi8vIEhlYWRlciBzb3J0IHN0eWxlc1xuLnNvcnQtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiB2YXIoLS1pZHMtc3BhY2UtbGcpO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gIHdpZHRoOiAxOHB4O1xufVxuXG4vLyBTb3J0IEhvdmVyIHN0YXRlc1xuLmlzLXNvcnRhYmxlIHtcbiAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSAwcztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItZXhwYW5kZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtaGVpZ2h0OiAxOHB4O1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1leHBhbmRlci1jb2xvcik7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWV4cGFuZGVyLWNvbG9yLWFjdGl2ZSk7XG4gIH1cbn1cblxuW2RhdGEtcm93LWhlaWdodD0neHhzJ10gLmhlYWRlci1leHBhbmRlciB7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG59XG5cbjpob3N0KFtzaG93LWhlYWRlci1leHBhbmRlcl0pIC5oZWFkZXItZXhwYW5kZXIsXG4uY29sdW1uLWhlYWRlci1leHBhbmRlciAuaGVhZGVyLWV4cGFuZGVyIHtcbiAgZGlzcGxheTogdW5zZXQ7XG59XG5cbi5oYXMtc2VsZWN0aW9uY2hlY2tib3ggLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbn1cblxuLmlzLXNvcnRhYmxlLFxuLmhhcy1oZWFkZXJpY29uIHtcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG59XG5cbi8vIEFzY2VuZGluZyBzb3J0XG5bYXJpYS1zb3J0PSdhc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tc29ydGVkKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIERlc2NlbmRpbmcgc29ydFxuW2FyaWEtc29ydD0nZGVzY2VuZGluZyddIC5pcy1zb3J0YWJsZSAuc29ydC1pbmRpY2F0b3IgaWRzLWljb24ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi1zb3J0ZWQpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gRHJhZyBhcnJvd3MgZm9yIHNvcnRpbmdcbi5pZHMtZGF0YS1ncmlkLXNvcnQtYXJyb3dzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1hcnJvdy1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB0b3A6IC02cHg7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWRyYWctYXJyb3ctY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm90dG9tOiAtOXB4O1xuICB9XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ci5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuXG50aC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgLy8gQ2hhbmdlIEhlYWRlciBDb2xvclxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci10ZXh0KTtcbiAgfVxuXG4gIC8vIENoYW5nZSBTb3J0IEljb24gQ29sb3JzXG4gIC5pcy1zb3J0YWJsZSB7XG4gICAgaWRzLWljb24ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tdW5zb3J0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIFthcmlhLXNvcnQ9J2Rlc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgaWRzLWljb246bGFzdC1jaGlsZCxcbiAgW2FyaWEtc29ydD0nYXNjZW5kaW5nJ10gLmlzLXNvcnRhYmxlIGlkcy1pY29uOmZpcnN0LWNoaWxkICB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZClcbiAgfVxuXG4gIC8vIENoYW5nZSBIZWFkZXIgQ2hlY2tib3hcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveDpub3QoLmNoZWNrZWQpOm5vdCguaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIGZvciBGcm96ZW4gQ29sdW1uc1xuLmlkcy1kYXRhLWdyaWQtYm9keSB7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8vIEFkanVzdCBmb3IgUm93IEhlaWdodHMgKGxhcmdlIGlzIGRlZmF1bHQpXG4uaWRzLWRhdGEtZ3JpZCB7XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1tZC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIGlkcy1pY29uIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTExcHg7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC04cHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuYWxpZ24tcmlnaHQgLnJlb3JkZXJlciB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXNtLXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC5yZW9yZGVyZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTRweDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHMnXSB7XG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZzogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXIteHMtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnJlb3JkZXJlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0zcHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXh4cy1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTFweDtcbiAgICAgIGhlaWdodDogMjJweDtcblxuICAgICAgPiBpZHMtaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuXG4gICAgICBpZHMtaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ24tcmlnaHQgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogM3B4O1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBBZGp1c3RtZW50c1xuICAgIGlkcy1pbnB1dCxcbiAgICBpZHMtdHJpZ2dlci1maWVsZCxcbiAgICBpZHMtZHJvcGRvd24ge1xuICAgICAgLS1pZHMtaW5wdXQtaGVpZ2h0LTEwOiAyNHB4O1xuICAgIH1cblxuICAgIGlkcy1kcm9wZG93biB7XG4gICAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1pbnB1dC1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpICsgMnB4KTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKSArIDJweCk7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyAtIDFweCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhhbmRsZSBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC8vIE5lZ2F0ZSByaWdodCBhbGlnbm1lbnRcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuXG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gUm93cyAqL1xuLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbHVtbi13aWR0aHMpOyAvLyBGaWxsZWQgaW4gZHluYW1pY2FsbHlcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5zZWxlY3RlZDpub3QoLm1peGVkKSAuaWRzLWRhdGEtZ3JpZC1jZWxsLFxuICAmLmFjdGl2YXRlZCAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgfVxuXG4gICZbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbcGFydCo9J3Jvdy0nXSB7XG4gICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbcGFydD0ncm93LW5ldyddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLW5ldyk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtbmV3KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LXN0YXRlcy1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltwYXJ0PSdyb3ctZXJyb3InXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdyb3VwZWQgUm93c1xuLmlkcy1kYXRhLWdyaWQtcm93LmlzLWdyb3VwLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1ncm91cGVkLWNvbG9yLXRleHQsIHJlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtZm9udC13ZWlnaHQsIDYwMCk7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyOiB0cmFuc3BhcmVudDtcblxuICAgIHBhZGRpbmc6IDAgMnB4O1xuICB9XG59XG5cbi8vIFJvdyBIZWlnaHQgRmVhdHVyZSB3aXRoIEZvcm1hdHRlcnMgc3BhY2luZ1xuLmlkcy1kYXRhLWdyaWQge1xuICAvLyBMYXJnZSBieSBkZWZhdWx0XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LW1kKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLW1kKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgfVxuXG4gICAgICBpZHMtaHlwZXJsaW5rIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgfVxuXG4gICAgICBpZHMtaHlwZXJsaW5rIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXhzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB9XG5cbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cyk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICB9XG5cbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBPbiAneHhzJyByb3cgaGVpZ2h0LCBpbmxpbmUtZWRpdGFibGUgY2VsbHMgaGF2ZSBhIHNsaWdodGx5IHdpZGVyXG4gICAgICAvLyBwYWRkaW5nIGFwcGVhcmFuY2UgdG8gYWNjb21tb2RhdGUgdGhlIGlubGluZSBkaXNwbGF5XG4gICAgICAmLmlzLWlubGluZSB7XG4gICAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOm5vdCguYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50Om5vdCgudmVydGljYWwtYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSb3cgQWx0ZXJuYXRlIFJvdyBTZXR0aW5nIEZlYXR1cmVcbi5pZHMtZGF0YS1ncmlkLmFsdC1yb3ctc2hhZGluZyBpZHMtZGF0YS1ncmlkLXJvdzpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1hbHRlcm5hdGluZy1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLy8gRXhwYW5kYWJsZSBSb3dcbi5pZHMtZGF0YS1ncmlkLWV4cGFuZGFibGUtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xufVxuXG4vLyBTdGFuZGFsb25lIENzc1xudHIuaWRzLWRhdGEtZ3JpZC1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LWxnKTtcbn1cblxuLy8gUm93IE5hdmlnYXRpb24gU3R5bGVzXG4uaWRzLWRhdGEtZ3JpZC5yb3ctbmF2aWdhdGlvbiAuaWRzLWRhdGEtZ3JpZC1yb3cge1xuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LXNoYWRvdy1mb2N1cyk7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIGh5cGVybGlua3MgaW4gcm93LW5hdmlnYXRpb24gbW9kZSBjYW5ub3QgYmUgZGlyZWN0bHkgY2xpY2tlZFxuICBpZHMtaHlwZXJsaW5rLFxuICAuaWRzLWh5cGVybGluayB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFweCk7XG4gIH1cbn1cblxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgICAmW3BhcnQ9J3Jvdy1uZXcnXSB7XG4gICAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1lcnJvciddIHtcbiAgICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1lcnJvcikgdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gQ2VsbHMgKi9cbmlkcy1kYXRhLWdyaWQtY2VsbFtjb2x1bW4tb25zY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW4tbGVmdF0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5pZHMtZGF0YS1ncmlkLWNlbGxbY29sdW1uLW9mZnNjcmVlbi1yaWdodF0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pZHMtZGF0YS1ncmlkLXJvdzpub3QoLnNlbGVjdGVkKTpub3QoW3BhcnQqPSdyb3ctJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICYuZnJvemVuLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5mcm96ZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAvLyBCb3JkZXIgYW5kIEJhY2tncm91bmQgYW5kIFNpemluZ1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gSGlkZSBmaXJzdC9sYXN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgLy8gUmVzZXQgYmFkZ2UgbWFyZ2luIHRvIGNlbnRlciBpdCB2ZXJ0aWNhbGx5XG4gIGlkcy1iYWRnZTo6cGFydChiYWRnZSkge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgaWRzLWJhZGdlIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gIH1cblxuICAvLyBTbyB0aGUgY29sb3IgaXMgdGhlIHNhbWUgYXMgdGhlIGVkaXRvclxuICBpZHMtaWNvbltpY29uPSdkcm9wZG93biddIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLXRyaWdnZXItZmllbGQtaWNvbi1jb2xvcilcbiAgfVxuXG4gIGlkcy1oeXBlcmxpbmsge1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogLW1vei1hdmFpbGFibGU7XG4gICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgd2lkdGg6IGZpbGwtYXZhaWxhYmxlO1xuICB9XG5cbiAgLnRleHQtZWxsaXBzaXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC8vIFRleHQgQWxpZ25tZW50XG4gIGlkcy1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXh0IEFsaWdubWVudFxuICAmLmFsaWduLWNlbnRlciB7XG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKSBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1pbnB1dCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBSZWFkb25seSBhbmQgZGlzYWJsZWQgQ2VsbHNcbiAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gRm9jdXMgU3RhdGVcbiAgJjpmb2N1cyxcbiAgJi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKTpmb2N1cy13aXRoaW4sXG4gICYuaXMtZm9jdXNlZCB7XG4gICAgJjpub3QoLnNlbGVjdGVkKTpub3QoW3RhYmluZGV4PSctMSddKSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtc2hhZG93LTIwKTtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pZHMtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gICYuaXMtZWRpdGFibGUge1xuICAgICYuaXMtcmVhZG9ubHk6bm90KC5leGNsdWRlLXJlYWRvbmx5LXN0eWxlKSB7XG4gICAgICAudGV4dC1lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1pbmxpbmUge1xuICAgICAgJi5mb3JtYXR0ZXItdHJlZSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtY29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDE1cHg7XG5cbiAgICAgICAgJltpY29uPSdkcm9wZG93biddIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbG9va3VwLFxuICAgICYuaXMtZGF0ZXBpY2tlcixcbiAgICAmLmlzLXRpbWVwaWNrZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZGF0ZXBpY2tlcixcbiAgICAmLmlzLXRpbWVwaWNrZXIge1xuICAgICAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMXB4O1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxvb2t1cCB7XG4gICAgICBpZHMtbG9va3VwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgaWRzLWxvb2t1cDo6cGFydChjb250YWluZXIpLFxuICAgICAgaWRzLWxvb2t1cDo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJi5zaG93LWNlbGwtaWNvbi1hbHdheXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZHMtdHJpZ2dlci1idXR0b246OnBhcnQoYnV0dG9uKSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBpcy1ib3JkZXJsZXNzOmhvdmVyXG4gICAgJjpub3QoLmlzLWlubGluZSk6bm90KC5pcy1pbnZhbGlkKTpmb2N1cyxcbiAgICAmOm5vdCguaXMtaW5saW5lKTpub3QoLmlzLWludmFsaWQpOmhvdmVyIHtcbiAgICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaWRzLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYygxMDAlIC0gNDhweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0YWJsZS5pcy1pbnZhbGlkIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgaWRzLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1lZGl0aW5nIGlkcy1jaGVja2JveCB7XG4gICAgLS1pZHMtY2hlY2tib3gtbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzOiAwIDAgMCAycHggdHJhbnNwYXJlbnQsIDAgMCAwIDNweCB0cmFuc3BhcmVudDtcbiAgICAtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXIpO1xuXG4gICAgJltjaGVja2VkXSB7XG4gICAgICAtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICAvLyBFZGl0aW5nIHdpdGggcG9wdXBzXG4gICYuaXMtZWRpdGluZy5pcy1sb29rdXAsXG4gICYuaXMtZWRpdGluZy5pcy1kYXRlcGlja2VyLFxuICAmLmlzLWVkaXRpbmcuaXMtdGltZXBpY2tlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAmLmlzLWVkaXRpbmcuaXMtaW5saW5lIGlkcy1pbnB1dCB7XG4gICAgei1pbmRleDogOTk7XG4gIH1cblxuICAvLyBEcm9wZG93biBFZGl0YWJsZSBDZWxsXG4gICYuaXMtZWRpdGFibGUuaXMtZHJvcGRvd24ge1xuICAgIC5kcm9wZG93bi1jZWxsLXZhbHVlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYuaXMtZWRpdGluZzpub3QoLmlzLWlubGluZSkge1xuICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93biBFZGl0aW5nIElubGluZVxuICAmLmlzLWVkaXRpbmcuaXMtZHJvcGRvd24uaXMtaW5saW5lIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgaWRzLWRyb3Bkb3duIHtcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGV4dCBFZGl0YWJsZSBDZWxsXG4gICYuZm9ybWF0dGVyLXRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gIH1cblxuICAvLyBFZGl0aW5nIFVwcGVyY2FzZVxuICAmLmlzLWVkaXRpbmcuaXMtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgaWRzLWxpc3QtYm94LW9wdGlvbixcbiAgICBpZHMtZHJvcGRvd246OnBhcnQodHJpZ2dlcmZpZWxkLWlucHV0KSxcbiAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gRnJvemVuIENlbGxzXG4gICYuZnJvemVuIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDE7IC8vIHotaW5kZXggaGlnaGVyIHRoYW4gMiB3aWxsIGJyZWFrIGlkcy1sb2FkaW5nLWluZGljYXRvcidzIG92ZXJsYXlcbiAgfVxuXG4gIC8vIENoYW5nZSBib3JkZXJzIGZvciBzY3JvbGxpbmdcbiAgJi5mcm96ZW4tbGFzdCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcblxuICAgICsgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLWxlZnQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxMCB7XG4gICAgICAmOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZnJvemVuLWNvbHVtbi1sZWZ0LXdpZHRoLSN7JGl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZyb3plbi1yaWdodCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICByaWdodDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgJi5pcy1kaXJ0eTo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uO1xuICB9XG5cbiAgJi5pcy1kaXJ0eS5pcy1pbmxpbmUge1xuICAgICYuZm9ybWF0dGVyLXRyZWUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1kcm9wZG93bjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDZweDtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA2cHg7XG4gICAgfVxuXG4gICAgaWRzLWlucHV0IHtcbiAgICAgICY6OnBhcnQoZGlydHktdHJhY2tlci1pY29uKSB7XG4gICAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgLS1pZHMtaWNvbi13aWR0aC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kaXJ0eS5pcy1kcm9wZG93bi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKTo6YmVmb3JlIHtcbiAgICBpbnNldC1ibG9jay1zdGFydDogM3B4O1xuICAgIG1hcmdpbi1pbmxpbmU6IDNweDtcbiAgfVxuXG4gICYuaXMtaW52YWxpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtZXJyb3IpO1xuICB9XG5cbiAgaWRzLWFsZXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtdGFnIHtcbiAgICAtLWlkcy10YWctbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIH1cblxuICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICBtYXJnaW46IHZhcigtLWlkcy1wcm9ncmVzcy1iYXItZ3JpZC1jZWxsLW1hcmdpbik7XG4gIH1cblxuICAmLmlzLWVkaXRpbmcge1xuICAgICRpY29uLXN0eWxlczogKFxuICAgICAgJ3RpbWVwaWNrZXInOiAnY2xvY2snLFxuICAgICAgJ2RhdGVwaWNrZXInOiAnY2FsZW5kYXInXG4gICAgKTtcblxuICAgICRmaWVsZC1oZWlnaHRzOiAoXG4gICAgICAneHMnOiAoLTVweCwgMXB4KSxcbiAgICAgICdzbSc6ICh2YXIoLS1pZHMtc3BhY2UtM3hzKSwgMXB4KVxuICAgICk7XG5cbiAgICBAZWFjaCAkY2xhc3MsICRpY29uIGluICRpY29uLXN0eWxlcyB7XG4gICAgICAmLmlzLSN7JGNsYXNzfSB7XG4gICAgICAgIEBlYWNoICRoZWlnaHQsICR2YWx1ZXMgaW4gJGZpZWxkLWhlaWdodHMge1xuICAgICAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kW2ljb249JyN7JGljb259J11bZmllbGQtaGVpZ2h0PScjeyRoZWlnaHR9J10ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogbnRoKCR2YWx1ZXMsIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICd4eHMnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHk6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDFweDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5LmlzLWlubGluZTo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIGlkcy1iYWRnZSB7XG4gICAgLS1pZHMtYmFkZ2UtZm9udC1saW5lLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKSAtIDhweCk7XG4gIH1cblxuICBpZHMtdGFnIHtcbiAgICAtLWlkcy10YWctaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC14eHMpIC0gNnB4KTtcbiAgfVxuXG4gIGlkcy1pbnB1dCxcbiAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgIC0taWRzLXNwYWNlLTN4czogMDtcbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgfVxuXG4gIGlkcy1pbnB1dCB7XG4gICAgJjo6cGFydChkaXJ0eS10cmFja2VyLWljb24pIHtcbiAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OnBhcnQoaW5wdXQpIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTEwKSAtIDRweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRqdXN0IG5vbiBpbmxpbmUgZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUgLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0aW5nLmlzLWRyb3Bkb3duLmlzLWlubGluZSBpZHMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKSB2YXIoLS1pZHMtc3BhY2UtNHhzKTtcblxuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0YWJsZS5pcy1lZGl0YWJsZS5pcy1pbnZhbGlkIGlkcy1hbGVydCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTR4cyk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ3hzJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXJvdy1oZWlnaHQ9J3hzJ10ge1xuICAuZm9ybWF0dGVyLXByb2dyZXNzIHtcbiAgICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5OjpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1kaXJ0eS5pcy1pbmxpbmU6OmJlZm9yZSB7XG4gICAgbWFyZ2luLWlubGluZTogM3B4O1xuICAgIHRvcDogM3B4O1xuICB9XG5cbiAgaWRzLWJ1dHRvbiB7XG4gICAgLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZzogM3B4O1xuICB9XG5cbiAgaWRzLWJhZGdlIHtcbiAgICAtLWlkcy1iYWRnZS1mb250LWxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC14cykgLSAxMnB4KTtcbiAgfVxuXG4gIGlkcy10YWcge1xuICAgIC0taWRzLXRhZy1oZWlnaHQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cykgLSA0cHgpO1xuICB9XG5cbiAgaWRzLWlucHV0IHtcbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcblxuICAgICY6OnBhcnQoZGlydHktdHJhY2tlci1pY29uKSB7XG4gICAgICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAtLWlkcy1pY29uLXdpZHRoLWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3Qgbm9uIGlubGluZSBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZSAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSBpZHMtaWNvbi5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRpbmcuaXMtZHJvcGRvd24uaXMtaW5saW5lIGlkcy1kcm9wZG93biB7XG4gICAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLW5vbmUpIHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAnc20nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtcm93LWhlaWdodD0nc20nXSB7XG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgIH1cbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLXBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgLy8gQWRqdXN0IG5vbiBpbmxpbmUgZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUgLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA2cHg7XG4gIH1cblxuICAvLyBBZGp1c3QgZHJvcGRvd24gZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAnbWQnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtcm93LWhlaWdodD0nbWQnXSB7XG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZSAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDdweDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuXG4gICAgOjpzbG90dGVkKGlkcy10cmlnZ2VyLWJ1dHRvbikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICdsZydcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSdsZyddIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLWxnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgLy8gQ2hhbmdlIENlbGwgQm9yZGVycy9CR1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtY2VsbC1jb2xvci1ib3JkZXIpO1xuXG4gICAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KVxuICAgIH1cblxuICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1ib2R5IC5pZHMtZGF0YS1ncmlkLXJvdzpmaXJzdC1jaGlsZCAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ZC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xufVxuXG4vLyBIYW5kbGUgUlRMXG46aG9zdChbZGlyPSdydGwnXSkge1xuICAuaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0ZSBCb3JkZXJzXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICYuZnJvemVuLWxlZnQge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAgIC8vIER5bmFtaWNhbGx5IGFkZGVkIHdpZHRoc1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxMCB7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgICByaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cblxuICAgICYuaXMtZGlydHkge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXI6OmJlZm9yZSxcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KSAgdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KSB0cmFuc3BhcmVudCAgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpeCBzbG90dGVkIHRyaWdnZXIgYnV0dG9uIG1hcmdpbnMgd2hlbiBuZXN0ZWQgd2l0aGluIGNlbGxzXG4uaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyYXRlcyBhIHBzZXVkby1lbGVtZW50IGluIHRoZSBmb3JtIG9mIGFuIFwib3V0bGluZVwiXG4vLyBpbiBhIGNlbGwgdGhhdCByZXByZXNlbnRzIHRoZSBcImlubGluZSwgZWRpdGFibGVcIiBzdGF0ZS5cbkBtaXhpbiBpZHMtZGF0YS1ncmlkLWlubGluZS1lZGl0YWJsZS1vdXRsaW5lKCRtYXJnaW4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLTJ4cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW46ICN7JG1hcmdpbn1weDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG1hcmdpbiAqIDJ9cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbWFyZ2luICogMn1weCk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmF0ZXMgYSBwc2V1ZG8tZWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGRpcnR5IHRyYWNrZXJcbi8vIGljb24gaW4gYSBjZWxsIHRoYXQncyBiZWVuIGVkaXRlZC5cbkBtaXhpbiBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIHotaW5kZXg6IDE7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucyc7XG5cbi8vIEluY2x1ZGVzIEhpZGRlbiBDbGFzc2VzIGFuZCBNaXhpbnMgZm9yIGhpZGluZyBlbGVtZW50cyBhdCBicmVha3BvaW50c1xuLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZS14eGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXh4bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteHhsLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14eGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXh4bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXh4bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteHhsLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14bC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXhsLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteGwtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteGwtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbGctZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1sZy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLWxnLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLWxnLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLW1kLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtbWQtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1tZC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1tZC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1zbS1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXNtLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtc20tdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtc20tdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHMtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14cy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXhzLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXhzLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1oaWRlLW1peGluLnNjc3MnIGFzIGhpZGU7XG5cbjpob3N0KC5oaWRlLXNtLWRvd24pIHtcbiAgQGluY2x1ZGUgaGlkZS5oaWRlLXNtLWRvd24oKTtcbn1cblxuLmlkcy1wb3B1cC1tZW51IHtcbiAgJjpub3QoW2hpZGRlbl0pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiB2YXIoLS1pZHMtei1pbmRleC02MCk7XG4gIH1cbn1cbiIsIi8qKlxuICogQ2hlY2tib3ggTWl4aW5zLlxuICovXG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gVW5jaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtdW5jaGVja2VkKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItcmFkaXVzKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAzcHg7XG59XG5cbkBtaXhpbiBjaGVja2JveC11bmNoZWNrZWQtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZXJyb3IpO1xufVxuXG4vLyBDaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZC1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogdmFyKC0taWRzLWZvbnQtc2l6ZS0yeHMpIHNvbGlkIHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQtYWZ0ZXIpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItd2lkdGgtc2VsZWN0ZWQtYWZ0ZXIpO1xuICBhbmltYXRpb246IGNoZWNrIDAuMTVzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDRweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNHB4O1xufVxuXG4vLyBJbmRldGVybWluYXRlXG5AbWl4aW4gY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtaW5kZXRlcm1pbmF0ZSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogY2hlY2tpbmRldGVybWluYXRlIDAuMTVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlLWFmdGVyKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXdpZHRoLWluZGV0ZXJtaW5hdGUpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiA2cHg7XG4gIGxlZnQ6IDJweDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4vLyBEaXNhYmxlZFxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkLWRpc2FibGVkKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXRleHQge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi8vIEZvY3VzXG5AbWl4aW4gY2hlY2tib3gtZm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWZvY3VzLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LXNoYWRvdy1mb2N1cy1lcnJvcik7XG59XG5cbi8vIENvbG9yZWRcbiRjb2xvci1uYW1lczogJ2dyZWVuJyAncHVycGxlJyAnYmx1ZScgJ29yYW5nZScgJ3JlZCc7XG4kY29sb3ItdmFyczogLS1pZHMtY29sb3ItZ3JlZW4tNzAgLS1pZHMtY29sb3ItcHVycGxlLTcwIC0taWRzLWNvbG9yLWJsdWUtNzAgLS1pZHMtY29sb3Itb3JhbmdlLTcwIC0taWRzLWNvbG9yLXJlZC03MDtcblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQoKSB7XG4gIEBlYWNoICRuYW1lIGluICRjb2xvci1uYW1lcyB7XG4gICAgJGk6IGxpc3QuaW5kZXgoJGNvbG9yLW5hbWVzLCAkbmFtZSk7XG4gICAgJGNvbG9yOiB2YXIoI3tsaXN0Lm50aCgkY29sb3ItdmFycywgJGkpfSk7XG5cbiAgICAmW2NvbG9yPScjeyRuYW1lfSddIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgY2hlY2sge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tpbmRldGVybWluYXRlIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbn1cbiIsIi8qKlxuICogUmFkaW8gTWl4aW5zLlxuICovXG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gVW5jaGVja2VkXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtcmFkaW8tYm9yZGVyLXJhZGl1cyk7XG4gIGhlaWdodDogMTRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAzcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICB3aWR0aDogMTRweDtcbn1cblxuQG1peGluIHJhZGlvLXVuY2hlY2tlZC1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1yYWRpby1ib3JkZXItcmFkaXVzKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNnB4O1xuICB0b3A6IDZweDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gIHdpZHRoOiAwO1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWVycm9yLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWVycm9yLWxhYmVsLXRleHQge1xuICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xufVxuXG4vLyBDaGVja2VkXG5AbWl4aW4gcmFkaW8tY2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLXNlbGVjdGVkKTtcbn1cblxuQG1peGluIHJhZGlvLWNoZWNrZWQtYWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8taW5uZXItY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWlubmVyLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDNweDtcbiAgdG9wOiAzcHg7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi8vIERpc2FibGVkXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC11bmNoZWNrZWQtZXJyb3ItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvci1sYWJlbC10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC10ZXh0IHtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBjb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi8vIEZvY3VzXG5AbWl4aW4gcmFkaW8tZm9jdXMge1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtcmFkaW8tc2hhZG93KTtcbn1cblxuQG1peGluIHJhZGlvLWZvY3VzLW5vdC1oaWRlLWZvY3VzIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLXJhZGlvLXNoYWRvdy1mb2N1cyk7XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuQGltcG9ydCAnLi9pZHMtZGF0YS1ncmlkLWNvbW1vbic7XG5AaW1wb3J0ICcuL2lkcy1kYXRhLWdyaWQtZmlsdGVycyc7XG5AaW1wb3J0ICcuL2lkcy1kYXRhLWdyaWQtaGVhZGVyJztcbkBpbXBvcnQgJy4vaWRzLWRhdGEtZ3JpZC1yb3cnO1xuQGltcG9ydCAnLi9pZHMtZGF0YS1ncmlkLWNlbGwnO1xuQGltcG9ydCAnLi4vLi4vY29tcG9uZW50cy9pZHMtcG9wdXAtbWVudS9pZHMtcG9wdXAtbWVudSc7XG5AaW1wb3J0ICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jaGVja2JveC1taXhpbic7XG5AaW1wb3J0ICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1yYWRpby1taXhpbic7XG5cbjpob3N0IHtcbiAgLS1pZHMtZGF0YS1ncmlkLWNvbHVtbi13aWR0aHM6IHJlcGVhdCgxLCBtaW5tYXgoMTEwcHgsIDFmcikpO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlkcy1kYXRhLWdyaWQge1xuICAvLyBPdXRzaWRlIGJvcmRlciBhbmQgQmFja2dyb3VuZCBhbmQgc2l6aW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gTmVlZGVkIHNvIHN0aWNreSBoZWFkZXIgd29ya3MgaW4gc2FmYXJpXG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC8vIEZvbnQgSW5mb1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBmb250LXNpemU6IHZhcigtLWlkcy1mb250LXNpemUtc20pO1xuXG4gIC8vIFNlbGVjdGlvbiBDaGVja2JveFxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2hlY2tib3ggYWxpZ25tZW50c1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmFsaWduLWxlZnQge1xuICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtY29udGFpbmVyLFxuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuYWxpZ24tY2VudGVyIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5hbGlnbi1yaWdodCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBjaGVja2JveC11bmNoZWNrZWQoKTtcblxuICAgICYuZWRpdGFibGUge1xuICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgIH1cblxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNoZWNrYm94LWNvbG9yLWJvcmRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG5cbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmLmNoZWNrZWQge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIoKTtcblxuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pbmRldGVybWluYXRlIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyKCk7XG5cbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGVjdGlvbiBSYWRpb1xuICAuaWRzLWRhdGEtZ3JpZC1yYWRpby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1yYWRpbyB7XG4gICAgQGluY2x1ZGUgcmFkaW8tdW5jaGVja2VkKCk7XG5cbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHJhZGlvLXVuY2hlY2tlZC1hZnRlcigpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgfVxuXG4gICAgJi5jaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIHJhZGlvLWNoZWNrZWQoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSByYWRpby1jaGVja2VkLWFmdGVyKCk7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSByYWRpby1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVHJlZSBHcmlkXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwgLmlkcy1kYXRhLWdyaWQtdHJlZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaWRzLWJ1dHRvbiArIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICBpZHMtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1idXR0b24uZXhwYW5kLWJ1dHRvbiB7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTWFwcyB1c2VkIGZvciBhbHRlcmluZyBhbGlnbm1lbnRzIG9mIGVkaXRhYmxlIGdyaWQgY2VsbHMgaW4gZGlmZmVyZW50IHNjZW5hcmlvcy5cbiAgLy8gVGhlc2UgcnVsZXMgYXJlIGJhc2VkIG9uIHJvdy1oZWlnaHQsIHdoaWNoIGlzIGRlZmluZWQgYXQgdGhlIGAuaWRzLWRhdGEtZ3JpZGAgZWxlbWVudCBsZXZlbC5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAkcm93LWhlaWdodC1pbmxpbmUtdHJlZS1ncmlkLWJ1dHRvbi13aWR0aHM6IChcbiAgICAneHhzJzogMzAsXG4gICAgJ3hzJzogMzIsXG4gICAgJ3NtJzogMzQsXG4gICAgJ21kJzogNDAsXG4gICAgJ2xnJzogNDBcbiAgKTtcblxuICAkcm93LWhlaWdodC1wYWRkaW5nLW9mZnNldHM6IChcbiAgICAneHhzJzogMTIsXG4gICAgJ3hzJzogMTAsXG4gICAgJ3NtJzogOCxcbiAgICAnbWQnOiAzLFxuICAgICdsZyc6IDNcbiAgKTtcblxuICAkcm93LWhlaWdodC1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0czogKFxuICAgICd4eHMnOiAxLFxuICAgICd4cyc6IDEsXG4gICAgJ3NtJzogMSxcbiAgICAnbWQnOiAyLFxuICAgICdsZyc6IDJcbiAgKTtcblxuICAkcm93LWhlaWdodC1pbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldHM6IChcbiAgICAneHhzJzogMyxcbiAgICAneHMnOiA0LFxuICAgICdzbSc6IDUsXG4gICAgJ21kJzogNixcbiAgICAnbGcnOiA2XG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtaW5kZW50czogKFxuICAgICd4eHMnOiAxMixcbiAgICAneHMnOiAxMyxcbiAgICAnc20nOiAxNSxcbiAgICAnbWQnOiAxNyxcbiAgICAnbGcnOiAxN1xuICApO1xuXG4gICRyb3ctaGVpZ2h0LW91dGxpbmUtcGFkZGluZzogKFxuICAgICd4eHMnOiAxLFxuICAgICd4cyc6IDIsXG4gICAgJ3NtJzogMyxcbiAgICAnbWQnOiA0LFxuICAgICdsZyc6IDRcbiAgKTtcblxuICAkcm93LWhlaWdodC1vdXRsaW5lLW9mZnNldHM6IChcbiAgICAneHhzJzogMSxcbiAgICAneHMnOiAyLFxuICAgICdzbSc6IDUsXG4gICAgJ21kJzogOCxcbiAgICAnbGcnOiAxMlxuICApO1xuXG4gIEBlYWNoICRyb3dIZWlnaHQsICRvZmZzZXQgaW4gJHJvdy1oZWlnaHQtcGFkZGluZy1vZmZzZXRzIHtcbiAgICAvLyBUaGVzZSB2YWx1ZXMgYXJlIGRpZmZlcmVudCBmb3IgZWFjaCBSb3cgSGVpZ2h0XG4gICAgJGJ1dHRvbi13aWR0aDogbWFwLmdldCgkcm93LWhlaWdodC1pbmxpbmUtdHJlZS1ncmlkLWJ1dHRvbi13aWR0aHMsICRyb3dIZWlnaHQpO1xuICAgICRpbmRlbnQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtaW5kZW50cywgJHJvd0hlaWdodCk7XG4gICAgJGRpcnR5LWluZGljYXRvci1vZmZzZXQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtZGlydHktaW5kaWNhdG9yLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldDogbWFwLmdldCgkcm93LWhlaWdodC1pbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRvdXRsaW5lLW9mZnNldDogbWFwLmdldCgkcm93LWhlaWdodC1vdXRsaW5lLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRvdXRsaW5lLXBhZGRpbmc6IG1hcC5nZXQoJHJvdy1oZWlnaHQtb3V0bGluZS1wYWRkaW5nLCAkcm93SGVpZ2h0KTtcblxuICAgICZbZGF0YS1yb3ctaGVpZ2h0PScjeyRyb3dIZWlnaHR9J10ge1xuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBUb3AtbGV2ZWwgZ3JpZCBhbGlnbm1lbnRzIHRoYXQgZGVwZW5kIHNvbGVseSBvbiByb3cgaGVpZ2h0XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgJi5pcy1kaXJ0eSB7XG4gICAgICAgICAgJjpub3QoLmlzLWlubGluZSkge1xuICAgICAgICAgICAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6ICN7JGRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaXMtaW5saW5lIHtcbiAgICAgICAgICAgICYuZm9ybWF0dGVyLXRleHQge1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE0zIHJlcXVpcmVtZW50IHRvIG5vdCBhZmZlY3Qgc3BlY2lmaWMgY2VsbHMgYnkgcmVhZG9ubHkgZmxhZyAoaHR0cHM6Ly9pbmZvci5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9JRFMtODg3NClcbiAgICAgICAgICYuaXMtcmVhZG9ubHkuZXhjbHVkZS1yZWFkb25seS1zdHlsZSB7XG4gICAgICAgICAgJjpub3QoLmZvcm1hdHRlci10cmVlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWlubGluZS1lZGl0YWJsZS1vdXRsaW5lKCRvdXRsaW5lLXBhZGRpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmluZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBcImlubGluZS1lZGl0XCIgc3R5bGUncyBvdXRsaW5lXG4gICAgICAgICYuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAgICAgICAmOm5vdCguZm9ybWF0dGVyLXRyZWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG91dGxpbmUtcGFkZGluZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5mb3JtYXR0ZXItdHJlZSB7XG4gICAgICAgICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG91dGxpbmUtcGFkZGluZyk7XG5cbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG91dGxpbmUtb2Zmc2V0ICsgNH1weCk7XG5cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtI3skb3V0bGluZS1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIHN0YXJ0IHBhZGRpbmcgZnJvbSB0cmVlLWdyaWQtY29udGFpbmVkIGAudGV4dC1lbGxpcHNpc2AgZWxlbWVudHNcbiAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cblxuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBFeHBhbmRhYmxlIGdyaWQvdHJlZSBncmlkIG5lc3RlZCBhbGlnbm1lbnQgcnVsZXNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOCB7XG4gICAgICAgIFthcmlhLWxldmVsPScjeyRpfSddIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skYnV0dG9uLXdpZHRofXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uICsgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGJ1dHRvbi13aWR0aCArICgkaW5kZW50ICogKCRpIC0gMSkpICsgKCRvZmZzZXQpfXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3soJGluZGVudCAqICgkaSAtIDEpKSArICRvZmZzZXR9cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlkcy1idXR0b24gKyAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAvLyBEaXJ0eS10cmFja2VyIHJ1bGVzIGRlcGVuZGVudCBvbiBgYXJpYS1sZXZlbGAgbmVzdGluZ1xuICAgICAgICAgICYuaXMtZGlydHkge1xuICAgICAgICAgICAgJi5pcy1pbmxpbmUge1xuICAgICAgICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaXN0IFN0eWxlIEZlYXR1cmVcbiAgJi5pcy1saXN0LXN0eWxlIHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gIH1cblxuICAvLyBVc2VkIGZvciByb3cgc3RhcnRcbiAgJi53YWl0aW5nLWxvYWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmlkcy1kYXRhLWdyaWQtYm9keSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgZm9yIEZyb3plbiBDb2x1bW5zXG4uaWRzLWRhdGEtZ3JpZC1ib2R5IHtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLy8gU3RhbmRhbG9uZSBDc3MgQm9yZGVyc1xudGFibGUuaWRzLWRhdGEtZ3JpZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJvcmRlcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4vLyBFbXB0eSBNZXNzYWdlXG4uaWRzLWRhdGEtZ3JpZC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5pZHMtZGF0YS1ncmlkLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA2cHggdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cbn1cblxuaWRzLWVtcHR5LW1lc3NhZ2U6bm90KFtoaWRkZW5dKSxcbjo6c2xvdHRlZChpZHMtZW1wdHktbWVzc2FnZTpub3QoW2hpZGRlbl0pKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbn1cblxuLy8gQWRqdXN0IGZvciBmaWx0ZXIgcm93XG5pZHMtZW1wdHktbWVzc2FnZS5oYXMtZmlsdGVyLXJvdzpub3QoW2hpZGRlbl0pIHtcbiAgJi5maWx0ZXItcm93LXNpemUteHhzIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDI0cHg7XG4gIH1cblxuICAmLmZpbHRlci1yb3ctc2l6ZS14cyB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzNHB4O1xuICB9XG5cbiAgJi5maWx0ZXItcm93LXNpemUtc20ge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMzRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLW1kIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDM0cHg7XG4gIH1cblxuICAmLmZpbHRlci1yb3ctc2l6ZS1sZyB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAyNnB4O1xuICB9XG5cbiAgJi5oYXMtcGFnZXIge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMTRweDtcbiAgfVxufVxuXG46OnNsb3R0ZWQoaWRzLWVtcHR5LW1lc3NhZ2UuaGFzLWZpbHRlci1yb3c6bm90KFtoaWRkZW5dKSkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDE0cHg7XG59XG5cbi5oYXMtZW1wdHktbWVzc2FnZSAuaWRzLWRhdGEtZ3JpZCB7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVpZ2h0LW1pbik7XG59XG5cbi8vIExvYWRpbmcgSW5kaWNhdG9yXG5pZHMtbG9hZGluZy1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAmW3N0b3BwZWRdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KDpub3QoW2Rpc2FibGUtcm93LWhpZ2hsaWdodF0pKSBpZHMtZGF0YS1ncmlkLXJvdzpob3Zlcjpub3QoW3BhcnQqPSdyb3ctJ10pOm5vdCguc2VsZWN0ZWQpIHtcbiAgaWRzLWRhdGEtZ3JpZC1jZWxsLFxuICBpZHMtZGF0YS1ncmlkLWNlbGwuaXMtcmVhZG9ubHk6bm90KC5leGNsdWRlLXJlYWRvbmx5LXN0eWxlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIH1cblxuICBpZHMtZGF0YS1ncmlkLWNlbGwuaXMtaW52YWxpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtZXJyb3ItaG92ZXIpO1xuICB9XG59XG5cbiNkYXRhZ3JpZC1tb2RhbCB7XG4gIC0taWRzLW1vZGFsLWNvbnRlbnQtcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAtLWlkcy1tb2RhbC1oZWFkZXItcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLXNtKSB2YXIoLS1pZHMtc3BhY2Utc20pIHZhcigtLWlkcy1zcGFjZS14cykgdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgLS1pZHMtcG9wdXAtZml0LWhlaWdodDogNDAwcHg7XG5cbiAgaWRzLXN3YXBwYWJsZS1pdGVtIHtcbiAgICAtLWlkcy1zd2FwcGFibGUtaXRlbS1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkOiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LWJsdWUtd2Vha2VzdCk7XG4gICAgLS1pZHMtc3dhcHBhYmxlLWl0ZW0tY29sb3ItdGV4dC1zZWxlY3RlZDogdmFyKC0taWRzLWNvbG9yLWZvcmVncm91bmQtZGVmYXVsdC1kZWZhdWx0KTtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLW1vZGFsLXJvdy1oZWlnaHQpO1xuICB9XG5cbiAgI2RhdGFncmlkLW1vZGFsLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS0wNCkgKiAtMSk7XG4gIH1cblxuICBpZHMtc2VhcmNoLWZpZWxkIHtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrZXN0KTtcbiAgICAtLWlkcy1zZWFyY2gtZmllbGQtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LW5ldXRyYWwtd2Vha2VzdCk7XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWRlZmF1bHQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaG92ZXI6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItc2hhZG93OiBub25lO1xuICAgIC0taWRzLXNlYXJjaC1maWVsZC1ib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy1ub25lKTtcbiAgICAtLWlkcy1zZWFyY2gtZmllbGQtYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS0wOCkgKiAtMSk7XG4gICAgbWluLXdpZHRoOiAzMzBweDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBpZHMtdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBpZHMtc3dpdGNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIGlkcy1zd2FwcGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmRhdGFncmlkLW1vZGFsLWNvbHVtbi1saXN0IHtcbiAgICAtLWlkcy1tb2RhbC1jb2x1bW4tbGlzdC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE0cHgpO1xuXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWF4LWhlaWdodDogdmFyKC0taWRzLW1vZGFsLWNvbHVtbi1saXN0LWhlaWdodCk7XG4gIH1cblxufVxuIiwiLy8gQnJlYWtwb2ludHMgLSB0aGlzIGNhbnQgYmUgdG9rZW5zXG4kYnJlYWtwb2ludC14eGw6IDE0NDBweDtcbiRicmVha3BvaW50LXhsOiAxMjgwcHg7XG4kYnJlYWtwb2ludC1sZzogMTAyNHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDg0MHB4O1xuJGJyZWFrcG9pbnQtc206IDYwMHB4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuXG4vLyBTZXRzIFRleHQgQW50aWFsaWFzaW5nXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuJHRyYW5zaXRpb24tbGVuZ3RoOiB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKTtcbiR0cmFuc2l0aW9uLWVhc2U6IHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG5cbi8vIHZlbmRvciBwcmVmaXhlZCB0cmFuc2l0aW9ucyBmb3IgcmVndWxhciBhdHRyaWJ1dGVzIChub24tdmVuZG9yIHByZWZpeGVkKVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zLWxpc3QuLi4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbnMtbGlzdDtcbiAgfVxufVxuXG4vLyBtYWtlIHRoZSB0ZXh0IGludmlzaWJsZSB2aXN1YWxseSBidXQgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhdWRpYmxlKCkge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIENhbGN1bGF0ZSBzaXplIGluY2x1ZGluZyBib3JkZXJzIChub3QgZXhjbHVkaW5nKVxuQG1peGluIGJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufSJdfQ== */`;
76281
76287
 
76282
76288
  // src/components/ids-data-grid/ids-data-grid-header.ts
76283
76289
  var _columns, _IdsDataGridHeader_instances, attachEventHandlers_fn35, attachSortHandler_fn, attachSelectionHandler_fn, attachResizeHandlers_fn, attachReorderHandlers_fn, attachFilterBtnHandler_fn;
@@ -76287,6 +76293,7 @@ ids-loading-indicator[stopped] {
76287
76293
  __privateAdd(this, _IdsDataGridHeader_instances);
76288
76294
  __publicField(this, "rootNode");
76289
76295
  __publicField(this, "headerCheckbox");
76296
+ __publicField(this, "columnCheckbox");
76290
76297
  /**
76291
76298
  * Tracks the state of the header expander
76292
76299
  */
@@ -76381,6 +76388,17 @@ ids-loading-indicator[stopped] {
76381
76388
  this.headerCheckbox.setAttribute("aria-checked", "mixed");
76382
76389
  }
76383
76390
  }
76391
+ /**
76392
+ * Set the checked status on the column header checkbox
76393
+ * @param {number} index Column index
76394
+ * @param {boolean} value True for checked, false for unchecked
76395
+ */
76396
+ setColumnCheckbox(index, value) {
76397
+ if (this.columnCheckbox && this.columnCheckbox[index]) {
76398
+ const checkbox = this.columnCheckbox[index];
76399
+ checkbox.checked = value;
76400
+ }
76401
+ }
76384
76402
  /**
76385
76403
  * Sets the disabled attribute of header checkbox
76386
76404
  * @param {boolean} value attribute value to set
@@ -76445,7 +76463,7 @@ ids-loading-indicator[stopped] {
76445
76463
  */
76446
76464
  static template(datagrid) {
76447
76465
  const html = `<ids-data-grid-header class="ids-data-grid-header${datagrid.hasFrozenColumns ? " is-frozen" : ""}" role="rowgroup" part="header">
76448
- <ids-data-grid-row class="ids-data-grid-row" role="row">
76466
+ <ids-data-grid-row class="ids-data-grid-row${datagrid.colSelection ? " has-col-selection" : ""}" role="row">
76449
76467
  ${datagrid.visibleColumns.map((columnData, index) => `${this.headerCellTemplate(datagrid, columnData, index)}`).join("")}
76450
76468
  </ids-data-grid-row>
76451
76469
  </ids-data-grid-header>`;
@@ -76498,9 +76516,17 @@ ids-loading-indicator[stopped] {
76498
76516
  } else {
76499
76517
  colName = escapeHTML(column.name);
76500
76518
  }
76519
+ const headerName = column.id !== "selectionRadio" && column.id !== "selectionCheckbox" && colName ? colName : "";
76520
+ const headerLabel = `${dataGrid?.colSelection && column.id !== "selectionRadio" && column.id !== "selectionCheckbox" ? `<div class="ids-checkbox">
76521
+ <label>
76522
+ <input type="checkbox"/>
76523
+ <span class="checkmark"></span>
76524
+ <span class="ids-text label-text">${headerName}</span>
76525
+ </label>
76526
+ </div>` : headerName}`;
76501
76527
  const headerContentTemplate = `
76502
76528
  ${selectionCheckbox ? selectionCheckBoxTemplate : ""}
76503
- ${column.id !== "selectionRadio" && column.id !== "selectionCheckbox" && colName ? colName : ""}
76529
+ ${headerLabel}
76504
76530
  `.trim();
76505
76531
  let cssClasses = "ids-data-grid-header-cell-content";
76506
76532
  cssClasses += column.sortable ? " is-sortable" : "";
@@ -76618,6 +76644,10 @@ ids-loading-indicator[stopped] {
76618
76644
  this.dataGrid.isResizing = false;
76619
76645
  return;
76620
76646
  }
76647
+ if (this.dataGrid?.isSelecting) {
76648
+ this.dataGrid.isSelecting = false;
76649
+ return;
76650
+ }
76621
76651
  if (e.target?.classList?.contains("header-expander")) {
76622
76652
  const isColumnHeaderExpander = e.target?.closest(".column-header-expander");
76623
76653
  if (!isColumnHeaderExpander && !this.dataGrid?.showHeaderExpander) return;
@@ -76639,6 +76669,8 @@ ids-loading-indicator[stopped] {
76639
76669
  } else {
76640
76670
  this.dataGrid?.setSortState(id2, state, true);
76641
76671
  }
76672
+ this.dataGrid?.updateSelectionBorder(true);
76673
+ this.dataGrid?.updateSelectedCells();
76642
76674
  });
76643
76675
  };
76644
76676
  /**
@@ -76655,6 +76687,19 @@ ids-loading-indicator[stopped] {
76655
76687
  this.dataGrid?.selectAllRows();
76656
76688
  }
76657
76689
  });
76690
+ this.columnCheckbox = this.querySelectorAll("ids-data-grid-header .ids-data-grid-header-text .ids-checkbox input");
76691
+ for (let i = 0; i < this.columnCheckbox.length; i++) {
76692
+ this.offEvent("click", this.columnCheckbox[i]);
76693
+ this.onEvent("click", this.columnCheckbox[i], () => {
76694
+ const isSelect = this.columnCheckbox[i].checked;
76695
+ this.dataGrid.isSelecting = true;
76696
+ if (isSelect) {
76697
+ this.dataGrid?.selectColumn(i);
76698
+ } else {
76699
+ this.dataGrid?.deSelectColumn(i);
76700
+ }
76701
+ });
76702
+ }
76658
76703
  };
76659
76704
  /**
76660
76705
  * Establish Drag handlers for resize
@@ -76682,6 +76727,7 @@ ids-loading-indicator[stopped] {
76682
76727
  } else {
76683
76728
  this.dataGrid?.setColumnWidth(columnId, w + (!this.dataGrid?.localeAPI.isRTL() ? dx : -dx));
76684
76729
  }
76730
+ this.dataGrid?.updateSelectionBorder();
76685
76731
  };
76686
76732
  const mouseUpHandler = () => {
76687
76733
  document.removeEventListener("mousemove", mouseMoveHandler);
@@ -76768,9 +76814,10 @@ ids-loading-indicator[stopped] {
76768
76814
  return;
76769
76815
  }
76770
76816
  const rect = cell.getBoundingClientRect();
76771
- const curIndex = cell.getAttribute("aria-colindex");
76772
- let cellLeft = rect.left + (startIndex < curIndex ? rect.width + 1 : 1);
76773
- const cellRight = rect.left + (startIndex < curIndex ? 1 : rect.width + 1);
76817
+ const curIndex = parseInt(cell.getAttribute("aria-colindex") || "0", 10);
76818
+ const startIdx = parseInt(startIndex.toString() ?? "0", 10);
76819
+ let cellLeft = rect.left + (startIdx < curIndex ? rect.width + 1 : 1);
76820
+ const cellRight = rect.left + (startIdx < curIndex ? 1 : rect.width + 1);
76774
76821
  let offsetLeft = 0;
76775
76822
  if (this.offsetParent) {
76776
76823
  offsetLeft = this.offsetParent.getBoundingClientRect().left - this.offsetParent.offsetLeft;
@@ -81280,7 +81327,7 @@ ids-icon {
81280
81327
  )
81281
81328
  )
81282
81329
  );
81283
- var _currentScroll, _header, _IdsDataGrid_instances, redrawBodyTemplate_fn, _lastSelectedRow, _lastShiftedRow, resetLastSelectedRow_fn, resetLastShiftedRow_fn, toggleSelectionInBetween_fn, getSelection_fn, attachEventHandlers_fn38, attachKeyboardListeners_fn9, setColumnWidths_fn, setFrozenColumnWidth_fn, calcMaxContentWidth_fn, _maxContentColumnWidths, reapplyDirtyStates_fn, setColumnGroupsWidth_fn, appendMissingRows_fn, _virtualScrollMaxRowsInDom, attachScrollEvents_fn, attachVirtualScrollEvent_fn, calculateColumnsOnscreen_fn, detachScrollEvents_fn, syncTreeHiddenStates_fn, handleTreeRowExpandCollapse_fn, recycleAllTreeRows_fn, handleVirtualScroll_fn, _customScrollEventCache, triggerCustomScrollEvent_fn, positionVirtualScrollWindow_fn, restoreScrollPosition_fn, scrollTo_fn, scrollToTreeRow_fn, scrollRowIntoView_fn, setVirtualScrollPaddingBottom_fn, scrollTreeRowIntoView_fn, recycleTreeRowsDown_fn, recycleTreeRowsUp_fn, recycleAllRows_fn, recycleTopRowsDown_fn, recycleBottomRowsUp_fn, saveCellOriginalValue_fn, updateCellDirtyState_fn, findParentRow_fn, findRootRow_fn, updateRowCount_fn, applyAutoFit_fn, removeAttachedMenus_fn, filterColumnList_fn;
81330
+ var _startSelectionCell, _endSelectionCell, _currentScroll, _header, _IdsDataGrid_instances, redrawBodyTemplate_fn, _lastSelectedRow, _lastShiftedRow, resetLastSelectedRow_fn, resetLastShiftedRow_fn, toggleSelectionInBetween_fn, getSelection_fn, attachEventHandlers_fn38, attachDragSelection_fn, createSelectionBorder_fn, updateSelectionBorder_fn, attachKeyboardListeners_fn9, setColumnWidths_fn, setFrozenColumnWidth_fn, calcMaxContentWidth_fn, reapplyDirtyStates_fn, setColumnGroupsWidth_fn, appendMissingRows_fn, _virtualScrollMaxRowsInDom, attachScrollEvents_fn, attachVirtualScrollEvent_fn, calculateColumnsOnscreen_fn, detachScrollEvents_fn, syncTreeHiddenStates_fn, handleTreeRowExpandCollapse_fn, recycleAllTreeRows_fn, handleVirtualScroll_fn, _customScrollEventCache, triggerCustomScrollEvent_fn, positionVirtualScrollWindow_fn, restoreScrollPosition_fn, scrollTo_fn, scrollToTreeRow_fn, scrollRowIntoView_fn, setVirtualScrollPaddingBottom_fn, scrollTreeRowIntoView_fn, recycleTreeRowsDown_fn, recycleTreeRowsUp_fn, recycleAllRows_fn, recycleTopRowsDown_fn, recycleBottomRowsUp_fn, saveCellOriginalValue_fn, updateCellDirtyState_fn, findParentRow_fn, findRootRow_fn, updateRowCount_fn, applyAutoFit_fn, removeAttachedMenus_fn, filterColumnList_fn, handleCopy_fn, handlePaste_fn;
81284
81331
  var IdsDataGrid = class extends Base65 {
81285
81332
  constructor() {
81286
81333
  super();
@@ -81296,6 +81343,7 @@ ids-icon {
81296
81343
  __publicField(this, "cacheCellPart", "P");
81297
81344
  __publicField(this, "initialized", false);
81298
81345
  __publicField(this, "isResizing", false);
81346
+ __publicField(this, "isSelecting", false);
81299
81347
  __publicField(this, "activeCell", {});
81300
81348
  __publicField(this, "lastActiveCell", {});
81301
81349
  __publicField(this, "autoFitSet", false);
@@ -81305,6 +81353,8 @@ ids-icon {
81305
81353
  __publicField(this, "openMenu", null);
81306
81354
  __publicField(this, "serverSideSelections", []);
81307
81355
  __publicField(this, "isRowDisabled");
81356
+ __privateAdd(this, _startSelectionCell);
81357
+ __privateAdd(this, _endSelectionCell);
81308
81358
  __privateAdd(this, _currentScroll, {
81309
81359
  top: NaN,
81310
81360
  left: NaN
@@ -81358,7 +81408,7 @@ ids-icon {
81358
81408
  __publicField(this, "onLocaleChange", () => {
81359
81409
  this.redraw();
81360
81410
  });
81361
- __privateAdd(this, _maxContentColumnWidths, {});
81411
+ __publicField(this, "maxContentColumnWidths", {});
81362
81412
  __privateAdd(this, _virtualScrollMaxRowsInDom, 100);
81363
81413
  __privateAdd(this, _customScrollEventCache, {});
81364
81414
  __publicField(this, "activeCellEditor");
@@ -81495,7 +81545,8 @@ ids-icon {
81495
81545
  attributes.SUPPRESS_ROW_DESELECTION,
81496
81546
  attributes.TREE_GRID,
81497
81547
  attributes.VIRTUAL_SCROLL,
81498
- attributes.UNIQUE_ID
81548
+ attributes.UNIQUE_ID,
81549
+ attributes.USE_FORMATTERS_FOR_SIZING
81499
81550
  ];
81500
81551
  }
81501
81552
  /**
@@ -81627,6 +81678,7 @@ ids-icon {
81627
81678
  __privateMethod(this, _IdsDataGrid_instances, handleVirtualScroll_fn).call(this, this.virtualScrollSettings.ROW_HEIGHT);
81628
81679
  requestAnimationFrame(() => __privateMethod(this, _IdsDataGrid_instances, attachScrollEvents_fn).call(this));
81629
81680
  }
81681
+ this.updateSelectedCells();
81630
81682
  }
81631
81683
  /**
81632
81684
  * Redraw the list by reapplying the template
@@ -81655,6 +81707,7 @@ ids-icon {
81655
81707
  }
81656
81708
  this.filters.attachFilterSettings();
81657
81709
  __privateMethod(this, _IdsDataGrid_instances, updateRowCount_fn).call(this);
81710
+ this.updateSelectedCells();
81658
81711
  this.toggleEmptyMessage();
81659
81712
  this.afterRedraw();
81660
81713
  if (this.virtualScroll && this.rows?.[0]?.rowIndex > 0) this.scrollRowIntoView(this.rows?.[0]?.rowIndex);
@@ -81743,6 +81796,23 @@ ids-icon {
81743
81796
  const row = this.rowByIndex(rowIdx);
81744
81797
  if (row) row.setAttribute(attributes.PART, stateName);
81745
81798
  }
81799
+ /**
81800
+ * Update the selection border.
81801
+ * @param {boolean} clearSelection True if selected cells should be cleared. Will clear only if there is a selection border
81802
+ */
81803
+ updateSelectionBorder(clearSelection = false) {
81804
+ const border = this.container?.querySelector(".selection-border");
81805
+ if (!(__privateGet(this, _startSelectionCell) && __privateGet(this, _endSelectionCell))) {
81806
+ if (border) border.style.display = "none";
81807
+ return;
81808
+ }
81809
+ if (clearSelection) {
81810
+ if (border) border.style.display = "none";
81811
+ this.deSelectAllRows();
81812
+ } else {
81813
+ __privateMethod(this, _IdsDataGrid_instances, updateSelectionBorder_fn).call(this, __privateGet(this, _startSelectionCell), __privateGet(this, _endSelectionCell));
81814
+ }
81815
+ }
81746
81816
  /**
81747
81817
  * Move a column to a new position. Use `columnIndex` to get the column by id.
81748
81818
  * @param {number} fromIndex The column index to movex
@@ -81781,11 +81851,21 @@ ids-icon {
81781
81851
  row.invalidCells[cellIndex].cell = toIndex;
81782
81852
  }
81783
81853
  });
81854
+ this.data.forEach((row) => {
81855
+ if (row.colSelected) {
81856
+ const prev = row.colSelected[correctFromIndex];
81857
+ row.colSelected.splice(correctFromIndex, 1);
81858
+ row.colSelected.splice(correctToIndex, 0, prev);
81859
+ }
81860
+ });
81784
81861
  resetEmptyMessageElements.apply(this);
81785
81862
  this.redraw();
81786
81863
  this.triggerEvent("columnmoved", this, { detail: { elem: this, fromIndex: correctFromIndex, toIndex: correctToIndex } });
81787
81864
  if (this.sortColumn) this.header?.setSortState(this.sortColumn.id, this.sortColumn.ascending);
81788
81865
  this.saveSettings?.();
81866
+ if (__privateGet(this, _startSelectionCell) || __privateGet(this, _endSelectionCell)) {
81867
+ this.deSelectAllRows();
81868
+ }
81789
81869
  }
81790
81870
  /**
81791
81871
  * Utility function to get padding for each rowHeight,
@@ -82058,6 +82138,9 @@ ids-icon {
82058
82138
  value[selectionIndex].formatter = this.formatters.selectionCheckbox;
82059
82139
  }
82060
82140
  }
82141
+ value.forEach((column) => {
82142
+ column.id = column.id.replace(/[^a-zA-Z0-9:_-]/g, "");
82143
+ });
82061
82144
  }
82062
82145
  this.resetCache();
82063
82146
  this.currentColumns = value || [{ id: "", name: "" }];
@@ -82110,9 +82193,11 @@ ids-icon {
82110
82193
  this.datasource.groupable = this.groupable;
82111
82194
  this.datasource.data = value;
82112
82195
  if (this.pager && this.pagination !== "server-side") this.pager.total = value.length;
82113
- if (this.initialized && this.columns.length && this.pagination !== "server-side" && Object.keys(__privateGet(this, _maxContentColumnWidths)).length === 0) {
82196
+ if (this.initialized && this.columns.length && this.pagination !== "server-side") {
82114
82197
  if (this.keepFilterConditions) filterConditions = this.filterConditions;
82115
82198
  this.redrawBody();
82199
+ this.maxContentColumnWidths = {};
82200
+ __privateMethod(this, _IdsDataGrid_instances, setColumnWidths_fn).call(this);
82116
82201
  __privateMethod(this, _IdsDataGrid_instances, updateRowCount_fn).call(this);
82117
82202
  this.syncPagerAfterDatasetChange();
82118
82203
  if (this.keepFilterConditions && filterConditions.length > 0) {
@@ -82127,7 +82212,7 @@ ids-icon {
82127
82212
  }
82128
82213
  this.initialized = true;
82129
82214
  if (this.pagination === "server-side") this.syncServerSelections();
82130
- __privateSet(this, _maxContentColumnWidths, {});
82215
+ this.maxContentColumnWidths = {};
82131
82216
  if (this.keepFilterConditions) filterConditions = this.filterConditions;
82132
82217
  this.redraw();
82133
82218
  this.restoreAllSettings?.();
@@ -82339,7 +82424,7 @@ ids-icon {
82339
82424
  this.setAttribute(attributes.ROW_HEIGHT, value);
82340
82425
  this.shadowRoot?.querySelector(".ids-data-grid")?.setAttribute("data-row-height", value);
82341
82426
  if (isNew) {
82342
- __privateSet(this, _maxContentColumnWidths, {});
82427
+ this.maxContentColumnWidths = {};
82343
82428
  __privateMethod(this, _IdsDataGrid_instances, setColumnWidths_fn).call(this);
82344
82429
  }
82345
82430
  } else {
@@ -82428,6 +82513,34 @@ ids-icon {
82428
82513
  get rowSelection() {
82429
82514
  return this.getAttribute(attributes.ROW_SELECTION) || false;
82430
82515
  }
82516
+ /**
82517
+ * Set the cell selection mode. Default is false.
82518
+ * @param {boolean} value True if drag selection will be used
82519
+ */
82520
+ set cellSelection(value) {
82521
+ if (stringToBool(value)) {
82522
+ this.setAttribute(attributes.CELL_SELECTION, String(value));
82523
+ } else {
82524
+ this.removeAttribute(attributes.CELL_SELECTION);
82525
+ }
82526
+ }
82527
+ get cellSelection() {
82528
+ return stringToBool(this.getAttribute(attributes.CELL_SELECTION));
82529
+ }
82530
+ /**
82531
+ * Set the column selection, true to add column header selection
82532
+ * @param {boolean} value selection mode to use
82533
+ */
82534
+ set colSelection(value) {
82535
+ if (stringToBool(value)) {
82536
+ this.setAttribute(attributes.COL_SELECTION, String(value));
82537
+ } else {
82538
+ this.removeAttribute(attributes.COL_SELECTION);
82539
+ }
82540
+ }
82541
+ get colSelection() {
82542
+ return stringToBool(this.getAttribute(attributes.COL_SELECTION));
82543
+ }
82431
82544
  /**
82432
82545
  * Set suppress empty message
82433
82546
  * @param {string|boolean} value The value
@@ -82504,6 +82617,77 @@ ids-icon {
82504
82617
  return [];
82505
82618
  });
82506
82619
  }
82620
+ /**
82621
+ * Map and boundary data on selected cells
82622
+ * @returns { object };
82623
+ */
82624
+ get selectedMap() {
82625
+ const bounds = {
82626
+ minRow: this.data.length,
82627
+ maxRow: -1,
82628
+ minCol: this.columns.length,
82629
+ maxCol: -1
82630
+ };
82631
+ const map = [];
82632
+ const getColIndex = (i) => this.rowSelection ? i + 1 : i;
82633
+ const updateBounds = (row, col) => {
82634
+ if (row < bounds.minRow) bounds.minRow = row;
82635
+ if (row > bounds.maxRow) bounds.maxRow = row;
82636
+ if (col < bounds.minCol) bounds.minCol = col;
82637
+ if (col > bounds.maxCol) bounds.maxCol = col;
82638
+ };
82639
+ const blankArr = Array(this.visibleColumns.length).fill(false);
82640
+ const columns = this.rowSelection ? this.visibleColumns.slice(1, this.visibleColumns.length) : this.visibleColumns;
82641
+ let count = 0;
82642
+ this.data.forEach((row, rowIndex) => {
82643
+ if (row.rowSelected) {
82644
+ updateBounds(rowIndex, 0);
82645
+ updateBounds(rowIndex, columns.length - 1);
82646
+ map.push(columns.map((column, colIndex) => ({
82647
+ row: rowIndex,
82648
+ col: colIndex,
82649
+ value: row[column.field || column.id],
82650
+ target: this.cellByIndex(rowIndex, getColIndex(colIndex))
82651
+ })));
82652
+ count += columns.length;
82653
+ } else if (row.colSelected) {
82654
+ const mapRow = [];
82655
+ row.colSelected.forEach((isSelected, colIndex) => {
82656
+ if (isSelected) {
82657
+ const column = this.visibleColumns[getColIndex(colIndex)];
82658
+ mapRow.push({
82659
+ row: rowIndex,
82660
+ col: colIndex,
82661
+ value: row[column.field || column.id],
82662
+ target: this.cellByIndex(rowIndex, getColIndex(colIndex))
82663
+ });
82664
+ count++;
82665
+ updateBounds(rowIndex, colIndex);
82666
+ } else {
82667
+ mapRow.push(false);
82668
+ }
82669
+ });
82670
+ map.push(mapRow);
82671
+ } else {
82672
+ map.push(blankArr);
82673
+ }
82674
+ });
82675
+ if (count === 0 && this.activeCell && this.activeCell.node) {
82676
+ bounds.minRow = this.activeCell.row;
82677
+ bounds.maxRow = this.activeCell.row;
82678
+ bounds.minCol = this.activeCell.cell;
82679
+ bounds.maxCol = this.activeCell.cell;
82680
+ const column = this.visibleColumns[getColIndex(this.activeCell.cell)];
82681
+ const value = this.data[this.activeCell.row] ? this.data[this.activeCell.row][column.field || column.id] : null;
82682
+ map[this.activeCell.row][this.activeCell.cell] = {
82683
+ value,
82684
+ row: this.activeCell.row,
82685
+ col: this.activeCell.cell,
82686
+ target: this.activeCell.node
82687
+ };
82688
+ }
82689
+ return { bounds, map };
82690
+ }
82507
82691
  /**
82508
82692
  * Get the selected rows across all pages, if a paged dataset is present
82509
82693
  * @returns {Array<object>} An array of all currently selected rows
@@ -82534,8 +82718,9 @@ ids-icon {
82534
82718
  * @param {boolean} isClear do not keep current data
82535
82719
  */
82536
82720
  updateDataset(row, data, isClear) {
82537
- if (!data[this.idColumn] && this.data[row]) {
82538
- data[this.idColumn] = this.data[row][this.idColumn];
82721
+ const idCol = this.idColumn || "id";
82722
+ if (!data[idCol] && this.data[row] && data[idCol] !== "") {
82723
+ data[idCol] = this.data[row][idCol];
82539
82724
  }
82540
82725
  if (row < this.data.length) {
82541
82726
  if (isClear) this.data[row] = data;
@@ -82572,6 +82757,24 @@ ids-icon {
82572
82757
  __privateMethod(this, _IdsDataGrid_instances, updateCellDirtyState_fn).call(this, existingRow, row, data);
82573
82758
  IdsDataGridCell.cellCache = {};
82574
82759
  this.rowByIndex(row)?.refreshRow();
82760
+ this.updateSelectedCells();
82761
+ }
82762
+ /**
82763
+ * Updates the selected status of the cells
82764
+ */
82765
+ updateSelectedCells() {
82766
+ const colSelectedCount = Array(this.visibleColumns.length).fill(0);
82767
+ this.data.forEach((row, rowIndex) => {
82768
+ if (row.colSelected) {
82769
+ row.colSelected.forEach((selected, colIndex) => {
82770
+ this.selectCell(rowIndex, colIndex, selected);
82771
+ colSelectedCount[colIndex] += selected ? 1 : 0;
82772
+ });
82773
+ }
82774
+ });
82775
+ colSelectedCount.forEach((selected, index) => {
82776
+ this.header?.setColumnCheckbox(index, selected >= this.rowCount);
82777
+ });
82575
82778
  }
82576
82779
  /**
82577
82780
  * Get the row HTMLElement
@@ -82654,6 +82857,9 @@ ids-icon {
82654
82857
  if (data === void 0) {
82655
82858
  data = {};
82656
82859
  }
82860
+ if (this.data[index]) {
82861
+ data.colSelected = this.data[index].colSelected;
82862
+ }
82657
82863
  this.updateDataset(index, data, true);
82658
82864
  this.datasource.refreshPreviousState();
82659
82865
  this.redrawBody();
@@ -82733,6 +82939,36 @@ ids-icon {
82733
82939
  if (this.groupSelectsChildren) row?.toggleChildRowSelection(true);
82734
82940
  this.header?.setHeaderCheckbox();
82735
82941
  }
82942
+ /**
82943
+ * Select all cells in that column
82944
+ * @param {number} colIndex Column index
82945
+ */
82946
+ selectColumn(colIndex) {
82947
+ this.columns[colIndex].isSelected = true;
82948
+ for (let rowIndex = 0; rowIndex < this.rowCount; rowIndex++) {
82949
+ this.selectCell(rowIndex, colIndex, true);
82950
+ }
82951
+ }
82952
+ /**
82953
+ * Set the cell to selected or unselected
82954
+ * @param {number} rowIndex Row index of the target cell
82955
+ * @param {number} colIndex Column index of the target cell
82956
+ * @param {boolean} isSelected True to select, false to deselect
82957
+ */
82958
+ selectCell(rowIndex, colIndex, isSelected) {
82959
+ const cell = this.cellByIndex(rowIndex, colIndex);
82960
+ let colSelected = this.data[rowIndex].colSelected;
82961
+ if (!colSelected) {
82962
+ colSelected = Array(this.columns.length).fill(false);
82963
+ }
82964
+ if (isSelected) {
82965
+ cell?.classList.add("selected");
82966
+ } else {
82967
+ cell?.classList.remove("selected");
82968
+ }
82969
+ colSelected[colIndex] = isSelected;
82970
+ this.updateDataset(rowIndex, { colSelected });
82971
+ }
82736
82972
  /**
82737
82973
  * Stores a record in server-side selections
82738
82974
  * @param {number} index the row number to select
@@ -82823,6 +83059,17 @@ ids-icon {
82823
83059
  if (this.groupSelectsChildren) row.toggleChildRowSelection(false);
82824
83060
  this.header?.setHeaderCheckbox();
82825
83061
  }
83062
+ /**
83063
+ * Deselect all the cell in the column
83064
+ * @param {number} colIndex Column index
83065
+ */
83066
+ deSelectColumn(colIndex) {
83067
+ this.columns[colIndex].isSelected = false;
83068
+ for (let rowIndex = 0; rowIndex < this.rowCount; rowIndex++) {
83069
+ this.selectCell(rowIndex, colIndex, false);
83070
+ }
83071
+ this.header?.setColumnCheckbox(colIndex, false);
83072
+ }
82826
83073
  /**
82827
83074
  * Removes a record from server-side selections
82828
83075
  * @param {number} index the row number to select
@@ -82917,6 +83164,11 @@ ids-icon {
82917
83164
  row.rowSelected = false;
82918
83165
  }
82919
83166
  });
83167
+ if (this.colSelection || this.cellSelection) {
83168
+ this.columns.forEach((_col, colIndex) => {
83169
+ this.deSelectColumn(colIndex);
83170
+ });
83171
+ }
82920
83172
  this.triggerEvent("selectionchanged", this, {
82921
83173
  detail: {
82922
83174
  elem: this,
@@ -82924,6 +83176,8 @@ ids-icon {
82924
83176
  }
82925
83177
  });
82926
83178
  this.header?.setHeaderCheckbox();
83179
+ __privateSet(this, _startSelectionCell, null);
83180
+ __privateSet(this, _endSelectionCell, null);
82927
83181
  }
82928
83182
  /**
82929
83183
  * Toggle the selection of all rows
@@ -83319,7 +83573,7 @@ ids-icon {
83319
83573
  format = format === "csv" || format === "xlsx" ? format : "xlsx";
83320
83574
  keepGridFormatting = format === "csv" ? true : keepGridFormatting;
83321
83575
  this.columns.forEach((gridCol) => {
83322
- if (gridCol.id && gridCol.field && gridCol.name) {
83576
+ if (gridCol.id && gridCol.field && gridCol.name && gridCol?.exportable !== false) {
83323
83577
  gridColCache[gridCol.id] = gridCol;
83324
83578
  xlColumns[gridCol.id] = {
83325
83579
  id: gridCol.id,
@@ -83453,6 +83707,8 @@ ids-icon {
83453
83707
  await modal.show();
83454
83708
  }
83455
83709
  };
83710
+ _startSelectionCell = new WeakMap();
83711
+ _endSelectionCell = new WeakMap();
83456
83712
  _currentScroll = new WeakMap();
83457
83713
  _header = new WeakMap();
83458
83714
  _IdsDataGrid_instances = new WeakSet();
@@ -83525,13 +83781,17 @@ ids-icon {
83525
83781
  */
83526
83782
  attachEventHandlers_fn38 = function() {
83527
83783
  const body = this.body;
83528
- this.offEvent("mousedown.body", body);
83529
- this.onEvent("mousedown.body", body, (e) => {
83530
- const cell = e.target.closest("ids-data-grid-cell");
83531
- if (cell !== this.activeCell.node) {
83532
- e.preventDefault();
83533
- }
83534
- });
83784
+ if (this.cellSelection) {
83785
+ __privateMethod(this, _IdsDataGrid_instances, attachDragSelection_fn).call(this, body);
83786
+ } else {
83787
+ this.offEvent("mousedown.body", body);
83788
+ this.onEvent("mousedown.body", body, (e) => {
83789
+ const cell = e.target.closest("ids-data-grid-cell");
83790
+ if (cell !== this.activeCell.node) {
83791
+ e.preventDefault();
83792
+ }
83793
+ });
83794
+ }
83535
83795
  this.offEvent("click.body", body);
83536
83796
  this.onEvent("click.body", body, (e) => {
83537
83797
  let cell = e.target.closest("ids-data-grid-cell");
@@ -83539,7 +83799,15 @@ ids-icon {
83539
83799
  cell = e.target.querySelector("ids-data-grid-cell");
83540
83800
  }
83541
83801
  if (!cell) return;
83542
- if (cell?.isEditing) return;
83802
+ if (cell?.isEditing) {
83803
+ if (cell?.tabIndex === 0) {
83804
+ return;
83805
+ }
83806
+ cell?.endCellEdit();
83807
+ }
83808
+ if (this.cellSelection) {
83809
+ this.deSelectAllRows();
83810
+ }
83543
83811
  const cellNum = Number(cell.getAttribute("aria-colindex")) - 1;
83544
83812
  const row = cell.parentNode;
83545
83813
  if (row.disabled) return;
@@ -83666,8 +83934,25 @@ ids-icon {
83666
83934
  }
83667
83935
  if (this.editable && column.editor) {
83668
83936
  cell.startCellEdit(e);
83937
+ this.updateSelectionBorder(true);
83669
83938
  }
83670
83939
  });
83940
+ this.offEvent("copy.body", body);
83941
+ this.onEvent("copy.body", body, (e) => {
83942
+ __privateMethod(this, _IdsDataGrid_instances, handleCopy_fn).call(this, e);
83943
+ });
83944
+ this.offEvent("copy", this);
83945
+ this.onEvent("copy", this, (e) => {
83946
+ __privateMethod(this, _IdsDataGrid_instances, handleCopy_fn).call(this, e);
83947
+ });
83948
+ this.offEvent("paste.body", body);
83949
+ this.onEvent("paste.body", body, (e) => {
83950
+ __privateMethod(this, _IdsDataGrid_instances, handlePaste_fn).call(this, e);
83951
+ });
83952
+ this.offEvent("paste", this);
83953
+ this.onEvent("paste", this, (e) => {
83954
+ __privateMethod(this, _IdsDataGrid_instances, handlePaste_fn).call(this, e);
83955
+ });
83671
83956
  this.offEvent("dblclick.container", this.container);
83672
83957
  this.onEvent("dblclick.container", this.container, (e) => {
83673
83958
  if (e.target.classList?.contains("ids-data-grid-checkbox-container") && e.target.getAttribute("disabled") === "true") {
@@ -83686,6 +83971,124 @@ ids-icon {
83686
83971
  this.filters?.attachFilterEventHandlers();
83687
83972
  this.attachSaveSettingsEventHandlers?.();
83688
83973
  };
83974
+ /**
83975
+ * Handle the drag and select behavior
83976
+ * @private
83977
+ * @param {HTMLElement | null} body Datagrid body
83978
+ */
83979
+ attachDragSelection_fn = function(body) {
83980
+ let isDragging = false;
83981
+ let deselectAllRows = true;
83982
+ let startCell = null;
83983
+ let prevBounds = null;
83984
+ let selectionBorder = null;
83985
+ this.offEvent("mousedown.body", body);
83986
+ this.onEvent("mousedown.body", body, (e) => {
83987
+ const cell = e.target.closest("ids-data-grid-cell");
83988
+ if (cell !== this.activeCell.node) {
83989
+ e.preventDefault();
83990
+ }
83991
+ if (!cell || cell.classList.contains("formatter-selectionCheckbox") || isDragging) return;
83992
+ if (selectionBorder) selectionBorder.style.display = "none";
83993
+ isDragging = true;
83994
+ startCell = {
83995
+ row: parseInt(cell.parentElement?.getAttribute("row-index") || "0"),
83996
+ col: parseInt(cell.getAttribute("aria-colindex") || "1") - 1,
83997
+ cell
83998
+ };
83999
+ });
84000
+ this.offEvent("mousemove.body", body);
84001
+ this.onEvent("mousemove.body", body, (e) => {
84002
+ const cell = e.target.closest("ids-data-grid-cell");
84003
+ if (!isDragging || !startCell || !cell) return;
84004
+ if (startCell && startCell.cell !== this.activeCell.node) {
84005
+ this.setActiveCell(startCell.col, startCell.row);
84006
+ }
84007
+ if (deselectAllRows) {
84008
+ this.deSelectAllRows();
84009
+ deselectAllRows = false;
84010
+ }
84011
+ const currentRow = parseInt(cell.parentElement?.getAttribute("row-index") || "0");
84012
+ const currentCol = parseInt(cell.getAttribute("aria-colindex") || "0") - 1;
84013
+ const bounds = {
84014
+ minRow: Math.min(startCell.row, currentRow),
84015
+ maxRow: Math.max(startCell.row, currentRow),
84016
+ minCol: Math.min(startCell.col, currentCol),
84017
+ maxCol: Math.max(startCell.col, currentCol)
84018
+ };
84019
+ const isSelected = (row, col) => {
84020
+ const c = this.cellByIndex(row, col);
84021
+ return c?.classList.contains("selected") || c?.parentElement?.classList.contains("selected") || false;
84022
+ };
84023
+ if (prevBounds) {
84024
+ for (let row = prevBounds.minRow; row <= prevBounds.maxRow; row++) {
84025
+ for (let col = prevBounds.minCol; col <= prevBounds.maxCol; col++) {
84026
+ const isOutside = row < bounds.minRow || row > bounds.maxRow || col < bounds.minCol || col > bounds.maxCol;
84027
+ if (isOutside) this.selectCell(row, col, false);
84028
+ }
84029
+ }
84030
+ }
84031
+ for (let row = bounds.minRow; row <= bounds.maxRow; row++) {
84032
+ for (let col = bounds.minCol; col <= bounds.maxCol; col++) {
84033
+ if (!isSelected(row, col)) this.selectCell(row, col, true);
84034
+ }
84035
+ }
84036
+ if (!selectionBorder) {
84037
+ selectionBorder = __privateMethod(this, _IdsDataGrid_instances, createSelectionBorder_fn).call(this);
84038
+ this.container?.appendChild(selectionBorder);
84039
+ } else {
84040
+ selectionBorder.style.display = "block";
84041
+ }
84042
+ __privateMethod(this, _IdsDataGrid_instances, updateSelectionBorder_fn).call(this, startCell.cell || cell, cell);
84043
+ prevBounds = bounds;
84044
+ });
84045
+ this.onEvent("mouseup.body", body, () => {
84046
+ isDragging = false;
84047
+ deselectAllRows = true;
84048
+ prevBounds = null;
84049
+ startCell = null;
84050
+ });
84051
+ this.onEvent("mouseleave", this.container, () => {
84052
+ isDragging = false;
84053
+ deselectAllRows = true;
84054
+ prevBounds = null;
84055
+ startCell = null;
84056
+ });
84057
+ };
84058
+ /**
84059
+ * Create the selection border when drag and selecting cells
84060
+ * @private
84061
+ * @returns {HTMLElement} The initial selection border element
84062
+ */
84063
+ createSelectionBorder_fn = function() {
84064
+ const border = document.createElement("div");
84065
+ border.classList.add("selection-border");
84066
+ return border;
84067
+ };
84068
+ /**
84069
+ * Update the size and position of the selection border as the mouse moves
84070
+ * @private
84071
+ * @param {HTMLElement} startCell Cell where selection started
84072
+ * @param {HTMLElement} endCell Current cell where the mouse is on
84073
+ */
84074
+ updateSelectionBorder_fn = function(startCell, endCell) {
84075
+ const border = this.container?.querySelector(".selection-border");
84076
+ if (!border) return;
84077
+ const startRect = startCell.getBoundingClientRect();
84078
+ const endRect = endCell.getBoundingClientRect();
84079
+ const containerRect = this.container?.getBoundingClientRect();
84080
+ if (!containerRect) return;
84081
+ const left = Math.min(startRect.left, endRect.left) - containerRect.left;
84082
+ const top = Math.min(startRect.top, endRect.top) - containerRect.top;
84083
+ const right = Math.max(startRect.right, endRect.right) - containerRect.left;
84084
+ const bottom = Math.max(startRect.bottom, endRect.bottom) - containerRect.top;
84085
+ border.style.left = `${left}px`;
84086
+ border.style.top = `${top}px`;
84087
+ border.style.width = `${right - left - 2}px`;
84088
+ border.style.height = `${bottom - top - 2}px`;
84089
+ __privateSet(this, _startSelectionCell, startCell);
84090
+ __privateSet(this, _endSelectionCell, endCell);
84091
+ };
83689
84092
  /**
83690
84093
  * Establish Internal Keyboard shortcuts
83691
84094
  * @private
@@ -83863,10 +84266,15 @@ ids-icon {
83863
84266
  });
83864
84267
  this.offEvent("keydown.body", this);
83865
84268
  this.onEvent("keydown.body", this, (e) => {
84269
+ const isCtrlDown = e.ctrlKey || e.metaKey;
84270
+ const isKeyCopyPaste = e.key === "v" || e.key === "c";
84271
+ if (isCtrlDown && isKeyCopyPaste) return;
83866
84272
  const isPrintableKey = e.key.length === 1;
83867
84273
  if (!this.activeCellEditor && isPrintableKey && e.key !== " ") {
83868
84274
  const activeCell = this.activeCell?.node;
83869
- activeCell?.startCellEdit?.();
84275
+ if (activeCell?.tabIndex === 0) {
84276
+ activeCell?.startCellEdit?.();
84277
+ }
83870
84278
  const inputElem = this.activeCellEditor?.editor?.input;
83871
84279
  const columnSettings = activeCell?.column?.editor?.editorSettings;
83872
84280
  if (inputElem && columnSettings?.autoselect) {
@@ -83939,7 +84347,7 @@ ids-icon {
83939
84347
  };
83940
84348
  /* Calculate an array with maxContentWidth for each column */
83941
84349
  calcMaxContentWidth_fn = function() {
83942
- if (Object.keys(__privateGet(this, _maxContentColumnWidths)).length > 0) return __privateGet(this, _maxContentColumnWidths);
84350
+ if (Object.keys(this.maxContentColumnWidths).length > 0) return this.maxContentColumnWidths;
83943
84351
  const canvas = document.createElement("canvas");
83944
84352
  const context = canvas.getContext("2d");
83945
84353
  if (!context) return [];
@@ -83948,17 +84356,27 @@ ids-icon {
83948
84356
  return context.measureText(text).width;
83949
84357
  };
83950
84358
  const rowsToProcess = this.virtualScroll ? this.virtualRows.slice(0, this.virtualScrollSettings.MAX_ROWS_IN_DOM) : this.data;
83951
- this.visibleColumns.forEach((column) => {
84359
+ this.visibleColumns.forEach((column, i) => {
83952
84360
  if (column.width === "max-content") {
83953
84361
  let maxWidth = measureTextWidth((column.name || "").toString(), "600 16px arial");
83954
84362
  if (this.data.length > 0) {
83955
84363
  rowsToProcess.forEach((row) => {
83956
- let cellText = row[column.field || ""] ? row[column.field || ""].toString() : "";
83957
- if (column?.formatter?.name === "dropdown" && column?.editor?.editorSettings?.options) {
83958
- const option = column.editor.editorSettings.options.find(
83959
- (opt) => opt.value.toString() === cellText
83960
- );
83961
- cellText = option?.label || cellText;
84364
+ let cellText = "";
84365
+ if (column.useValueForSizing !== false && column.formatter) {
84366
+ const formatterResult = typeof column.formatter === "function" && !column.formatter.hasOwnProperty("bind") ? column.formatter.call(this.formatters, row, column, i, this) : column.formatter(row, column, i, this);
84367
+ if (typeof formatterResult === "string") {
84368
+ cellText = formatterResult.replace(/<[^>]*>/g, "");
84369
+ } else {
84370
+ cellText = row[column.field || ""] ? row[column.field || ""].toString() : "";
84371
+ }
84372
+ } else {
84373
+ cellText = row[column.field || ""] ? row[column.field || ""].toString() : "";
84374
+ if (column?.formatter?.name === "dropdown" && column?.editor?.editorSettings?.options) {
84375
+ const option = column.editor.editorSettings.options.find(
84376
+ (opt) => opt.value.toString() === cellText
84377
+ );
84378
+ cellText = option?.label || cellText;
84379
+ }
83962
84380
  }
83963
84381
  const cellWidth = measureTextWidth(cellText, `400 16px arial`);
83964
84382
  if (cellWidth > maxWidth) {
@@ -83973,12 +84391,11 @@ ids-icon {
83973
84391
  if (column?.filterType && !(Array.isArray(column.filterConditions) && column.filterConditions.length === 0)) {
83974
84392
  maxWidth = Math.max(maxWidth, 100);
83975
84393
  }
83976
- __privateGet(this, _maxContentColumnWidths)[column.id] = maxWidth + this.rowHeightPadding * 2 + extraPadding;
84394
+ this.maxContentColumnWidths[column.id] = maxWidth + this.rowHeightPadding * 2 + extraPadding;
83977
84395
  }
83978
84396
  });
83979
- return __privateGet(this, _maxContentColumnWidths);
84397
+ return this.maxContentColumnWidths;
83980
84398
  };
83981
- _maxContentColumnWidths = new WeakMap();
83982
84399
  /**
83983
84400
  * Reapply dirty states to cells after column visibility changes.
83984
84401
  * This ensures that dirty cell states are maintained in the correct positions
@@ -84513,6 +84930,7 @@ ids-icon {
84513
84930
  * @param {Record<string, unknown>} data data The new data being applied to the row
84514
84931
  */
84515
84932
  saveCellOriginalValue_fn = function(existingRow, row, data) {
84933
+ if (!(existingRow && data)) return;
84516
84934
  Object.keys(data).forEach((field) => {
84517
84935
  if (existingRow[field] !== data[field]) {
84518
84936
  const columnIndex = this.columns.findIndex((col) => col.field === field);
@@ -84534,6 +84952,7 @@ ids-icon {
84534
84952
  * @param {Record<string, unknown>} data The new data being applied to the row
84535
84953
  */
84536
84954
  updateCellDirtyState_fn = function(existingRow, row, data) {
84955
+ if (!(existingRow && data)) return;
84537
84956
  Object.keys(data).forEach((field) => {
84538
84957
  if (existingRow[field] !== data[field]) {
84539
84958
  const fullColumnIndex = this.columnIdxById(field);
@@ -84631,6 +85050,87 @@ ids-icon {
84631
85050
  }
84632
85051
  });
84633
85052
  };
85053
+ /**
85054
+ * Handle the copy event
85055
+ * @private
85056
+ * @param {ClipboardEvent} e Clipboard event when copy is triggered
85057
+ */
85058
+ handleCopy_fn = function(e) {
85059
+ const selectedMap = this.selectedMap;
85060
+ const bounds = selectedMap.bounds;
85061
+ if (bounds.maxRow === -1) return;
85062
+ e.preventDefault();
85063
+ e.stopPropagation();
85064
+ const copyRows = [];
85065
+ for (let rowIndex = bounds.minRow; rowIndex <= bounds.maxRow; rowIndex++) {
85066
+ const rowData = [];
85067
+ for (let colIndex = bounds.minCol; colIndex <= bounds.maxCol; colIndex++) {
85068
+ const cell = selectedMap.map[rowIndex][colIndex];
85069
+ let copyValue = "";
85070
+ if (cell) {
85071
+ copyValue = cell.target?.value ? cell.target.value : cell.value;
85072
+ }
85073
+ rowData.push(copyValue);
85074
+ }
85075
+ copyRows.push(rowData.join(" "));
85076
+ }
85077
+ e.clipboardData?.setData("text/plain", copyRows.join("\n"));
85078
+ };
85079
+ /**
85080
+ * Handle the paste event
85081
+ * @private
85082
+ * @param {ClipboardEvent} e Clipboard event when paste is triggered
85083
+ */
85084
+ handlePaste_fn = function(e) {
85085
+ const selectedMap = this.selectedMap;
85086
+ if (selectedMap.bounds.maxRow === -1) return;
85087
+ e.preventDefault();
85088
+ e.stopPropagation();
85089
+ const pasteData = e.clipboardData?.getData("text/plain") || "";
85090
+ const pasteRows = pasteData.split(/\r\n|\n|\r/).map((row) => row.split(" "));
85091
+ const columns = this.rowSelection ? this.visibleColumns.slice(1, this.visibleColumns.length) : this.visibleColumns;
85092
+ const bounds = selectedMap.bounds;
85093
+ const activeCell = this.activeCell.node;
85094
+ if (this.activeCellEditor && this.activeCellCanClose()) {
85095
+ activeCell.cancelCellEdit();
85096
+ activeCell.focus();
85097
+ }
85098
+ if (bounds.maxRow === -1) {
85099
+ bounds.minRow = parseInt(activeCell.parentElement?.getAttribute("row-index") || "0");
85100
+ bounds.minCol = parseInt(activeCell.getAttribute("aria-colindex") || "0") - 1;
85101
+ bounds.minCol = this.rowSelection ? bounds.minCol - 1 : bounds.minCol;
85102
+ }
85103
+ let pRow = 0;
85104
+ let pCol;
85105
+ let shouldUpdate;
85106
+ for (let rowIndex = bounds.minRow; rowIndex <= this.data.length && pRow < pasteRows.length; rowIndex++) {
85107
+ pCol = 0;
85108
+ shouldUpdate = false;
85109
+ const updateData = { ...this.data[rowIndex] };
85110
+ for (let colIndex = bounds.minCol; colIndex <= this.columns.length && pCol < pasteRows[pRow].length; colIndex++) {
85111
+ const column = columns[colIndex];
85112
+ if (!column) continue;
85113
+ const cell = this.cellByIndex(rowIndex, this.rowSelection ? colIndex + 1 : colIndex);
85114
+ const cellEditable = !(cell?.classList.contains("is-readonly") || cell?.classList.contains("is-disabled")) && column.editor;
85115
+ if (cellEditable && pasteRows[pRow][pCol].length > 0) {
85116
+ let pasteValue = pasteRows[pRow][pCol];
85117
+ if (column.editor && column.editor.editorSettings) {
85118
+ const settings = column.editor.editorSettings;
85119
+ if (settings.maxlength) {
85120
+ pasteValue = pasteValue.substring(0, settings.maxlength);
85121
+ }
85122
+ }
85123
+ shouldUpdate = true;
85124
+ updateData[column.field || column.id] = pasteValue;
85125
+ }
85126
+ pCol++;
85127
+ }
85128
+ if (shouldUpdate) {
85129
+ this.updateDatasetAndRefresh(rowIndex, updateData);
85130
+ }
85131
+ pRow++;
85132
+ }
85133
+ };
84634
85134
  IdsDataGrid = __decorateClass([
84635
85135
  customElement("ids-data-grid"),
84636
85136
  scss(ids_data_grid_default)