@senior-gestao-empresarial/erpx-components 0.0.0-develop-3bab051d

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 (382) hide show
  1. package/bundles/senior-gestao-empresarial-erpx-components.umd.js +37665 -0
  2. package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -0
  3. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +17 -0
  4. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -0
  5. package/components/breadcrumb/breadcrumb.component.d.ts +21 -0
  6. package/components/breadcrumb/breadcrumb.module.d.ts +2 -0
  7. package/components/breadcrumb/index.d.ts +2 -0
  8. package/components/focus/focus.service.d.ts +4 -0
  9. package/components/lote-serie/erp-lote-serie.component.d.ts +183 -0
  10. package/components/lote-serie/erp-lote-serie.module.d.ts +2 -0
  11. package/components/lote-serie/erp-lote-serie.service.d.ts +137 -0
  12. package/components/lote-serie/index.d.ts +2 -0
  13. package/components/rateio-editor/erp-rateio-editor.component.d.ts +202 -0
  14. package/components/rateio-editor/erp-rateio-editor.converter.d.ts +18 -0
  15. package/components/rateio-editor/erp-rateio-editor.module.d.ts +2 -0
  16. package/components/rateio-editor/erp-rateio-editor.service.d.ts +17 -0
  17. package/components/rateio-editor/erp-rateio-editor.types.d.ts +171 -0
  18. package/components/rateio-editor/index.d.ts +4 -0
  19. package/components/resumo/erp-resumo.component.d.ts +17 -0
  20. package/components/resumo/erp-resumo.module.d.ts +2 -0
  21. package/components/resumo/erp-resumo.service.d.ts +2 -0
  22. package/components/resumo/index.d.ts +2 -0
  23. package/components/tributos/calculators/effective-tax-rate-calculator.d.ts +34 -0
  24. package/components/tributos/calculators/gross-amount-calculator.d.ts +20 -0
  25. package/components/tributos/calculators/tax-amount-calculator.d.ts +54 -0
  26. package/components/tributos/erp-tributos.component.d.ts +215 -0
  27. package/components/tributos/erp-tributos.module.d.ts +2 -0
  28. package/components/tributos/erp-tributos.service.d.ts +10 -0
  29. package/components/tributos/erp-tributos.types.d.ts +286 -0
  30. package/components/tributos/index.d.ts +12 -0
  31. package/components/tributos/mappings/enum-tip-imp-cst-mapping.d.ts +2 -0
  32. package/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.d.ts +15 -0
  33. package/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.d.ts +28 -0
  34. package/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.d.ts +30 -0
  35. package/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.d.ts +22 -0
  36. package/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.d.ts +22 -0
  37. package/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.d.ts +5 -0
  38. package/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.d.ts +5 -0
  39. package/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.d.ts +8 -0
  40. package/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.d.ts +8 -0
  41. package/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.d.ts +5 -0
  42. package/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.d.ts +8 -0
  43. package/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.d.ts +5 -0
  44. package/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.d.ts +6 -0
  45. package/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.d.ts +5 -0
  46. package/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.d.ts +5 -0
  47. package/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.d.ts +8 -0
  48. package/components/tributos/rules/rules.service.d.ts +19 -0
  49. package/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.d.ts +16 -0
  50. package/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.d.ts +12 -0
  51. package/components/tributos/rules/status/registries/purchase-order-status-rules.registry.d.ts +12 -0
  52. package/components/tributos/rules/status/registries/sale-order-status-rules.registry.d.ts +8 -0
  53. package/components/tributos/rules/status/registries/status-rules.registry.d.ts +15 -0
  54. package/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.d.ts +5 -0
  55. package/components/tributos/rules/status/rules/tax-classification-status-rule.d.ts +5 -0
  56. package/components/tributos/rules/status/rules/tax-rate-status-rule.d.ts +5 -0
  57. package/components/tributos/rules/status/rules/taxable-base-status-rule.d.ts +5 -0
  58. package/components/tributos/rules/types/available-fields.d.ts +2 -0
  59. package/components/tributos/rules/types/available-taxes.d.ts +1 -0
  60. package/components/tributos/rules/types/field-calculation-rule-mapping.d.ts +6 -0
  61. package/components/tributos/rules/types/field-rule-mapping.d.ts +6 -0
  62. package/components/tributos/rules/types/field-status-rule-mapping.d.ts +6 -0
  63. package/components/tributos/rules/types/rule-payload.d.ts +9 -0
  64. package/components/tributos/rules/types/schemas/incoming-invoice.schema.d.ts +235 -0
  65. package/components/tributos/rules/types/schemas/outgoing-invoice.schema.d.ts +349 -0
  66. package/components/tributos/rules/types/schemas/purchase-order.schema.d.ts +26 -0
  67. package/components/tributos/rules/types/schemas/sale-order.schema.d.ts +131 -0
  68. package/components/tributos/rules/types/strategies-by-document.d.ts +12 -0
  69. package/components/tributos/rules/types/strategies.d.ts +4 -0
  70. package/components/tributos/rules/types/tax-rule.d.ts +4 -0
  71. package/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.d.ts +20 -0
  72. package/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.d.ts +22 -0
  73. package/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.d.ts +14 -0
  74. package/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.d.ts +14 -0
  75. package/components/tributos/rules/validation/registries/validation-rules.registry.d.ts +15 -0
  76. package/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.d.ts +5 -0
  77. package/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.d.ts +5 -0
  78. package/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.d.ts +5 -0
  79. package/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.d.ts +5 -0
  80. package/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.d.ts +6 -0
  81. package/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.d.ts +6 -0
  82. package/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.d.ts +6 -0
  83. package/components/tributos/services/tax-rounding.service.d.ts +5 -0
  84. package/components/tributos/stores/tax.store.d.ts +10 -0
  85. package/components/tributos/tax-reform-utilities.d.ts +36 -0
  86. package/components/tributos/types/context.d.ts +7 -0
  87. package/components/tributos/types/controllership-incoming-invoice-context.d.ts +5 -0
  88. package/components/tributos/types/controllership-incoming-invoice.d.ts +3 -0
  89. package/components/tributos/types/controllership-outgoing-invoice-context.d.ts +5 -0
  90. package/components/tributos/types/controllership-outgoing-invoice.d.ts +3 -0
  91. package/components/tributos/types/credit-invoice-type.d.ts +1 -0
  92. package/components/tributos/types/debit-invoice-type.d.ts +1 -0
  93. package/components/tributos/types/group.d.ts +6 -0
  94. package/components/tributos/types/incoming-invoice-context.d.ts +5 -0
  95. package/components/tributos/types/incoming-invoice-item.d.ts +4 -0
  96. package/components/tributos/types/incoming-invoice-type.d.ts +1 -0
  97. package/components/tributos/types/incoming-invoice.d.ts +11 -0
  98. package/components/tributos/types/item-type.d.ts +1 -0
  99. package/components/tributos/types/outgoing-Invoice.d.ts +11 -0
  100. package/components/tributos/types/outgoing-invoice-context.d.ts +5 -0
  101. package/components/tributos/types/outgoing-invoice-item.d.ts +4 -0
  102. package/components/tributos/types/outgoing-invoice-type.d.ts +1 -0
  103. package/components/tributos/types/purchase-order-context.d.ts +5 -0
  104. package/components/tributos/types/purchase-order-type.d.ts +1 -0
  105. package/components/tributos/types/purchase-order.d.ts +8 -0
  106. package/components/tributos/types/sale-order-context.d.ts +5 -0
  107. package/components/tributos/types/sale-order-type.d.ts +1 -0
  108. package/components/tributos/types/sale-order.d.ts +8 -0
  109. package/components/tributos/types/tax.d.ts +8 -0
  110. package/components/utils/breakpoints.d.ts +10 -0
  111. package/components/utils/export-utils.d.ts +6 -0
  112. package/components/utils/index.d.ts +3 -0
  113. package/components/utils/loading-context.d.ts +7 -0
  114. package/components/utils/utils.d.ts +4 -0
  115. package/core/entities/entity-service.d.ts +32 -0
  116. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.d.ts +36 -0
  117. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.d.ts +40 -0
  118. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.d.ts +2 -0
  119. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.d.ts +11 -0
  120. package/core/enums/enum-classificacao-tributaria.d.ts +4 -0
  121. package/core/enums/enum-tipo-calculo-imposto.d.ts +5 -0
  122. package/core/enums/enum-tipo-documento-parametros.d.ts +7 -0
  123. package/core/enums/enum-tipo-documento.d.ts +10 -0
  124. package/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.d.ts +5 -0
  125. package/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.d.ts +8 -0
  126. package/esm2015/components/breadcrumb/breadcrumb.component.js +86 -0
  127. package/esm2015/components/breadcrumb/breadcrumb.module.js +17 -0
  128. package/esm2015/components/breadcrumb/index.js +3 -0
  129. package/esm2015/components/focus/focus.service.js +32 -0
  130. package/esm2015/components/lote-serie/erp-lote-serie.component.js +1772 -0
  131. package/esm2015/components/lote-serie/erp-lote-serie.module.js +47 -0
  132. package/esm2015/components/lote-serie/erp-lote-serie.service.js +94 -0
  133. package/esm2015/components/lote-serie/index.js +3 -0
  134. package/esm2015/components/rateio-editor/erp-rateio-editor.component.js +794 -0
  135. package/esm2015/components/rateio-editor/erp-rateio-editor.converter.js +52 -0
  136. package/esm2015/components/rateio-editor/erp-rateio-editor.module.js +40 -0
  137. package/esm2015/components/rateio-editor/erp-rateio-editor.service.js +49 -0
  138. package/esm2015/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  139. package/esm2015/components/rateio-editor/index.js +4 -0
  140. package/esm2015/components/resumo/erp-resumo.component.js +19 -0
  141. package/esm2015/components/resumo/erp-resumo.module.js +25 -0
  142. package/esm2015/components/resumo/erp-resumo.service.js +13 -0
  143. package/esm2015/components/resumo/index.js +2 -0
  144. package/esm2015/components/tributos/calculators/effective-tax-rate-calculator.js +53 -0
  145. package/esm2015/components/tributos/calculators/gross-amount-calculator.js +37 -0
  146. package/esm2015/components/tributos/calculators/tax-amount-calculator.js +87 -0
  147. package/esm2015/components/tributos/erp-tributos.component.js +5176 -0
  148. package/esm2015/components/tributos/erp-tributos.module.js +33 -0
  149. package/esm2015/components/tributos/erp-tributos.service.js +23 -0
  150. package/esm2015/components/tributos/erp-tributos.types.js +268 -0
  151. package/esm2015/components/tributos/index.js +4 -0
  152. package/esm2015/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  153. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +45 -0
  154. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3102 -0
  155. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4516 -0
  156. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +294 -0
  157. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1464 -0
  158. package/esm2015/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +48 -0
  159. package/esm2015/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +55 -0
  160. package/esm2015/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +83 -0
  161. package/esm2015/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +74 -0
  162. package/esm2015/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +72 -0
  163. package/esm2015/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +244 -0
  164. package/esm2015/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +74 -0
  165. package/esm2015/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +170 -0
  166. package/esm2015/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +100 -0
  167. package/esm2015/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +124 -0
  168. package/esm2015/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +292 -0
  169. package/esm2015/components/tributos/rules/rules.service.js +61 -0
  170. package/esm2015/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1076 -0
  171. package/esm2015/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1317 -0
  172. package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +62 -0
  173. package/esm2015/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +18 -0
  174. package/esm2015/components/tributos/rules/status/registries/status-rules.registry.js +45 -0
  175. package/esm2015/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +39 -0
  176. package/esm2015/components/tributos/rules/status/rules/tax-classification-status-rule.js +94 -0
  177. package/esm2015/components/tributos/rules/status/rules/tax-rate-status-rule.js +61 -0
  178. package/esm2015/components/tributos/rules/status/rules/taxable-base-status-rule.js +65 -0
  179. package/esm2015/components/tributos/rules/types/available-fields.js +1 -0
  180. package/esm2015/components/tributos/rules/types/available-taxes.js +1 -0
  181. package/esm2015/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  182. package/esm2015/components/tributos/rules/types/field-rule-mapping.js +1 -0
  183. package/esm2015/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  184. package/esm2015/components/tributos/rules/types/rule-payload.js +1 -0
  185. package/esm2015/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1816 -0
  186. package/esm2015/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2750 -0
  187. package/esm2015/components/tributos/rules/types/schemas/purchase-order.schema.js +150 -0
  188. package/esm2015/components/tributos/rules/types/schemas/sale-order.schema.js +879 -0
  189. package/esm2015/components/tributos/rules/types/strategies-by-document.js +1 -0
  190. package/esm2015/components/tributos/rules/types/strategies.js +1 -0
  191. package/esm2015/components/tributos/rules/types/tax-rule.js +1 -0
  192. package/esm2015/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3606 -0
  193. package/esm2015/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5452 -0
  194. package/esm2015/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +270 -0
  195. package/esm2015/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1392 -0
  196. package/esm2015/components/tributos/rules/validation/registries/validation-rules.registry.js +45 -0
  197. package/esm2015/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +73 -0
  198. package/esm2015/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +78 -0
  199. package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +902 -0
  200. package/esm2015/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +401 -0
  201. package/esm2015/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +719 -0
  202. package/esm2015/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +300 -0
  203. package/esm2015/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +717 -0
  204. package/esm2015/components/tributos/services/tax-rounding.service.js +18 -0
  205. package/esm2015/components/tributos/stores/tax.store.js +19 -0
  206. package/esm2015/components/tributos/tax-reform-utilities.js +243 -0
  207. package/esm2015/components/tributos/types/context.js +1 -0
  208. package/esm2015/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  209. package/esm2015/components/tributos/types/controllership-incoming-invoice.js +1 -0
  210. package/esm2015/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  211. package/esm2015/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  212. package/esm2015/components/tributos/types/credit-invoice-type.js +1 -0
  213. package/esm2015/components/tributos/types/debit-invoice-type.js +1 -0
  214. package/esm2015/components/tributos/types/group.js +1 -0
  215. package/esm2015/components/tributos/types/incoming-invoice-context.js +1 -0
  216. package/esm2015/components/tributos/types/incoming-invoice-item.js +1 -0
  217. package/esm2015/components/tributos/types/incoming-invoice-type.js +1 -0
  218. package/esm2015/components/tributos/types/incoming-invoice.js +1 -0
  219. package/esm2015/components/tributos/types/item-type.js +1 -0
  220. package/esm2015/components/tributos/types/outgoing-Invoice.js +1 -0
  221. package/esm2015/components/tributos/types/outgoing-invoice-context.js +1 -0
  222. package/esm2015/components/tributos/types/outgoing-invoice-item.js +1 -0
  223. package/esm2015/components/tributos/types/outgoing-invoice-type.js +1 -0
  224. package/esm2015/components/tributos/types/purchase-order-context.js +1 -0
  225. package/esm2015/components/tributos/types/purchase-order-type.js +1 -0
  226. package/esm2015/components/tributos/types/purchase-order.js +1 -0
  227. package/esm2015/components/tributos/types/sale-order-context.js +1 -0
  228. package/esm2015/components/tributos/types/sale-order-type.js +1 -0
  229. package/esm2015/components/tributos/types/sale-order.js +1 -0
  230. package/esm2015/components/tributos/types/tax.js +2 -0
  231. package/esm2015/components/utils/breakpoints.js +11 -0
  232. package/esm2015/components/utils/export-utils.js +71 -0
  233. package/esm2015/components/utils/index.js +4 -0
  234. package/esm2015/components/utils/loading-context.js +20 -0
  235. package/esm2015/components/utils/utils.js +18 -0
  236. package/esm2015/core/entities/entity-service.js +91 -0
  237. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  238. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +62 -0
  239. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +24 -0
  240. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +24 -0
  241. package/esm2015/core/enums/enum-classificacao-tributaria.js +6 -0
  242. package/esm2015/core/enums/enum-tipo-calculo-imposto.js +7 -0
  243. package/esm2015/core/enums/enum-tipo-documento-parametros.js +9 -0
  244. package/esm2015/core/enums/enum-tipo-documento.js +12 -0
  245. package/esm2015/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  246. package/esm2015/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  247. package/esm2015/locale/fallback.js +56 -0
  248. package/esm2015/public-api.js +8 -0
  249. package/esm2015/senior-gestao-empresarial-erpx-components.js +58 -0
  250. package/esm5/components/breadcrumb/breadcrumb.component.js +91 -0
  251. package/esm5/components/breadcrumb/breadcrumb.module.js +20 -0
  252. package/esm5/components/breadcrumb/index.js +3 -0
  253. package/esm5/components/focus/focus.service.js +35 -0
  254. package/esm5/components/lote-serie/erp-lote-serie.component.js +1830 -0
  255. package/esm5/components/lote-serie/erp-lote-serie.module.js +50 -0
  256. package/esm5/components/lote-serie/erp-lote-serie.service.js +96 -0
  257. package/esm5/components/lote-serie/index.js +3 -0
  258. package/esm5/components/rateio-editor/erp-rateio-editor.component.js +861 -0
  259. package/esm5/components/rateio-editor/erp-rateio-editor.converter.js +68 -0
  260. package/esm5/components/rateio-editor/erp-rateio-editor.module.js +43 -0
  261. package/esm5/components/rateio-editor/erp-rateio-editor.service.js +51 -0
  262. package/esm5/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  263. package/esm5/components/rateio-editor/index.js +4 -0
  264. package/esm5/components/resumo/erp-resumo.component.js +22 -0
  265. package/esm5/components/resumo/erp-resumo.module.js +28 -0
  266. package/esm5/components/resumo/erp-resumo.service.js +16 -0
  267. package/esm5/components/resumo/index.js +2 -0
  268. package/esm5/components/tributos/calculators/effective-tax-rate-calculator.js +58 -0
  269. package/esm5/components/tributos/calculators/gross-amount-calculator.js +39 -0
  270. package/esm5/components/tributos/calculators/tax-amount-calculator.js +91 -0
  271. package/esm5/components/tributos/erp-tributos.component.js +5296 -0
  272. package/esm5/components/tributos/erp-tributos.module.js +36 -0
  273. package/esm5/components/tributos/erp-tributos.service.js +24 -0
  274. package/esm5/components/tributos/erp-tributos.types.js +268 -0
  275. package/esm5/components/tributos/index.js +4 -0
  276. package/esm5/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  277. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +46 -0
  278. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3104 -0
  279. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4518 -0
  280. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +296 -0
  281. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1466 -0
  282. package/esm5/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +60 -0
  283. package/esm5/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +77 -0
  284. package/esm5/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +92 -0
  285. package/esm5/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +83 -0
  286. package/esm5/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +87 -0
  287. package/esm5/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +286 -0
  288. package/esm5/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +89 -0
  289. package/esm5/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +241 -0
  290. package/esm5/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +118 -0
  291. package/esm5/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +200 -0
  292. package/esm5/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +330 -0
  293. package/esm5/components/tributos/rules/rules.service.js +139 -0
  294. package/esm5/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1078 -0
  295. package/esm5/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1319 -0
  296. package/esm5/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +64 -0
  297. package/esm5/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +19 -0
  298. package/esm5/components/tributos/rules/status/registries/status-rules.registry.js +46 -0
  299. package/esm5/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +43 -0
  300. package/esm5/components/tributos/rules/status/rules/tax-classification-status-rule.js +106 -0
  301. package/esm5/components/tributos/rules/status/rules/tax-rate-status-rule.js +68 -0
  302. package/esm5/components/tributos/rules/status/rules/taxable-base-status-rule.js +72 -0
  303. package/esm5/components/tributos/rules/types/available-fields.js +1 -0
  304. package/esm5/components/tributos/rules/types/available-taxes.js +1 -0
  305. package/esm5/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  306. package/esm5/components/tributos/rules/types/field-rule-mapping.js +1 -0
  307. package/esm5/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  308. package/esm5/components/tributos/rules/types/rule-payload.js +1 -0
  309. package/esm5/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1817 -0
  310. package/esm5/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2751 -0
  311. package/esm5/components/tributos/rules/types/schemas/purchase-order.schema.js +151 -0
  312. package/esm5/components/tributos/rules/types/schemas/sale-order.schema.js +880 -0
  313. package/esm5/components/tributos/rules/types/strategies-by-document.js +1 -0
  314. package/esm5/components/tributos/rules/types/strategies.js +1 -0
  315. package/esm5/components/tributos/rules/types/tax-rule.js +1 -0
  316. package/esm5/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3608 -0
  317. package/esm5/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5454 -0
  318. package/esm5/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +272 -0
  319. package/esm5/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1394 -0
  320. package/esm5/components/tributos/rules/validation/registries/validation-rules.registry.js +46 -0
  321. package/esm5/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +77 -0
  322. package/esm5/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +86 -0
  323. package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +968 -0
  324. package/esm5/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +433 -0
  325. package/esm5/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +774 -0
  326. package/esm5/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +323 -0
  327. package/esm5/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +772 -0
  328. package/esm5/components/tributos/services/tax-rounding.service.js +23 -0
  329. package/esm5/components/tributos/stores/tax.store.js +26 -0
  330. package/esm5/components/tributos/tax-reform-utilities.js +249 -0
  331. package/esm5/components/tributos/types/context.js +1 -0
  332. package/esm5/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  333. package/esm5/components/tributos/types/controllership-incoming-invoice.js +1 -0
  334. package/esm5/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  335. package/esm5/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  336. package/esm5/components/tributos/types/credit-invoice-type.js +1 -0
  337. package/esm5/components/tributos/types/debit-invoice-type.js +1 -0
  338. package/esm5/components/tributos/types/group.js +1 -0
  339. package/esm5/components/tributos/types/incoming-invoice-context.js +1 -0
  340. package/esm5/components/tributos/types/incoming-invoice-item.js +1 -0
  341. package/esm5/components/tributos/types/incoming-invoice-type.js +1 -0
  342. package/esm5/components/tributos/types/incoming-invoice.js +1 -0
  343. package/esm5/components/tributos/types/item-type.js +1 -0
  344. package/esm5/components/tributos/types/outgoing-Invoice.js +1 -0
  345. package/esm5/components/tributos/types/outgoing-invoice-context.js +1 -0
  346. package/esm5/components/tributos/types/outgoing-invoice-item.js +1 -0
  347. package/esm5/components/tributos/types/outgoing-invoice-type.js +1 -0
  348. package/esm5/components/tributos/types/purchase-order-context.js +1 -0
  349. package/esm5/components/tributos/types/purchase-order-type.js +1 -0
  350. package/esm5/components/tributos/types/purchase-order.js +1 -0
  351. package/esm5/components/tributos/types/sale-order-context.js +1 -0
  352. package/esm5/components/tributos/types/sale-order-type.js +1 -0
  353. package/esm5/components/tributos/types/sale-order.js +1 -0
  354. package/esm5/components/tributos/types/tax.js +2 -0
  355. package/esm5/components/utils/breakpoints.js +11 -0
  356. package/esm5/components/utils/export-utils.js +78 -0
  357. package/esm5/components/utils/index.js +4 -0
  358. package/esm5/components/utils/loading-context.js +22 -0
  359. package/esm5/components/utils/utils.js +20 -0
  360. package/esm5/core/entities/entity-service.js +98 -0
  361. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  362. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +67 -0
  363. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +27 -0
  364. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +27 -0
  365. package/esm5/core/enums/enum-classificacao-tributaria.js +6 -0
  366. package/esm5/core/enums/enum-tipo-calculo-imposto.js +7 -0
  367. package/esm5/core/enums/enum-tipo-documento-parametros.js +9 -0
  368. package/esm5/core/enums/enum-tipo-documento.js +12 -0
  369. package/esm5/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  370. package/esm5/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  371. package/esm5/locale/fallback.js +56 -0
  372. package/esm5/public-api.js +8 -0
  373. package/esm5/senior-gestao-empresarial-erpx-components.js +58 -0
  374. package/fesm2015/senior-gestao-empresarial-erpx-components.js +36350 -0
  375. package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -0
  376. package/fesm5/senior-gestao-empresarial-erpx-components.js +37396 -0
  377. package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -0
  378. package/locale/fallback.d.ts +55 -0
  379. package/package.json +23 -0
  380. package/public-api.d.ts +7 -0
  381. package/senior-gestao-empresarial-erpx-components.d.ts +57 -0
  382. package/senior-gestao-empresarial-erpx-components.metadata.json +1 -0
@@ -0,0 +1,1319 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { EnumCampoTributo, EnumTipoTributo } from '../../../erp-tributos.types';
4
+ import { ApplyNetValueToDocumentStatusRule } from '../rules/apply-net-value-to-document-status-rule';
5
+ import { TaxClassificationStatusRule } from '../rules/tax-classification-status-rule';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../rules/tax-classification-status-rule";
8
+ import * as i2 from "../rules/apply-net-value-to-document-status-rule";
9
+ var OutgoingInvoiceStatusRulesRegistry = /** @class */ (function () {
10
+ function OutgoingInvoiceStatusRulesRegistry(taxClassificationStatusRule, applyNetValueToDocumentStatusRule) {
11
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
12
+ this.taxClassificationStatusRule = taxClassificationStatusRule;
13
+ this.applyNetValueToDocumentStatusRule = applyNetValueToDocumentStatusRule;
14
+ this.strategies = {
15
+ 'Product And Service Sale': (_a = {},
16
+ _a[EnumTipoTributo.CBS] = [
17
+ {
18
+ field: EnumCampoTributo.ClassificacaoTributaria,
19
+ rule: this.taxClassificationStatusRule
20
+ },
21
+ {
22
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
23
+ rule: this.applyNetValueToDocumentStatusRule
24
+ }
25
+ ],
26
+ _a[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
27
+ {
28
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
29
+ rule: this.applyNetValueToDocumentStatusRule
30
+ }
31
+ ],
32
+ _a[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
33
+ {
34
+ field: EnumCampoTributo.ClassificacaoTributaria,
35
+ rule: this.taxClassificationStatusRule
36
+ }
37
+ ],
38
+ _a[EnumTipoTributo.IBS_ESTADUAL] = [
39
+ {
40
+ field: EnumCampoTributo.ClassificacaoTributaria,
41
+ rule: this.taxClassificationStatusRule
42
+ },
43
+ {
44
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
45
+ rule: this.applyNetValueToDocumentStatusRule
46
+ }
47
+ ],
48
+ _a[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
49
+ {
50
+ field: EnumCampoTributo.ClassificacaoTributaria,
51
+ rule: this.taxClassificationStatusRule
52
+ }
53
+ ],
54
+ _a[EnumTipoTributo.IBS_MUNICIPAL] = [
55
+ {
56
+ field: EnumCampoTributo.ClassificacaoTributaria,
57
+ rule: this.taxClassificationStatusRule
58
+ },
59
+ {
60
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
61
+ rule: this.applyNetValueToDocumentStatusRule
62
+ }
63
+ ],
64
+ _a[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
65
+ {
66
+ field: EnumCampoTributo.ClassificacaoTributaria,
67
+ rule: this.taxClassificationStatusRule
68
+ }
69
+ ],
70
+ _a[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
71
+ _a[EnumTipoTributo.IS] = [
72
+ {
73
+ field: EnumCampoTributo.ClassificacaoTributaria,
74
+ rule: this.taxClassificationStatusRule
75
+ }
76
+ ],
77
+ _a[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
78
+ {
79
+ field: EnumCampoTributo.ClassificacaoTributaria,
80
+ rule: this.taxClassificationStatusRule
81
+ }
82
+ ],
83
+ _a[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
84
+ {
85
+ field: EnumCampoTributo.ClassificacaoTributaria,
86
+ rule: this.taxClassificationStatusRule
87
+ }
88
+ ],
89
+ _a),
90
+ 'Product Return': (_b = {},
91
+ _b[EnumTipoTributo.CBS] = [
92
+ {
93
+ field: EnumCampoTributo.ClassificacaoTributaria,
94
+ rule: this.taxClassificationStatusRule
95
+ },
96
+ {
97
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
98
+ rule: this.applyNetValueToDocumentStatusRule
99
+ }
100
+ ],
101
+ _b[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
102
+ {
103
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
104
+ rule: this.applyNetValueToDocumentStatusRule
105
+ }
106
+ ],
107
+ _b[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
108
+ {
109
+ field: EnumCampoTributo.ClassificacaoTributaria,
110
+ rule: this.taxClassificationStatusRule
111
+ }
112
+ ],
113
+ _b[EnumTipoTributo.IBS_ESTADUAL] = [
114
+ {
115
+ field: EnumCampoTributo.ClassificacaoTributaria,
116
+ rule: this.taxClassificationStatusRule
117
+ },
118
+ {
119
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
120
+ rule: this.applyNetValueToDocumentStatusRule
121
+ }
122
+ ],
123
+ _b[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
124
+ {
125
+ field: EnumCampoTributo.ClassificacaoTributaria,
126
+ rule: this.taxClassificationStatusRule
127
+ }
128
+ ],
129
+ _b[EnumTipoTributo.IBS_MUNICIPAL] = [
130
+ {
131
+ field: EnumCampoTributo.ClassificacaoTributaria,
132
+ rule: this.taxClassificationStatusRule
133
+ },
134
+ {
135
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
136
+ rule: this.applyNetValueToDocumentStatusRule
137
+ }
138
+ ],
139
+ _b[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
140
+ {
141
+ field: EnumCampoTributo.ClassificacaoTributaria,
142
+ rule: this.taxClassificationStatusRule
143
+ }
144
+ ],
145
+ _b[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
146
+ _b[EnumTipoTributo.IS] = [
147
+ {
148
+ field: EnumCampoTributo.ClassificacaoTributaria,
149
+ rule: this.taxClassificationStatusRule
150
+ }
151
+ ],
152
+ _b[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
153
+ {
154
+ field: EnumCampoTributo.ClassificacaoTributaria,
155
+ rule: this.taxClassificationStatusRule
156
+ }
157
+ ],
158
+ _b[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
159
+ {
160
+ field: EnumCampoTributo.ClassificacaoTributaria,
161
+ rule: this.taxClassificationStatusRule
162
+ }
163
+ ],
164
+ _b),
165
+ 'Product Sale': (_c = {},
166
+ _c[EnumTipoTributo.CBS] = [
167
+ {
168
+ field: EnumCampoTributo.ClassificacaoTributaria,
169
+ rule: this.taxClassificationStatusRule
170
+ },
171
+ {
172
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
173
+ rule: this.applyNetValueToDocumentStatusRule
174
+ }
175
+ ],
176
+ _c[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
177
+ {
178
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
179
+ rule: this.applyNetValueToDocumentStatusRule
180
+ }
181
+ ],
182
+ _c[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
183
+ {
184
+ field: EnumCampoTributo.ClassificacaoTributaria,
185
+ rule: this.taxClassificationStatusRule
186
+ }
187
+ ],
188
+ _c[EnumTipoTributo.IBS_ESTADUAL] = [
189
+ {
190
+ field: EnumCampoTributo.ClassificacaoTributaria,
191
+ rule: this.taxClassificationStatusRule
192
+ },
193
+ {
194
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
195
+ rule: this.applyNetValueToDocumentStatusRule
196
+ }
197
+ ],
198
+ _c[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
199
+ {
200
+ field: EnumCampoTributo.ClassificacaoTributaria,
201
+ rule: this.taxClassificationStatusRule
202
+ }
203
+ ],
204
+ _c[EnumTipoTributo.IBS_MUNICIPAL] = [
205
+ {
206
+ field: EnumCampoTributo.ClassificacaoTributaria,
207
+ rule: this.taxClassificationStatusRule
208
+ },
209
+ {
210
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
211
+ rule: this.applyNetValueToDocumentStatusRule
212
+ }
213
+ ],
214
+ _c[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
215
+ {
216
+ field: EnumCampoTributo.ClassificacaoTributaria,
217
+ rule: this.taxClassificationStatusRule
218
+ }
219
+ ],
220
+ _c[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
221
+ _c[EnumTipoTributo.IS] = [
222
+ {
223
+ field: EnumCampoTributo.ClassificacaoTributaria,
224
+ rule: this.taxClassificationStatusRule
225
+ }
226
+ ],
227
+ _c[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
228
+ {
229
+ field: EnumCampoTributo.ClassificacaoTributaria,
230
+ rule: this.taxClassificationStatusRule
231
+ }
232
+ ],
233
+ _c[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
234
+ {
235
+ field: EnumCampoTributo.ClassificacaoTributaria,
236
+ rule: this.taxClassificationStatusRule
237
+ }
238
+ ],
239
+ _c),
240
+ 'Service Cancellation': (_d = {},
241
+ _d[EnumTipoTributo.CBS] = [
242
+ {
243
+ field: EnumCampoTributo.ClassificacaoTributaria,
244
+ rule: this.taxClassificationStatusRule
245
+ },
246
+ {
247
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
248
+ rule: this.applyNetValueToDocumentStatusRule
249
+ }
250
+ ],
251
+ _d[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
252
+ {
253
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
254
+ rule: this.applyNetValueToDocumentStatusRule
255
+ }
256
+ ],
257
+ _d[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
258
+ {
259
+ field: EnumCampoTributo.ClassificacaoTributaria,
260
+ rule: this.taxClassificationStatusRule
261
+ }
262
+ ],
263
+ _d[EnumTipoTributo.IBS_ESTADUAL] = [
264
+ {
265
+ field: EnumCampoTributo.ClassificacaoTributaria,
266
+ rule: this.taxClassificationStatusRule
267
+ },
268
+ {
269
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
270
+ rule: this.applyNetValueToDocumentStatusRule
271
+ }
272
+ ],
273
+ _d[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
274
+ {
275
+ field: EnumCampoTributo.ClassificacaoTributaria,
276
+ rule: this.taxClassificationStatusRule
277
+ }
278
+ ],
279
+ _d[EnumTipoTributo.IBS_MUNICIPAL] = [
280
+ {
281
+ field: EnumCampoTributo.ClassificacaoTributaria,
282
+ rule: this.taxClassificationStatusRule
283
+ },
284
+ {
285
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
286
+ rule: this.applyNetValueToDocumentStatusRule
287
+ }
288
+ ],
289
+ _d[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
290
+ {
291
+ field: EnumCampoTributo.ClassificacaoTributaria,
292
+ rule: this.taxClassificationStatusRule
293
+ }
294
+ ],
295
+ _d[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
296
+ _d[EnumTipoTributo.IS] = [
297
+ {
298
+ field: EnumCampoTributo.ClassificacaoTributaria,
299
+ rule: this.taxClassificationStatusRule
300
+ }
301
+ ],
302
+ _d[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
303
+ {
304
+ field: EnumCampoTributo.ClassificacaoTributaria,
305
+ rule: this.taxClassificationStatusRule
306
+ }
307
+ ],
308
+ _d[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
309
+ {
310
+ field: EnumCampoTributo.ClassificacaoTributaria,
311
+ rule: this.taxClassificationStatusRule
312
+ }
313
+ ],
314
+ _d),
315
+ 'Service Sale': (_e = {},
316
+ _e[EnumTipoTributo.CBS] = [
317
+ {
318
+ field: EnumCampoTributo.ClassificacaoTributaria,
319
+ rule: this.taxClassificationStatusRule
320
+ },
321
+ {
322
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
323
+ rule: this.applyNetValueToDocumentStatusRule
324
+ }
325
+ ],
326
+ _e[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
327
+ {
328
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
329
+ rule: this.applyNetValueToDocumentStatusRule
330
+ }
331
+ ],
332
+ _e[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
333
+ {
334
+ field: EnumCampoTributo.ClassificacaoTributaria,
335
+ rule: this.taxClassificationStatusRule
336
+ }
337
+ ],
338
+ _e[EnumTipoTributo.IBS_ESTADUAL] = [
339
+ {
340
+ field: EnumCampoTributo.ClassificacaoTributaria,
341
+ rule: this.taxClassificationStatusRule
342
+ },
343
+ {
344
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
345
+ rule: this.applyNetValueToDocumentStatusRule
346
+ }
347
+ ],
348
+ _e[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
349
+ {
350
+ field: EnumCampoTributo.ClassificacaoTributaria,
351
+ rule: this.taxClassificationStatusRule
352
+ }
353
+ ],
354
+ _e[EnumTipoTributo.IBS_MUNICIPAL] = [
355
+ {
356
+ field: EnumCampoTributo.ClassificacaoTributaria,
357
+ rule: this.taxClassificationStatusRule
358
+ },
359
+ {
360
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
361
+ rule: this.applyNetValueToDocumentStatusRule
362
+ }
363
+ ],
364
+ _e[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
365
+ {
366
+ field: EnumCampoTributo.ClassificacaoTributaria,
367
+ rule: this.taxClassificationStatusRule
368
+ }
369
+ ],
370
+ _e[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
371
+ _e[EnumTipoTributo.IS] = [
372
+ {
373
+ field: EnumCampoTributo.ClassificacaoTributaria,
374
+ rule: this.taxClassificationStatusRule
375
+ }
376
+ ],
377
+ _e[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
378
+ {
379
+ field: EnumCampoTributo.ClassificacaoTributaria,
380
+ rule: this.taxClassificationStatusRule
381
+ }
382
+ ],
383
+ _e[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
384
+ {
385
+ field: EnumCampoTributo.ClassificacaoTributaria,
386
+ rule: this.taxClassificationStatusRule
387
+ }
388
+ ],
389
+ _e),
390
+ Adjustment: (_f = {},
391
+ _f[EnumTipoTributo.CBS] = [
392
+ {
393
+ field: EnumCampoTributo.ClassificacaoTributaria,
394
+ rule: this.taxClassificationStatusRule
395
+ },
396
+ {
397
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
398
+ rule: this.applyNetValueToDocumentStatusRule
399
+ }
400
+ ],
401
+ _f[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
402
+ {
403
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
404
+ rule: this.applyNetValueToDocumentStatusRule
405
+ }
406
+ ],
407
+ _f[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
408
+ {
409
+ field: EnumCampoTributo.ClassificacaoTributaria,
410
+ rule: this.taxClassificationStatusRule
411
+ }
412
+ ],
413
+ _f[EnumTipoTributo.IBS_ESTADUAL] = [
414
+ {
415
+ field: EnumCampoTributo.ClassificacaoTributaria,
416
+ rule: this.taxClassificationStatusRule
417
+ },
418
+ {
419
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
420
+ rule: this.applyNetValueToDocumentStatusRule
421
+ }
422
+ ],
423
+ _f[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
424
+ {
425
+ field: EnumCampoTributo.ClassificacaoTributaria,
426
+ rule: this.taxClassificationStatusRule
427
+ }
428
+ ],
429
+ _f[EnumTipoTributo.IBS_MUNICIPAL] = [
430
+ {
431
+ field: EnumCampoTributo.ClassificacaoTributaria,
432
+ rule: this.taxClassificationStatusRule
433
+ },
434
+ {
435
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
436
+ rule: this.applyNetValueToDocumentStatusRule
437
+ }
438
+ ],
439
+ _f[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
440
+ {
441
+ field: EnumCampoTributo.ClassificacaoTributaria,
442
+ rule: this.taxClassificationStatusRule
443
+ }
444
+ ],
445
+ _f[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
446
+ _f[EnumTipoTributo.IS] = [
447
+ {
448
+ field: EnumCampoTributo.ClassificacaoTributaria,
449
+ rule: this.taxClassificationStatusRule
450
+ }
451
+ ],
452
+ _f[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
453
+ {
454
+ field: EnumCampoTributo.ClassificacaoTributaria,
455
+ rule: this.taxClassificationStatusRule
456
+ }
457
+ ],
458
+ _f[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
459
+ {
460
+ field: EnumCampoTributo.ClassificacaoTributaria,
461
+ rule: this.taxClassificationStatusRule
462
+ }
463
+ ],
464
+ _f),
465
+ Charge: (_g = {},
466
+ _g[EnumTipoTributo.CBS] = [
467
+ {
468
+ field: EnumCampoTributo.ClassificacaoTributaria,
469
+ rule: this.taxClassificationStatusRule
470
+ },
471
+ {
472
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
473
+ rule: this.applyNetValueToDocumentStatusRule
474
+ }
475
+ ],
476
+ _g[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
477
+ {
478
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
479
+ rule: this.applyNetValueToDocumentStatusRule
480
+ }
481
+ ],
482
+ _g[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
483
+ {
484
+ field: EnumCampoTributo.ClassificacaoTributaria,
485
+ rule: this.taxClassificationStatusRule
486
+ }
487
+ ],
488
+ _g[EnumTipoTributo.IBS_ESTADUAL] = [
489
+ {
490
+ field: EnumCampoTributo.ClassificacaoTributaria,
491
+ rule: this.taxClassificationStatusRule
492
+ },
493
+ {
494
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
495
+ rule: this.applyNetValueToDocumentStatusRule
496
+ }
497
+ ],
498
+ _g[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
499
+ {
500
+ field: EnumCampoTributo.ClassificacaoTributaria,
501
+ rule: this.taxClassificationStatusRule
502
+ }
503
+ ],
504
+ _g[EnumTipoTributo.IBS_MUNICIPAL] = [
505
+ {
506
+ field: EnumCampoTributo.ClassificacaoTributaria,
507
+ rule: this.taxClassificationStatusRule
508
+ },
509
+ {
510
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
511
+ rule: this.applyNetValueToDocumentStatusRule
512
+ }
513
+ ],
514
+ _g[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
515
+ {
516
+ field: EnumCampoTributo.ClassificacaoTributaria,
517
+ rule: this.taxClassificationStatusRule
518
+ }
519
+ ],
520
+ _g[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
521
+ _g[EnumTipoTributo.IS] = [
522
+ {
523
+ field: EnumCampoTributo.ClassificacaoTributaria,
524
+ rule: this.taxClassificationStatusRule
525
+ }
526
+ ],
527
+ _g[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
528
+ {
529
+ field: EnumCampoTributo.ClassificacaoTributaria,
530
+ rule: this.taxClassificationStatusRule
531
+ }
532
+ ],
533
+ _g[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
534
+ {
535
+ field: EnumCampoTributo.ClassificacaoTributaria,
536
+ rule: this.taxClassificationStatusRule
537
+ }
538
+ ],
539
+ _g),
540
+ Complement: (_h = {},
541
+ _h[EnumTipoTributo.CBS] = [
542
+ {
543
+ field: EnumCampoTributo.ClassificacaoTributaria,
544
+ rule: this.taxClassificationStatusRule
545
+ },
546
+ {
547
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
548
+ rule: this.applyNetValueToDocumentStatusRule
549
+ }
550
+ ],
551
+ _h[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
552
+ {
553
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
554
+ rule: this.applyNetValueToDocumentStatusRule
555
+ }
556
+ ],
557
+ _h[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
558
+ {
559
+ field: EnumCampoTributo.ClassificacaoTributaria,
560
+ rule: this.taxClassificationStatusRule
561
+ }
562
+ ],
563
+ _h[EnumTipoTributo.IBS_ESTADUAL] = [
564
+ {
565
+ field: EnumCampoTributo.ClassificacaoTributaria,
566
+ rule: this.taxClassificationStatusRule
567
+ },
568
+ {
569
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
570
+ rule: this.applyNetValueToDocumentStatusRule
571
+ }
572
+ ],
573
+ _h[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
574
+ {
575
+ field: EnumCampoTributo.ClassificacaoTributaria,
576
+ rule: this.taxClassificationStatusRule
577
+ }
578
+ ],
579
+ _h[EnumTipoTributo.IBS_MUNICIPAL] = [
580
+ {
581
+ field: EnumCampoTributo.ClassificacaoTributaria,
582
+ rule: this.taxClassificationStatusRule
583
+ },
584
+ {
585
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
586
+ rule: this.applyNetValueToDocumentStatusRule
587
+ }
588
+ ],
589
+ _h[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
590
+ {
591
+ field: EnumCampoTributo.ClassificacaoTributaria,
592
+ rule: this.taxClassificationStatusRule
593
+ }
594
+ ],
595
+ _h[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
596
+ _h[EnumTipoTributo.IS] = [
597
+ {
598
+ field: EnumCampoTributo.ClassificacaoTributaria,
599
+ rule: this.taxClassificationStatusRule
600
+ }
601
+ ],
602
+ _h[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
603
+ {
604
+ field: EnumCampoTributo.ClassificacaoTributaria,
605
+ rule: this.taxClassificationStatusRule
606
+ }
607
+ ],
608
+ _h[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
609
+ {
610
+ field: EnumCampoTributo.ClassificacaoTributaria,
611
+ rule: this.taxClassificationStatusRule
612
+ }
613
+ ],
614
+ _h),
615
+ Credit: (_j = {},
616
+ _j[EnumTipoTributo.CBS] = [
617
+ {
618
+ field: EnumCampoTributo.ClassificacaoTributaria,
619
+ rule: this.taxClassificationStatusRule
620
+ },
621
+ {
622
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
623
+ rule: this.applyNetValueToDocumentStatusRule
624
+ }
625
+ ],
626
+ _j[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
627
+ {
628
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
629
+ rule: this.applyNetValueToDocumentStatusRule
630
+ }
631
+ ],
632
+ _j[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
633
+ {
634
+ field: EnumCampoTributo.ClassificacaoTributaria,
635
+ rule: this.taxClassificationStatusRule
636
+ }
637
+ ],
638
+ _j[EnumTipoTributo.IBS_ESTADUAL] = [
639
+ {
640
+ field: EnumCampoTributo.ClassificacaoTributaria,
641
+ rule: this.taxClassificationStatusRule
642
+ },
643
+ {
644
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
645
+ rule: this.applyNetValueToDocumentStatusRule
646
+ }
647
+ ],
648
+ _j[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
649
+ {
650
+ field: EnumCampoTributo.ClassificacaoTributaria,
651
+ rule: this.taxClassificationStatusRule
652
+ }
653
+ ],
654
+ _j[EnumTipoTributo.IBS_MUNICIPAL] = [
655
+ {
656
+ field: EnumCampoTributo.ClassificacaoTributaria,
657
+ rule: this.taxClassificationStatusRule
658
+ },
659
+ {
660
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
661
+ rule: this.applyNetValueToDocumentStatusRule
662
+ }
663
+ ],
664
+ _j[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
665
+ {
666
+ field: EnumCampoTributo.ClassificacaoTributaria,
667
+ rule: this.taxClassificationStatusRule
668
+ }
669
+ ],
670
+ _j[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
671
+ _j[EnumTipoTributo.IS] = [
672
+ {
673
+ field: EnumCampoTributo.ClassificacaoTributaria,
674
+ rule: this.taxClassificationStatusRule
675
+ }
676
+ ],
677
+ _j[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
678
+ {
679
+ field: EnumCampoTributo.ClassificacaoTributaria,
680
+ rule: this.taxClassificationStatusRule
681
+ }
682
+ ],
683
+ _j[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
684
+ {
685
+ field: EnumCampoTributo.ClassificacaoTributaria,
686
+ rule: this.taxClassificationStatusRule
687
+ }
688
+ ],
689
+ _j),
690
+ Debit: (_k = {},
691
+ _k[EnumTipoTributo.CBS] = [
692
+ {
693
+ field: EnumCampoTributo.ClassificacaoTributaria,
694
+ rule: this.taxClassificationStatusRule
695
+ },
696
+ {
697
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
698
+ rule: this.applyNetValueToDocumentStatusRule
699
+ }
700
+ ],
701
+ _k[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
702
+ {
703
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
704
+ rule: this.applyNetValueToDocumentStatusRule
705
+ }
706
+ ],
707
+ _k[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
708
+ {
709
+ field: EnumCampoTributo.ClassificacaoTributaria,
710
+ rule: this.taxClassificationStatusRule
711
+ }
712
+ ],
713
+ _k[EnumTipoTributo.IBS_ESTADUAL] = [
714
+ {
715
+ field: EnumCampoTributo.ClassificacaoTributaria,
716
+ rule: this.taxClassificationStatusRule
717
+ },
718
+ {
719
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
720
+ rule: this.applyNetValueToDocumentStatusRule
721
+ }
722
+ ],
723
+ _k[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
724
+ {
725
+ field: EnumCampoTributo.ClassificacaoTributaria,
726
+ rule: this.taxClassificationStatusRule
727
+ }
728
+ ],
729
+ _k[EnumTipoTributo.IBS_MUNICIPAL] = [
730
+ {
731
+ field: EnumCampoTributo.ClassificacaoTributaria,
732
+ rule: this.taxClassificationStatusRule
733
+ },
734
+ {
735
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
736
+ rule: this.applyNetValueToDocumentStatusRule
737
+ }
738
+ ],
739
+ _k[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
740
+ {
741
+ field: EnumCampoTributo.ClassificacaoTributaria,
742
+ rule: this.taxClassificationStatusRule
743
+ }
744
+ ],
745
+ _k[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
746
+ _k[EnumTipoTributo.IS] = [
747
+ {
748
+ field: EnumCampoTributo.ClassificacaoTributaria,
749
+ rule: this.taxClassificationStatusRule
750
+ }
751
+ ],
752
+ _k[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
753
+ {
754
+ field: EnumCampoTributo.ClassificacaoTributaria,
755
+ rule: this.taxClassificationStatusRule
756
+ }
757
+ ],
758
+ _k[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
759
+ {
760
+ field: EnumCampoTributo.ClassificacaoTributaria,
761
+ rule: this.taxClassificationStatusRule
762
+ }
763
+ ],
764
+ _k[EnumTipoTributo.CBS_AJUSTE] = [
765
+ {
766
+ field: EnumCampoTributo.ClassificacaoTributaria,
767
+ rule: this.taxClassificationStatusRule
768
+ }
769
+ ],
770
+ _k[EnumTipoTributo.IBS_AJUSTE] = [
771
+ {
772
+ field: EnumCampoTributo.ClassificacaoTributaria,
773
+ rule: this.taxClassificationStatusRule
774
+ }
775
+ ],
776
+ _k),
777
+ Delivery: (_l = {},
778
+ _l[EnumTipoTributo.CBS] = [
779
+ {
780
+ field: EnumCampoTributo.ClassificacaoTributaria,
781
+ rule: this.taxClassificationStatusRule
782
+ },
783
+ {
784
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
785
+ rule: this.applyNetValueToDocumentStatusRule
786
+ }
787
+ ],
788
+ _l[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
789
+ {
790
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
791
+ rule: this.applyNetValueToDocumentStatusRule
792
+ }
793
+ ],
794
+ _l[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
795
+ {
796
+ field: EnumCampoTributo.ClassificacaoTributaria,
797
+ rule: this.taxClassificationStatusRule
798
+ }
799
+ ],
800
+ _l[EnumTipoTributo.IBS_ESTADUAL] = [
801
+ {
802
+ field: EnumCampoTributo.ClassificacaoTributaria,
803
+ rule: this.taxClassificationStatusRule
804
+ },
805
+ {
806
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
807
+ rule: this.applyNetValueToDocumentStatusRule
808
+ }
809
+ ],
810
+ _l[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
811
+ {
812
+ field: EnumCampoTributo.ClassificacaoTributaria,
813
+ rule: this.taxClassificationStatusRule
814
+ }
815
+ ],
816
+ _l[EnumTipoTributo.IBS_MUNICIPAL] = [
817
+ {
818
+ field: EnumCampoTributo.ClassificacaoTributaria,
819
+ rule: this.taxClassificationStatusRule
820
+ },
821
+ {
822
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
823
+ rule: this.applyNetValueToDocumentStatusRule
824
+ }
825
+ ],
826
+ _l[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
827
+ {
828
+ field: EnumCampoTributo.ClassificacaoTributaria,
829
+ rule: this.taxClassificationStatusRule
830
+ }
831
+ ],
832
+ _l[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
833
+ _l[EnumTipoTributo.IS] = [
834
+ {
835
+ field: EnumCampoTributo.ClassificacaoTributaria,
836
+ rule: this.taxClassificationStatusRule
837
+ }
838
+ ],
839
+ _l[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
840
+ {
841
+ field: EnumCampoTributo.ClassificacaoTributaria,
842
+ rule: this.taxClassificationStatusRule
843
+ }
844
+ ],
845
+ _l[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
846
+ {
847
+ field: EnumCampoTributo.ClassificacaoTributaria,
848
+ rule: this.taxClassificationStatusRule
849
+ }
850
+ ],
851
+ _l),
852
+ Other: (_m = {},
853
+ _m[EnumTipoTributo.CBS] = [
854
+ {
855
+ field: EnumCampoTributo.ClassificacaoTributaria,
856
+ rule: this.taxClassificationStatusRule
857
+ },
858
+ {
859
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
860
+ rule: this.applyNetValueToDocumentStatusRule
861
+ }
862
+ ],
863
+ _m[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
864
+ {
865
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
866
+ rule: this.applyNetValueToDocumentStatusRule
867
+ }
868
+ ],
869
+ _m[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
870
+ {
871
+ field: EnumCampoTributo.ClassificacaoTributaria,
872
+ rule: this.taxClassificationStatusRule
873
+ }
874
+ ],
875
+ _m[EnumTipoTributo.IBS_ESTADUAL] = [
876
+ {
877
+ field: EnumCampoTributo.ClassificacaoTributaria,
878
+ rule: this.taxClassificationStatusRule
879
+ },
880
+ {
881
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
882
+ rule: this.applyNetValueToDocumentStatusRule
883
+ }
884
+ ],
885
+ _m[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
886
+ {
887
+ field: EnumCampoTributo.ClassificacaoTributaria,
888
+ rule: this.taxClassificationStatusRule
889
+ }
890
+ ],
891
+ _m[EnumTipoTributo.IBS_MUNICIPAL] = [
892
+ {
893
+ field: EnumCampoTributo.ClassificacaoTributaria,
894
+ rule: this.taxClassificationStatusRule
895
+ },
896
+ {
897
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
898
+ rule: this.applyNetValueToDocumentStatusRule
899
+ }
900
+ ],
901
+ _m[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
902
+ {
903
+ field: EnumCampoTributo.ClassificacaoTributaria,
904
+ rule: this.taxClassificationStatusRule
905
+ }
906
+ ],
907
+ _m[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
908
+ _m[EnumTipoTributo.IS] = [
909
+ {
910
+ field: EnumCampoTributo.ClassificacaoTributaria,
911
+ rule: this.taxClassificationStatusRule
912
+ }
913
+ ],
914
+ _m[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
915
+ {
916
+ field: EnumCampoTributo.ClassificacaoTributaria,
917
+ rule: this.taxClassificationStatusRule
918
+ }
919
+ ],
920
+ _m[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
921
+ {
922
+ field: EnumCampoTributo.ClassificacaoTributaria,
923
+ rule: this.taxClassificationStatusRule
924
+ }
925
+ ],
926
+ _m),
927
+ Return: (_o = {},
928
+ _o[EnumTipoTributo.CBS] = [
929
+ {
930
+ field: EnumCampoTributo.ClassificacaoTributaria,
931
+ rule: this.taxClassificationStatusRule
932
+ },
933
+ {
934
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
935
+ rule: this.applyNetValueToDocumentStatusRule
936
+ }
937
+ ],
938
+ _o[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
939
+ {
940
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
941
+ rule: this.applyNetValueToDocumentStatusRule
942
+ }
943
+ ],
944
+ _o[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
945
+ {
946
+ field: EnumCampoTributo.ClassificacaoTributaria,
947
+ rule: this.taxClassificationStatusRule
948
+ }
949
+ ],
950
+ _o[EnumTipoTributo.IBS_ESTADUAL] = [
951
+ {
952
+ field: EnumCampoTributo.ClassificacaoTributaria,
953
+ rule: this.taxClassificationStatusRule
954
+ },
955
+ {
956
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
957
+ rule: this.applyNetValueToDocumentStatusRule
958
+ }
959
+ ],
960
+ _o[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
961
+ {
962
+ field: EnumCampoTributo.ClassificacaoTributaria,
963
+ rule: this.taxClassificationStatusRule
964
+ }
965
+ ],
966
+ _o[EnumTipoTributo.IBS_MUNICIPAL] = [
967
+ {
968
+ field: EnumCampoTributo.ClassificacaoTributaria,
969
+ rule: this.taxClassificationStatusRule
970
+ },
971
+ {
972
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
973
+ rule: this.applyNetValueToDocumentStatusRule
974
+ }
975
+ ],
976
+ _o[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
977
+ {
978
+ field: EnumCampoTributo.ClassificacaoTributaria,
979
+ rule: this.taxClassificationStatusRule
980
+ }
981
+ ],
982
+ _o[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
983
+ _o[EnumTipoTributo.IS] = [
984
+ {
985
+ field: EnumCampoTributo.ClassificacaoTributaria,
986
+ rule: this.taxClassificationStatusRule
987
+ }
988
+ ],
989
+ _o[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
990
+ {
991
+ field: EnumCampoTributo.ClassificacaoTributaria,
992
+ rule: this.taxClassificationStatusRule
993
+ }
994
+ ],
995
+ _o[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
996
+ {
997
+ field: EnumCampoTributo.ClassificacaoTributaria,
998
+ rule: this.taxClassificationStatusRule
999
+ }
1000
+ ],
1001
+ _o),
1002
+ Reversal: (_p = {},
1003
+ _p[EnumTipoTributo.CBS] = [
1004
+ {
1005
+ field: EnumCampoTributo.ClassificacaoTributaria,
1006
+ rule: this.taxClassificationStatusRule
1007
+ },
1008
+ {
1009
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1010
+ rule: this.applyNetValueToDocumentStatusRule
1011
+ }
1012
+ ],
1013
+ _p[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
1014
+ {
1015
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1016
+ rule: this.applyNetValueToDocumentStatusRule
1017
+ }
1018
+ ],
1019
+ _p[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
1020
+ {
1021
+ field: EnumCampoTributo.ClassificacaoTributaria,
1022
+ rule: this.taxClassificationStatusRule
1023
+ }
1024
+ ],
1025
+ _p[EnumTipoTributo.IBS_ESTADUAL] = [
1026
+ {
1027
+ field: EnumCampoTributo.ClassificacaoTributaria,
1028
+ rule: this.taxClassificationStatusRule
1029
+ },
1030
+ {
1031
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1032
+ rule: this.applyNetValueToDocumentStatusRule
1033
+ }
1034
+ ],
1035
+ _p[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
1036
+ {
1037
+ field: EnumCampoTributo.ClassificacaoTributaria,
1038
+ rule: this.taxClassificationStatusRule
1039
+ }
1040
+ ],
1041
+ _p[EnumTipoTributo.IBS_MUNICIPAL] = [
1042
+ {
1043
+ field: EnumCampoTributo.ClassificacaoTributaria,
1044
+ rule: this.taxClassificationStatusRule
1045
+ },
1046
+ {
1047
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1048
+ rule: this.applyNetValueToDocumentStatusRule
1049
+ }
1050
+ ],
1051
+ _p[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
1052
+ {
1053
+ field: EnumCampoTributo.ClassificacaoTributaria,
1054
+ rule: this.taxClassificationStatusRule
1055
+ }
1056
+ ],
1057
+ _p[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
1058
+ _p[EnumTipoTributo.IS] = [
1059
+ {
1060
+ field: EnumCampoTributo.ClassificacaoTributaria,
1061
+ rule: this.taxClassificationStatusRule
1062
+ }
1063
+ ],
1064
+ _p[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
1065
+ {
1066
+ field: EnumCampoTributo.ClassificacaoTributaria,
1067
+ rule: this.taxClassificationStatusRule
1068
+ }
1069
+ ],
1070
+ _p[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
1071
+ {
1072
+ field: EnumCampoTributo.ClassificacaoTributaria,
1073
+ rule: this.taxClassificationStatusRule
1074
+ }
1075
+ ],
1076
+ _p),
1077
+ Shipment: (_q = {},
1078
+ _q[EnumTipoTributo.CBS] = [
1079
+ {
1080
+ field: EnumCampoTributo.ClassificacaoTributaria,
1081
+ rule: this.taxClassificationStatusRule
1082
+ },
1083
+ {
1084
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1085
+ rule: this.applyNetValueToDocumentStatusRule
1086
+ }
1087
+ ],
1088
+ _q[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
1089
+ {
1090
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1091
+ rule: this.applyNetValueToDocumentStatusRule
1092
+ }
1093
+ ],
1094
+ _q[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
1095
+ {
1096
+ field: EnumCampoTributo.ClassificacaoTributaria,
1097
+ rule: this.taxClassificationStatusRule
1098
+ }
1099
+ ],
1100
+ _q[EnumTipoTributo.IBS_ESTADUAL] = [
1101
+ {
1102
+ field: EnumCampoTributo.ClassificacaoTributaria,
1103
+ rule: this.taxClassificationStatusRule
1104
+ },
1105
+ {
1106
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1107
+ rule: this.applyNetValueToDocumentStatusRule
1108
+ }
1109
+ ],
1110
+ _q[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
1111
+ {
1112
+ field: EnumCampoTributo.ClassificacaoTributaria,
1113
+ rule: this.taxClassificationStatusRule
1114
+ }
1115
+ ],
1116
+ _q[EnumTipoTributo.IBS_MUNICIPAL] = [
1117
+ {
1118
+ field: EnumCampoTributo.ClassificacaoTributaria,
1119
+ rule: this.taxClassificationStatusRule
1120
+ },
1121
+ {
1122
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1123
+ rule: this.applyNetValueToDocumentStatusRule
1124
+ }
1125
+ ],
1126
+ _q[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
1127
+ {
1128
+ field: EnumCampoTributo.ClassificacaoTributaria,
1129
+ rule: this.taxClassificationStatusRule
1130
+ }
1131
+ ],
1132
+ _q[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
1133
+ _q[EnumTipoTributo.IS] = [
1134
+ {
1135
+ field: EnumCampoTributo.ClassificacaoTributaria,
1136
+ rule: this.taxClassificationStatusRule
1137
+ }
1138
+ ],
1139
+ _q[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
1140
+ {
1141
+ field: EnumCampoTributo.ClassificacaoTributaria,
1142
+ rule: this.taxClassificationStatusRule
1143
+ }
1144
+ ],
1145
+ _q[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
1146
+ {
1147
+ field: EnumCampoTributo.ClassificacaoTributaria,
1148
+ rule: this.taxClassificationStatusRule
1149
+ }
1150
+ ],
1151
+ _q),
1152
+ Substitute: (_r = {},
1153
+ _r[EnumTipoTributo.CBS] = [
1154
+ {
1155
+ field: EnumCampoTributo.ClassificacaoTributaria,
1156
+ rule: this.taxClassificationStatusRule
1157
+ },
1158
+ {
1159
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1160
+ rule: this.applyNetValueToDocumentStatusRule
1161
+ }
1162
+ ],
1163
+ _r[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
1164
+ {
1165
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1166
+ rule: this.applyNetValueToDocumentStatusRule
1167
+ }
1168
+ ],
1169
+ _r[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
1170
+ {
1171
+ field: EnumCampoTributo.ClassificacaoTributaria,
1172
+ rule: this.taxClassificationStatusRule
1173
+ }
1174
+ ],
1175
+ _r[EnumTipoTributo.IBS_ESTADUAL] = [
1176
+ {
1177
+ field: EnumCampoTributo.ClassificacaoTributaria,
1178
+ rule: this.taxClassificationStatusRule
1179
+ },
1180
+ {
1181
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1182
+ rule: this.applyNetValueToDocumentStatusRule
1183
+ }
1184
+ ],
1185
+ _r[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
1186
+ {
1187
+ field: EnumCampoTributo.ClassificacaoTributaria,
1188
+ rule: this.taxClassificationStatusRule
1189
+ }
1190
+ ],
1191
+ _r[EnumTipoTributo.IBS_MUNICIPAL] = [
1192
+ {
1193
+ field: EnumCampoTributo.ClassificacaoTributaria,
1194
+ rule: this.taxClassificationStatusRule
1195
+ },
1196
+ {
1197
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1198
+ rule: this.applyNetValueToDocumentStatusRule
1199
+ }
1200
+ ],
1201
+ _r[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
1202
+ {
1203
+ field: EnumCampoTributo.ClassificacaoTributaria,
1204
+ rule: this.taxClassificationStatusRule
1205
+ }
1206
+ ],
1207
+ _r[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
1208
+ _r[EnumTipoTributo.IS] = [
1209
+ {
1210
+ field: EnumCampoTributo.ClassificacaoTributaria,
1211
+ rule: this.taxClassificationStatusRule
1212
+ }
1213
+ ],
1214
+ _r[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
1215
+ {
1216
+ field: EnumCampoTributo.ClassificacaoTributaria,
1217
+ rule: this.taxClassificationStatusRule
1218
+ }
1219
+ ],
1220
+ _r[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
1221
+ {
1222
+ field: EnumCampoTributo.ClassificacaoTributaria,
1223
+ rule: this.taxClassificationStatusRule
1224
+ }
1225
+ ],
1226
+ _r),
1227
+ Transfer: (_s = {},
1228
+ _s[EnumTipoTributo.CBS] = [
1229
+ {
1230
+ field: EnumCampoTributo.ClassificacaoTributaria,
1231
+ rule: this.taxClassificationStatusRule
1232
+ },
1233
+ {
1234
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1235
+ rule: this.applyNetValueToDocumentStatusRule
1236
+ }
1237
+ ],
1238
+ _s[EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
1239
+ {
1240
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1241
+ rule: this.applyNetValueToDocumentStatusRule
1242
+ }
1243
+ ],
1244
+ _s[EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
1245
+ {
1246
+ field: EnumCampoTributo.ClassificacaoTributaria,
1247
+ rule: this.taxClassificationStatusRule
1248
+ }
1249
+ ],
1250
+ _s[EnumTipoTributo.IBS_ESTADUAL] = [
1251
+ {
1252
+ field: EnumCampoTributo.ClassificacaoTributaria,
1253
+ rule: this.taxClassificationStatusRule
1254
+ },
1255
+ {
1256
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1257
+ rule: this.applyNetValueToDocumentStatusRule
1258
+ }
1259
+ ],
1260
+ _s[EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
1261
+ {
1262
+ field: EnumCampoTributo.ClassificacaoTributaria,
1263
+ rule: this.taxClassificationStatusRule
1264
+ }
1265
+ ],
1266
+ _s[EnumTipoTributo.IBS_MUNICIPAL] = [
1267
+ {
1268
+ field: EnumCampoTributo.ClassificacaoTributaria,
1269
+ rule: this.taxClassificationStatusRule
1270
+ },
1271
+ {
1272
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1273
+ rule: this.applyNetValueToDocumentStatusRule
1274
+ }
1275
+ ],
1276
+ _s[EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
1277
+ {
1278
+ field: EnumCampoTributo.ClassificacaoTributaria,
1279
+ rule: this.taxClassificationStatusRule
1280
+ }
1281
+ ],
1282
+ _s[EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [],
1283
+ _s[EnumTipoTributo.IS] = [
1284
+ {
1285
+ field: EnumCampoTributo.ClassificacaoTributaria,
1286
+ rule: this.taxClassificationStatusRule
1287
+ }
1288
+ ],
1289
+ _s[EnumTipoTributo.CBS_ESTORNO_CREDITO] = [
1290
+ {
1291
+ field: EnumCampoTributo.ClassificacaoTributaria,
1292
+ rule: this.taxClassificationStatusRule
1293
+ }
1294
+ ],
1295
+ _s[EnumTipoTributo.IBS_ESTORNO_CREDITO] = [
1296
+ {
1297
+ field: EnumCampoTributo.ClassificacaoTributaria,
1298
+ rule: this.taxClassificationStatusRule
1299
+ }
1300
+ ],
1301
+ _s)
1302
+ };
1303
+ }
1304
+ OutgoingInvoiceStatusRulesRegistry.prototype.get = function (type, taxType) {
1305
+ var _a, _b;
1306
+ return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
1307
+ };
1308
+ OutgoingInvoiceStatusRulesRegistry.ctorParameters = function () { return [
1309
+ { type: TaxClassificationStatusRule },
1310
+ { type: ApplyNetValueToDocumentStatusRule }
1311
+ ]; };
1312
+ OutgoingInvoiceStatusRulesRegistry.ɵprov = i0.ɵɵdefineInjectable({ factory: function OutgoingInvoiceStatusRulesRegistry_Factory() { return new OutgoingInvoiceStatusRulesRegistry(i0.ɵɵinject(i1.TaxClassificationStatusRule), i0.ɵɵinject(i2.ApplyNetValueToDocumentStatusRule)); }, token: OutgoingInvoiceStatusRulesRegistry, providedIn: "root" });
1313
+ OutgoingInvoiceStatusRulesRegistry = __decorate([
1314
+ Injectable({ providedIn: 'root' })
1315
+ ], OutgoingInvoiceStatusRulesRegistry);
1316
+ return OutgoingInvoiceStatusRulesRegistry;
1317
+ }());
1318
+ export { OutgoingInvoiceStatusRulesRegistry };
1319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0Z29pbmctaW52b2ljZS1zdGF0dXMtcnVsZXMucmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL3J1bGVzL3N0YXR1cy9yZWdpc3RyaWVzL291dGdvaW5nLWludm9pY2Utc3RhdHVzLXJ1bGVzLnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUtoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUd0RjtJQTZ4Q0ksNENBQ3FCLDJCQUF3RCxFQUN4RCxpQ0FBb0U7O1FBRHBFLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQTl4Q3hFLGVBQVUsR0FBdUI7WUFDOUMsMEJBQTBCO2dCQUN0QixHQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUc7b0JBQ25CO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUI7d0JBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsMkJBQTJCO3FCQUN6QztvQkFDRDt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsNEJBQTRCO3dCQUNwRCxJQUFJLEVBQUUsSUFBSSxDQUFDLGlDQUFpQztxQkFDL0M7aUJBQ0o7Z0JBQ0QsR0FBQyxlQUFlLENBQUMscUJBQXFCLElBQUc7b0JBQ3JDO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyw0QkFBNEI7d0JBQ3BELElBQUksRUFBRSxJQUFJLENBQUMsaUNBQWlDO3FCQUMvQztpQkFD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Q0FBQywyQkFBMkI7cUJBQ3pDO2lCQUNKO2dCQUNELEdBQUMsZUFBZSxDQUFDLHFCQUFxQixJQUFHLEVBQUU7Z0JBQzNDLEdBQUMsZUFBZSxDQUFDLEVBQUUsSUFBRztvQkFDbEI7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLHVCQUF1Qjt3QkFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQywyQkFBMkI7cUJBQ3pDO2lCQUNKO2dCQUVELEdBQUMsZUFBZSxDQUFDLG1CQUFtQixJQUFHO29CQUNuQzt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsdUJBQXVCO3dCQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtxQkFDekM7aUJBQ0o7Z0JBQ0QsR0FBQyxlQUFlLENBQUMsbUJBQW1CLElBQUc7b0JBQ25DO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUI7d0JBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsMkJBQTJCO3FCQUN6QztpQkFDSjttQkFDSjtTQUNKLENBQUM7SUFLQyxDQUFDO0lBRUosZ0RBQUcsR0FBSCxVQUNJLElBQXlCLEVBQ3pCLE9BQXdCOztRQUV4QixPQUFPLGFBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMENBQUcsT0FBTyxvQ0FDbkMsRUFBRSxDQUE2QixDQUFDO0lBQ3hDLENBQUM7O2dCQVZpRCwyQkFBMkI7Z0JBQ3JCLGlDQUFpQzs7O0lBL3hDaEYsa0NBQWtDO1FBRDlDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0QixrQ0FBa0MsQ0F5eUM5Qzs2Q0FuekNEO0NBbXpDQyxBQXp5Q0QsSUF5eUNDO1NBenlDWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnVtQ2FtcG9UcmlidXRvLCBFbnVtVGlwb1RyaWJ1dG8gfSBmcm9tICcuLi8uLi8uLi9lcnAtdHJpYnV0b3MudHlwZXMnO1xuaW1wb3J0IHsgT3V0Z29pbmdJbnZvaWNlVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL291dGdvaW5nLWludm9pY2UtdHlwZSc7XG5pbXBvcnQgeyBGaWVsZFN0YXR1c1J1bGVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vdHlwZXMvZmllbGQtc3RhdHVzLXJ1bGUtbWFwcGluZyc7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICcuLi8uLi90eXBlcy9zY2hlbWFzL291dGdvaW5nLWludm9pY2Uuc2NoZW1hJztcbmltcG9ydCB7IFN0cmF0ZWdpZXMgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJhdGVnaWVzJztcbmltcG9ydCB7IEFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZSB9IGZyb20gJy4uL3J1bGVzL2FwcGx5LW5ldC12YWx1ZS10by1kb2N1bWVudC1zdGF0dXMtcnVsZSc7XG5pbXBvcnQgeyBUYXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGUgfSBmcm9tICcuLi9ydWxlcy90YXgtY2xhc3NpZmljYXRpb24tc3RhdHVzLXJ1bGUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE91dGdvaW5nSW52b2ljZVN0YXR1c1J1bGVzUmVnaXN0cnkge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyYXRlZ2llczogU3RyYXRlZ2llczxTY2hlbWE+ID0ge1xuICAgICAgICAnUHJvZHVjdCBBbmQgU2VydmljZSBTYWxlJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgJ1Byb2R1Y3QgUmV0dXJuJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgJ1Byb2R1Y3QgU2FsZSc6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgICdTZXJ2aWNlIENhbmNlbGxhdGlvbic6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgICdTZXJ2aWNlIFNhbGUnOiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBBZGp1c3RtZW50OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBDaGFyZ2U6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIENvbXBsZW1lbnQ6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIENyZWRpdDoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgRGViaXQ6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BSlVTVEVdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQUpVU1RFXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBEZWxpdmVyeToge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgT3RoZXI6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFJldHVybjoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgUmV2ZXJzYWw6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFNoaXBtZW50OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBTdWJzdGl0dXRlOiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBUcmFuc2Zlcjoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGU6IFRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGU6IEFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICkge31cblxuICAgIGdldChcbiAgICAgICAgdHlwZTogT3V0Z29pbmdJbnZvaWNlVHlwZSxcbiAgICAgICAgdGF4VHlwZTogRW51bVRpcG9UcmlidXRvXG4gICAgKTogRmllbGRTdGF0dXNSdWxlTWFwcGluZ1tdIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnN0cmF0ZWdpZXNbdHlwZV0/Llt0YXhUeXBlXSA/P1xuICAgICAgICAgICAgW10pIGFzIEZpZWxkU3RhdHVzUnVsZU1hcHBpbmdbXTtcbiAgICB9XG59XG4iXX0=