@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,1076 @@
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 { TaxRateStatusRule } from '../rules/tax-rate-status-rule';
7
+ import { TaxableBaseStatusRule } from '../rules/taxable-base-status-rule';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../rules/tax-classification-status-rule";
10
+ import * as i2 from "../rules/apply-net-value-to-document-status-rule";
11
+ import * as i3 from "../rules/taxable-base-status-rule";
12
+ import * as i4 from "../rules/tax-rate-status-rule";
13
+ let IncomingInvoiceStatusRulesRegistry = class IncomingInvoiceStatusRulesRegistry {
14
+ constructor(taxClassificationStatusRule, applyNetValueToDocumentStatusRule, taxableBaseStatusRule, taxRateStatusRule) {
15
+ this.taxClassificationStatusRule = taxClassificationStatusRule;
16
+ this.applyNetValueToDocumentStatusRule = applyNetValueToDocumentStatusRule;
17
+ this.taxableBaseStatusRule = taxableBaseStatusRule;
18
+ this.taxRateStatusRule = taxRateStatusRule;
19
+ this.strategies = {
20
+ Adjustment: {
21
+ [EnumTipoTributo.CBS]: [
22
+ {
23
+ field: EnumCampoTributo.ClassificacaoTributaria,
24
+ rule: this.taxClassificationStatusRule
25
+ },
26
+ {
27
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
28
+ rule: this.applyNetValueToDocumentStatusRule
29
+ }
30
+ ],
31
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
32
+ {
33
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
34
+ rule: this.applyNetValueToDocumentStatusRule
35
+ }
36
+ ],
37
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
38
+ {
39
+ field: EnumCampoTributo.BaseCalculo,
40
+ rule: this.taxableBaseStatusRule
41
+ },
42
+ {
43
+ field: EnumCampoTributo.Aliquota,
44
+ rule: this.taxRateStatusRule
45
+ }
46
+ ],
47
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
48
+ {
49
+ field: EnumCampoTributo.ClassificacaoTributaria,
50
+ rule: this.taxClassificationStatusRule
51
+ }
52
+ ],
53
+ [EnumTipoTributo.IBS_ESTADUAL]: [
54
+ {
55
+ field: EnumCampoTributo.ClassificacaoTributaria,
56
+ rule: this.taxClassificationStatusRule
57
+ },
58
+ {
59
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
60
+ rule: this.applyNetValueToDocumentStatusRule
61
+ }
62
+ ],
63
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
64
+ {
65
+ field: EnumCampoTributo.BaseCalculo,
66
+ rule: this.taxableBaseStatusRule
67
+ },
68
+ {
69
+ field: EnumCampoTributo.Aliquota,
70
+ rule: this.taxRateStatusRule
71
+ }
72
+ ],
73
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
74
+ {
75
+ field: EnumCampoTributo.ClassificacaoTributaria,
76
+ rule: this.taxClassificationStatusRule
77
+ }
78
+ ],
79
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
80
+ {
81
+ field: EnumCampoTributo.ClassificacaoTributaria,
82
+ rule: this.taxClassificationStatusRule
83
+ },
84
+ {
85
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
86
+ rule: this.applyNetValueToDocumentStatusRule
87
+ }
88
+ ],
89
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
90
+ {
91
+ field: EnumCampoTributo.BaseCalculo,
92
+ rule: this.taxableBaseStatusRule
93
+ },
94
+ {
95
+ field: EnumCampoTributo.Aliquota,
96
+ rule: this.taxRateStatusRule
97
+ }
98
+ ],
99
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
100
+ {
101
+ field: EnumCampoTributo.ClassificacaoTributaria,
102
+ rule: this.taxClassificationStatusRule
103
+ }
104
+ ],
105
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
106
+ [EnumTipoTributo.IS]: [
107
+ {
108
+ field: EnumCampoTributo.ClassificacaoTributaria,
109
+ rule: this.taxClassificationStatusRule
110
+ }
111
+ ],
112
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
113
+ {
114
+ field: EnumCampoTributo.ClassificacaoTributaria,
115
+ rule: this.taxClassificationStatusRule
116
+ }
117
+ ],
118
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
119
+ {
120
+ field: EnumCampoTributo.ClassificacaoTributaria,
121
+ rule: this.taxClassificationStatusRule
122
+ }
123
+ ]
124
+ },
125
+ 'Producer Invoice': {
126
+ [EnumTipoTributo.CBS]: [
127
+ {
128
+ field: EnumCampoTributo.ClassificacaoTributaria,
129
+ rule: this.taxClassificationStatusRule
130
+ },
131
+ {
132
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
133
+ rule: this.applyNetValueToDocumentStatusRule
134
+ }
135
+ ],
136
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
137
+ {
138
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
139
+ rule: this.applyNetValueToDocumentStatusRule
140
+ }
141
+ ],
142
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
143
+ {
144
+ field: EnumCampoTributo.BaseCalculo,
145
+ rule: this.taxableBaseStatusRule
146
+ },
147
+ {
148
+ field: EnumCampoTributo.Aliquota,
149
+ rule: this.taxRateStatusRule
150
+ }
151
+ ],
152
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
153
+ {
154
+ field: EnumCampoTributo.ClassificacaoTributaria,
155
+ rule: this.taxClassificationStatusRule
156
+ }
157
+ ],
158
+ [EnumTipoTributo.IBS_ESTADUAL]: [
159
+ {
160
+ field: EnumCampoTributo.ClassificacaoTributaria,
161
+ rule: this.taxClassificationStatusRule
162
+ },
163
+ {
164
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
165
+ rule: this.applyNetValueToDocumentStatusRule
166
+ }
167
+ ],
168
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
169
+ {
170
+ field: EnumCampoTributo.BaseCalculo,
171
+ rule: this.taxableBaseStatusRule
172
+ },
173
+ {
174
+ field: EnumCampoTributo.Aliquota,
175
+ rule: this.taxRateStatusRule
176
+ }
177
+ ],
178
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
179
+ {
180
+ field: EnumCampoTributo.ClassificacaoTributaria,
181
+ rule: this.taxClassificationStatusRule
182
+ }
183
+ ],
184
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
185
+ {
186
+ field: EnumCampoTributo.ClassificacaoTributaria,
187
+ rule: this.taxClassificationStatusRule
188
+ },
189
+ {
190
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
191
+ rule: this.applyNetValueToDocumentStatusRule
192
+ }
193
+ ],
194
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
195
+ {
196
+ field: EnumCampoTributo.BaseCalculo,
197
+ rule: this.taxableBaseStatusRule
198
+ },
199
+ {
200
+ field: EnumCampoTributo.Aliquota,
201
+ rule: this.taxRateStatusRule
202
+ }
203
+ ],
204
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
205
+ {
206
+ field: EnumCampoTributo.ClassificacaoTributaria,
207
+ rule: this.taxClassificationStatusRule
208
+ }
209
+ ],
210
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
211
+ [EnumTipoTributo.IS]: [
212
+ {
213
+ field: EnumCampoTributo.ClassificacaoTributaria,
214
+ rule: this.taxClassificationStatusRule
215
+ }
216
+ ],
217
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
218
+ {
219
+ field: EnumCampoTributo.ClassificacaoTributaria,
220
+ rule: this.taxClassificationStatusRule
221
+ }
222
+ ],
223
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
224
+ {
225
+ field: EnumCampoTributo.ClassificacaoTributaria,
226
+ rule: this.taxClassificationStatusRule
227
+ }
228
+ ]
229
+ },
230
+ 'Service Invoice': {
231
+ [EnumTipoTributo.CBS]: [
232
+ {
233
+ field: EnumCampoTributo.ClassificacaoTributaria,
234
+ rule: this.taxClassificationStatusRule
235
+ },
236
+ {
237
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
238
+ rule: this.applyNetValueToDocumentStatusRule
239
+ }
240
+ ],
241
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
242
+ {
243
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
244
+ rule: this.applyNetValueToDocumentStatusRule
245
+ }
246
+ ],
247
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
248
+ {
249
+ field: EnumCampoTributo.BaseCalculo,
250
+ rule: this.taxableBaseStatusRule
251
+ },
252
+ {
253
+ field: EnumCampoTributo.Aliquota,
254
+ rule: this.taxRateStatusRule
255
+ }
256
+ ],
257
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
258
+ {
259
+ field: EnumCampoTributo.ClassificacaoTributaria,
260
+ rule: this.taxClassificationStatusRule
261
+ }
262
+ ],
263
+ [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
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
274
+ {
275
+ field: EnumCampoTributo.BaseCalculo,
276
+ rule: this.taxableBaseStatusRule
277
+ },
278
+ {
279
+ field: EnumCampoTributo.Aliquota,
280
+ rule: this.taxRateStatusRule
281
+ }
282
+ ],
283
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
284
+ {
285
+ field: EnumCampoTributo.ClassificacaoTributaria,
286
+ rule: this.taxClassificationStatusRule
287
+ }
288
+ ],
289
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
290
+ {
291
+ field: EnumCampoTributo.ClassificacaoTributaria,
292
+ rule: this.taxClassificationStatusRule
293
+ },
294
+ {
295
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
296
+ rule: this.applyNetValueToDocumentStatusRule
297
+ }
298
+ ],
299
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
300
+ {
301
+ field: EnumCampoTributo.BaseCalculo,
302
+ rule: this.taxableBaseStatusRule
303
+ },
304
+ {
305
+ field: EnumCampoTributo.Aliquota,
306
+ rule: this.taxRateStatusRule
307
+ }
308
+ ],
309
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
310
+ {
311
+ field: EnumCampoTributo.ClassificacaoTributaria,
312
+ rule: this.taxClassificationStatusRule
313
+ }
314
+ ],
315
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
316
+ [EnumTipoTributo.IS]: [
317
+ {
318
+ field: EnumCampoTributo.ClassificacaoTributaria,
319
+ rule: this.taxClassificationStatusRule
320
+ }
321
+ ],
322
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
323
+ {
324
+ field: EnumCampoTributo.ClassificacaoTributaria,
325
+ rule: this.taxClassificationStatusRule
326
+ }
327
+ ],
328
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
329
+ {
330
+ field: EnumCampoTributo.ClassificacaoTributaria,
331
+ rule: this.taxClassificationStatusRule
332
+ }
333
+ ]
334
+ },
335
+ 'Third Party Return': {
336
+ [EnumTipoTributo.CBS]: [
337
+ {
338
+ field: EnumCampoTributo.ClassificacaoTributaria,
339
+ rule: this.taxClassificationStatusRule
340
+ },
341
+ {
342
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
343
+ rule: this.applyNetValueToDocumentStatusRule
344
+ }
345
+ ],
346
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
347
+ {
348
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
349
+ rule: this.applyNetValueToDocumentStatusRule
350
+ }
351
+ ],
352
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
353
+ {
354
+ field: EnumCampoTributo.BaseCalculo,
355
+ rule: this.taxableBaseStatusRule
356
+ },
357
+ {
358
+ field: EnumCampoTributo.Aliquota,
359
+ rule: this.taxRateStatusRule
360
+ }
361
+ ],
362
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
363
+ {
364
+ field: EnumCampoTributo.ClassificacaoTributaria,
365
+ rule: this.taxClassificationStatusRule
366
+ }
367
+ ],
368
+ [EnumTipoTributo.IBS_ESTADUAL]: [
369
+ {
370
+ field: EnumCampoTributo.ClassificacaoTributaria,
371
+ rule: this.taxClassificationStatusRule
372
+ },
373
+ {
374
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
375
+ rule: this.applyNetValueToDocumentStatusRule
376
+ }
377
+ ],
378
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
379
+ {
380
+ field: EnumCampoTributo.BaseCalculo,
381
+ rule: this.taxableBaseStatusRule
382
+ },
383
+ {
384
+ field: EnumCampoTributo.Aliquota,
385
+ rule: this.taxRateStatusRule
386
+ }
387
+ ],
388
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
389
+ {
390
+ field: EnumCampoTributo.ClassificacaoTributaria,
391
+ rule: this.taxClassificationStatusRule
392
+ }
393
+ ],
394
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
395
+ {
396
+ field: EnumCampoTributo.ClassificacaoTributaria,
397
+ rule: this.taxClassificationStatusRule
398
+ },
399
+ {
400
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
401
+ rule: this.applyNetValueToDocumentStatusRule
402
+ }
403
+ ],
404
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
405
+ {
406
+ field: EnumCampoTributo.BaseCalculo,
407
+ rule: this.taxableBaseStatusRule
408
+ },
409
+ {
410
+ field: EnumCampoTributo.Aliquota,
411
+ rule: this.taxRateStatusRule
412
+ }
413
+ ],
414
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
415
+ {
416
+ field: EnumCampoTributo.ClassificacaoTributaria,
417
+ rule: this.taxClassificationStatusRule
418
+ }
419
+ ],
420
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
421
+ [EnumTipoTributo.IS]: [
422
+ {
423
+ field: EnumCampoTributo.ClassificacaoTributaria,
424
+ rule: this.taxClassificationStatusRule
425
+ }
426
+ ],
427
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
428
+ {
429
+ field: EnumCampoTributo.ClassificacaoTributaria,
430
+ rule: this.taxClassificationStatusRule
431
+ }
432
+ ],
433
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
434
+ {
435
+ field: EnumCampoTributo.ClassificacaoTributaria,
436
+ rule: this.taxClassificationStatusRule
437
+ }
438
+ ]
439
+ },
440
+ Complement: {
441
+ [EnumTipoTributo.CBS]: [
442
+ {
443
+ field: EnumCampoTributo.ClassificacaoTributaria,
444
+ rule: this.taxClassificationStatusRule
445
+ },
446
+ {
447
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
448
+ rule: this.applyNetValueToDocumentStatusRule
449
+ }
450
+ ],
451
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
452
+ {
453
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
454
+ rule: this.applyNetValueToDocumentStatusRule
455
+ }
456
+ ],
457
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
458
+ {
459
+ field: EnumCampoTributo.BaseCalculo,
460
+ rule: this.taxableBaseStatusRule
461
+ },
462
+ {
463
+ field: EnumCampoTributo.Aliquota,
464
+ rule: this.taxRateStatusRule
465
+ }
466
+ ],
467
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
468
+ {
469
+ field: EnumCampoTributo.ClassificacaoTributaria,
470
+ rule: this.taxClassificationStatusRule
471
+ }
472
+ ],
473
+ [EnumTipoTributo.IBS_ESTADUAL]: [
474
+ {
475
+ field: EnumCampoTributo.ClassificacaoTributaria,
476
+ rule: this.taxClassificationStatusRule
477
+ },
478
+ {
479
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
480
+ rule: this.applyNetValueToDocumentStatusRule
481
+ }
482
+ ],
483
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
484
+ {
485
+ field: EnumCampoTributo.BaseCalculo,
486
+ rule: this.taxableBaseStatusRule
487
+ },
488
+ {
489
+ field: EnumCampoTributo.Aliquota,
490
+ rule: this.taxRateStatusRule
491
+ }
492
+ ],
493
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
494
+ {
495
+ field: EnumCampoTributo.ClassificacaoTributaria,
496
+ rule: this.taxClassificationStatusRule
497
+ }
498
+ ],
499
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
500
+ {
501
+ field: EnumCampoTributo.ClassificacaoTributaria,
502
+ rule: this.taxClassificationStatusRule
503
+ },
504
+ {
505
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
506
+ rule: this.applyNetValueToDocumentStatusRule
507
+ }
508
+ ],
509
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
510
+ {
511
+ field: EnumCampoTributo.BaseCalculo,
512
+ rule: this.taxableBaseStatusRule
513
+ },
514
+ {
515
+ field: EnumCampoTributo.Aliquota,
516
+ rule: this.taxRateStatusRule
517
+ }
518
+ ],
519
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
520
+ {
521
+ field: EnumCampoTributo.ClassificacaoTributaria,
522
+ rule: this.taxClassificationStatusRule
523
+ }
524
+ ],
525
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
526
+ [EnumTipoTributo.IS]: [
527
+ {
528
+ field: EnumCampoTributo.ClassificacaoTributaria,
529
+ rule: this.taxClassificationStatusRule
530
+ }
531
+ ],
532
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
533
+ {
534
+ field: EnumCampoTributo.ClassificacaoTributaria,
535
+ rule: this.taxClassificationStatusRule
536
+ }
537
+ ],
538
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
539
+ {
540
+ field: EnumCampoTributo.ClassificacaoTributaria,
541
+ rule: this.taxClassificationStatusRule
542
+ }
543
+ ]
544
+ },
545
+ Credit: {
546
+ [EnumTipoTributo.CBS]: [
547
+ {
548
+ field: EnumCampoTributo.ClassificacaoTributaria,
549
+ rule: this.taxClassificationStatusRule
550
+ },
551
+ {
552
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
553
+ rule: this.applyNetValueToDocumentStatusRule
554
+ }
555
+ ],
556
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
557
+ {
558
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
559
+ rule: this.applyNetValueToDocumentStatusRule
560
+ }
561
+ ],
562
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
563
+ {
564
+ field: EnumCampoTributo.BaseCalculo,
565
+ rule: this.taxableBaseStatusRule
566
+ },
567
+ {
568
+ field: EnumCampoTributo.Aliquota,
569
+ rule: this.taxRateStatusRule
570
+ }
571
+ ],
572
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
573
+ {
574
+ field: EnumCampoTributo.ClassificacaoTributaria,
575
+ rule: this.taxClassificationStatusRule
576
+ }
577
+ ],
578
+ [EnumTipoTributo.IBS_ESTADUAL]: [
579
+ {
580
+ field: EnumCampoTributo.ClassificacaoTributaria,
581
+ rule: this.taxClassificationStatusRule
582
+ },
583
+ {
584
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
585
+ rule: this.applyNetValueToDocumentStatusRule
586
+ }
587
+ ],
588
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
589
+ {
590
+ field: EnumCampoTributo.BaseCalculo,
591
+ rule: this.taxableBaseStatusRule
592
+ },
593
+ {
594
+ field: EnumCampoTributo.Aliquota,
595
+ rule: this.taxRateStatusRule
596
+ }
597
+ ],
598
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
599
+ {
600
+ field: EnumCampoTributo.ClassificacaoTributaria,
601
+ rule: this.taxClassificationStatusRule
602
+ }
603
+ ],
604
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
605
+ {
606
+ field: EnumCampoTributo.ClassificacaoTributaria,
607
+ rule: this.taxClassificationStatusRule
608
+ },
609
+ {
610
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
611
+ rule: this.applyNetValueToDocumentStatusRule
612
+ }
613
+ ],
614
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
615
+ {
616
+ field: EnumCampoTributo.BaseCalculo,
617
+ rule: this.taxableBaseStatusRule
618
+ },
619
+ {
620
+ field: EnumCampoTributo.Aliquota,
621
+ rule: this.taxRateStatusRule
622
+ }
623
+ ],
624
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
625
+ {
626
+ field: EnumCampoTributo.ClassificacaoTributaria,
627
+ rule: this.taxClassificationStatusRule
628
+ }
629
+ ],
630
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
631
+ [EnumTipoTributo.IS]: [
632
+ {
633
+ field: EnumCampoTributo.ClassificacaoTributaria,
634
+ rule: this.taxClassificationStatusRule
635
+ }
636
+ ]
637
+ },
638
+ Freight: {
639
+ [EnumTipoTributo.CBS]: [
640
+ {
641
+ field: EnumCampoTributo.ClassificacaoTributaria,
642
+ rule: this.taxClassificationStatusRule
643
+ },
644
+ {
645
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
646
+ rule: this.applyNetValueToDocumentStatusRule
647
+ }
648
+ ],
649
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
650
+ {
651
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
652
+ rule: this.applyNetValueToDocumentStatusRule
653
+ }
654
+ ],
655
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
656
+ {
657
+ field: EnumCampoTributo.BaseCalculo,
658
+ rule: this.taxableBaseStatusRule
659
+ },
660
+ {
661
+ field: EnumCampoTributo.Aliquota,
662
+ rule: this.taxRateStatusRule
663
+ }
664
+ ],
665
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
666
+ {
667
+ field: EnumCampoTributo.ClassificacaoTributaria,
668
+ rule: this.taxClassificationStatusRule
669
+ }
670
+ ],
671
+ [EnumTipoTributo.IBS_ESTADUAL]: [
672
+ {
673
+ field: EnumCampoTributo.ClassificacaoTributaria,
674
+ rule: this.taxClassificationStatusRule
675
+ },
676
+ {
677
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
678
+ rule: this.applyNetValueToDocumentStatusRule
679
+ }
680
+ ],
681
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
682
+ {
683
+ field: EnumCampoTributo.BaseCalculo,
684
+ rule: this.taxableBaseStatusRule
685
+ },
686
+ {
687
+ field: EnumCampoTributo.Aliquota,
688
+ rule: this.taxRateStatusRule
689
+ }
690
+ ],
691
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
692
+ {
693
+ field: EnumCampoTributo.ClassificacaoTributaria,
694
+ rule: this.taxClassificationStatusRule
695
+ }
696
+ ],
697
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
698
+ {
699
+ field: EnumCampoTributo.ClassificacaoTributaria,
700
+ rule: this.taxClassificationStatusRule
701
+ },
702
+ {
703
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
704
+ rule: this.applyNetValueToDocumentStatusRule
705
+ }
706
+ ],
707
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
708
+ {
709
+ field: EnumCampoTributo.BaseCalculo,
710
+ rule: this.taxableBaseStatusRule
711
+ },
712
+ {
713
+ field: EnumCampoTributo.Aliquota,
714
+ rule: this.taxRateStatusRule
715
+ }
716
+ ],
717
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
718
+ {
719
+ field: EnumCampoTributo.ClassificacaoTributaria,
720
+ rule: this.taxClassificationStatusRule
721
+ }
722
+ ],
723
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
724
+ [EnumTipoTributo.IS]: [
725
+ {
726
+ field: EnumCampoTributo.ClassificacaoTributaria,
727
+ rule: this.taxClassificationStatusRule
728
+ }
729
+ ],
730
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
731
+ {
732
+ field: EnumCampoTributo.ClassificacaoTributaria,
733
+ rule: this.taxClassificationStatusRule
734
+ }
735
+ ],
736
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
737
+ {
738
+ field: EnumCampoTributo.ClassificacaoTributaria,
739
+ rule: this.taxClassificationStatusRule
740
+ }
741
+ ]
742
+ },
743
+ Return: {
744
+ [EnumTipoTributo.CBS]: [
745
+ {
746
+ field: EnumCampoTributo.ClassificacaoTributaria,
747
+ rule: this.taxClassificationStatusRule
748
+ },
749
+ {
750
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
751
+ rule: this.applyNetValueToDocumentStatusRule
752
+ }
753
+ ],
754
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
755
+ {
756
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
757
+ rule: this.applyNetValueToDocumentStatusRule
758
+ }
759
+ ],
760
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
761
+ {
762
+ field: EnumCampoTributo.BaseCalculo,
763
+ rule: this.taxableBaseStatusRule
764
+ },
765
+ {
766
+ field: EnumCampoTributo.Aliquota,
767
+ rule: this.taxRateStatusRule
768
+ }
769
+ ],
770
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
771
+ {
772
+ field: EnumCampoTributo.ClassificacaoTributaria,
773
+ rule: this.taxClassificationStatusRule
774
+ }
775
+ ],
776
+ [EnumTipoTributo.IBS_ESTADUAL]: [
777
+ {
778
+ field: EnumCampoTributo.ClassificacaoTributaria,
779
+ rule: this.taxClassificationStatusRule
780
+ },
781
+ {
782
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
783
+ rule: this.applyNetValueToDocumentStatusRule
784
+ }
785
+ ],
786
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
787
+ {
788
+ field: EnumCampoTributo.BaseCalculo,
789
+ rule: this.taxableBaseStatusRule
790
+ },
791
+ {
792
+ field: EnumCampoTributo.Aliquota,
793
+ rule: this.taxRateStatusRule
794
+ }
795
+ ],
796
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
797
+ {
798
+ field: EnumCampoTributo.ClassificacaoTributaria,
799
+ rule: this.taxClassificationStatusRule
800
+ }
801
+ ],
802
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
803
+ {
804
+ field: EnumCampoTributo.ClassificacaoTributaria,
805
+ rule: this.taxClassificationStatusRule
806
+ },
807
+ {
808
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
809
+ rule: this.applyNetValueToDocumentStatusRule
810
+ }
811
+ ],
812
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
813
+ {
814
+ field: EnumCampoTributo.BaseCalculo,
815
+ rule: this.taxableBaseStatusRule
816
+ },
817
+ {
818
+ field: EnumCampoTributo.Aliquota,
819
+ rule: this.taxRateStatusRule
820
+ }
821
+ ],
822
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
823
+ {
824
+ field: EnumCampoTributo.ClassificacaoTributaria,
825
+ rule: this.taxClassificationStatusRule
826
+ }
827
+ ],
828
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
829
+ [EnumTipoTributo.IS]: [
830
+ {
831
+ field: EnumCampoTributo.ClassificacaoTributaria,
832
+ rule: this.taxClassificationStatusRule
833
+ }
834
+ ],
835
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
836
+ {
837
+ field: EnumCampoTributo.ClassificacaoTributaria,
838
+ rule: this.taxClassificationStatusRule
839
+ }
840
+ ],
841
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
842
+ {
843
+ field: EnumCampoTributo.ClassificacaoTributaria,
844
+ rule: this.taxClassificationStatusRule
845
+ }
846
+ ]
847
+ },
848
+ Reversal: {
849
+ [EnumTipoTributo.CBS]: [
850
+ {
851
+ field: EnumCampoTributo.ClassificacaoTributaria,
852
+ rule: this.taxClassificationStatusRule
853
+ },
854
+ {
855
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
856
+ rule: this.applyNetValueToDocumentStatusRule
857
+ }
858
+ ],
859
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
860
+ {
861
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
862
+ rule: this.applyNetValueToDocumentStatusRule
863
+ }
864
+ ],
865
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
866
+ {
867
+ field: EnumCampoTributo.BaseCalculo,
868
+ rule: this.taxableBaseStatusRule
869
+ },
870
+ {
871
+ field: EnumCampoTributo.Aliquota,
872
+ rule: this.taxRateStatusRule
873
+ }
874
+ ],
875
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
876
+ {
877
+ field: EnumCampoTributo.ClassificacaoTributaria,
878
+ rule: this.taxClassificationStatusRule
879
+ }
880
+ ],
881
+ [EnumTipoTributo.IBS_ESTADUAL]: [
882
+ {
883
+ field: EnumCampoTributo.ClassificacaoTributaria,
884
+ rule: this.taxClassificationStatusRule
885
+ },
886
+ {
887
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
888
+ rule: this.applyNetValueToDocumentStatusRule
889
+ }
890
+ ],
891
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
892
+ {
893
+ field: EnumCampoTributo.BaseCalculo,
894
+ rule: this.taxableBaseStatusRule
895
+ },
896
+ {
897
+ field: EnumCampoTributo.Aliquota,
898
+ rule: this.taxRateStatusRule
899
+ }
900
+ ],
901
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
902
+ {
903
+ field: EnumCampoTributo.ClassificacaoTributaria,
904
+ rule: this.taxClassificationStatusRule
905
+ }
906
+ ],
907
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
908
+ {
909
+ field: EnumCampoTributo.ClassificacaoTributaria,
910
+ rule: this.taxClassificationStatusRule
911
+ },
912
+ {
913
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
914
+ rule: this.applyNetValueToDocumentStatusRule
915
+ }
916
+ ],
917
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
918
+ {
919
+ field: EnumCampoTributo.BaseCalculo,
920
+ rule: this.taxableBaseStatusRule
921
+ },
922
+ {
923
+ field: EnumCampoTributo.Aliquota,
924
+ rule: this.taxRateStatusRule
925
+ }
926
+ ],
927
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
928
+ {
929
+ field: EnumCampoTributo.ClassificacaoTributaria,
930
+ rule: this.taxClassificationStatusRule
931
+ }
932
+ ],
933
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
934
+ [EnumTipoTributo.IS]: [
935
+ {
936
+ field: EnumCampoTributo.ClassificacaoTributaria,
937
+ rule: this.taxClassificationStatusRule
938
+ }
939
+ ],
940
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
941
+ {
942
+ field: EnumCampoTributo.ClassificacaoTributaria,
943
+ rule: this.taxClassificationStatusRule
944
+ }
945
+ ],
946
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
947
+ {
948
+ field: EnumCampoTributo.ClassificacaoTributaria,
949
+ rule: this.taxClassificationStatusRule
950
+ }
951
+ ]
952
+ },
953
+ Standard: {
954
+ [EnumTipoTributo.CBS]: [
955
+ {
956
+ field: EnumCampoTributo.ClassificacaoTributaria,
957
+ rule: this.taxClassificationStatusRule
958
+ },
959
+ {
960
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
961
+ rule: this.applyNetValueToDocumentStatusRule
962
+ }
963
+ ],
964
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
965
+ {
966
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
967
+ rule: this.applyNetValueToDocumentStatusRule
968
+ }
969
+ ],
970
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
971
+ {
972
+ field: EnumCampoTributo.BaseCalculo,
973
+ rule: this.taxableBaseStatusRule
974
+ },
975
+ {
976
+ field: EnumCampoTributo.Aliquota,
977
+ rule: this.taxRateStatusRule
978
+ }
979
+ ],
980
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
981
+ {
982
+ field: EnumCampoTributo.ClassificacaoTributaria,
983
+ rule: this.taxClassificationStatusRule
984
+ }
985
+ ],
986
+ [EnumTipoTributo.IBS_ESTADUAL]: [
987
+ {
988
+ field: EnumCampoTributo.ClassificacaoTributaria,
989
+ rule: this.taxClassificationStatusRule
990
+ },
991
+ {
992
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
993
+ rule: this.applyNetValueToDocumentStatusRule
994
+ }
995
+ ],
996
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
997
+ {
998
+ field: EnumCampoTributo.BaseCalculo,
999
+ rule: this.taxableBaseStatusRule
1000
+ },
1001
+ {
1002
+ field: EnumCampoTributo.Aliquota,
1003
+ rule: this.taxRateStatusRule
1004
+ }
1005
+ ],
1006
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
1007
+ {
1008
+ field: EnumCampoTributo.ClassificacaoTributaria,
1009
+ rule: this.taxClassificationStatusRule
1010
+ }
1011
+ ],
1012
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
1013
+ {
1014
+ field: EnumCampoTributo.ClassificacaoTributaria,
1015
+ rule: this.taxClassificationStatusRule
1016
+ },
1017
+ {
1018
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1019
+ rule: this.applyNetValueToDocumentStatusRule
1020
+ }
1021
+ ],
1022
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
1023
+ {
1024
+ field: EnumCampoTributo.BaseCalculo,
1025
+ rule: this.taxableBaseStatusRule
1026
+ },
1027
+ {
1028
+ field: EnumCampoTributo.Aliquota,
1029
+ rule: this.taxRateStatusRule
1030
+ }
1031
+ ],
1032
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
1033
+ {
1034
+ field: EnumCampoTributo.ClassificacaoTributaria,
1035
+ rule: this.taxClassificationStatusRule
1036
+ }
1037
+ ],
1038
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [],
1039
+ [EnumTipoTributo.IS]: [
1040
+ {
1041
+ field: EnumCampoTributo.ClassificacaoTributaria,
1042
+ rule: this.taxClassificationStatusRule
1043
+ }
1044
+ ],
1045
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
1046
+ {
1047
+ field: EnumCampoTributo.ClassificacaoTributaria,
1048
+ rule: this.taxClassificationStatusRule
1049
+ }
1050
+ ],
1051
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
1052
+ {
1053
+ field: EnumCampoTributo.ClassificacaoTributaria,
1054
+ rule: this.taxClassificationStatusRule
1055
+ }
1056
+ ]
1057
+ }
1058
+ };
1059
+ }
1060
+ get(type, taxType) {
1061
+ var _a, _b;
1062
+ return (_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : [];
1063
+ }
1064
+ };
1065
+ IncomingInvoiceStatusRulesRegistry.ctorParameters = () => [
1066
+ { type: TaxClassificationStatusRule },
1067
+ { type: ApplyNetValueToDocumentStatusRule },
1068
+ { type: TaxableBaseStatusRule },
1069
+ { type: TaxRateStatusRule }
1070
+ ];
1071
+ IncomingInvoiceStatusRulesRegistry.ɵprov = i0.ɵɵdefineInjectable({ factory: function IncomingInvoiceStatusRulesRegistry_Factory() { return new IncomingInvoiceStatusRulesRegistry(i0.ɵɵinject(i1.TaxClassificationStatusRule), i0.ɵɵinject(i2.ApplyNetValueToDocumentStatusRule), i0.ɵɵinject(i3.TaxableBaseStatusRule), i0.ɵɵinject(i4.TaxRateStatusRule)); }, token: IncomingInvoiceStatusRulesRegistry, providedIn: "root" });
1072
+ IncomingInvoiceStatusRulesRegistry = __decorate([
1073
+ Injectable({ providedIn: 'root' })
1074
+ ], IncomingInvoiceStatusRulesRegistry);
1075
+ export { IncomingInvoiceStatusRulesRegistry };
1076
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmctaW52b2ljZS1zdGF0dXMtcnVsZXMucmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL3J1bGVzL3N0YXR1cy9yZWdpc3RyaWVzL2luY29taW5nLWludm9pY2Utc3RhdHVzLXJ1bGVzLnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUtoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRzFFLElBQWEsa0NBQWtDLEdBQS9DLE1BQWEsa0NBQWtDO0lBMmhDM0MsWUFDcUIsMkJBQXdELEVBQ3hELGlDQUFvRSxFQUNwRSxxQkFBNEMsRUFDNUMsaUJBQW9DO1FBSHBDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUE5aEN4QyxlQUFVLEdBQXVCO1lBQzlDLFVBQVUsRUFBRTtnQkFDUixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbkI7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLHVCQUF1Qjt3QkFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQywyQkFB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QUM7SUFDbEQsQ0FBQztDQUNKLENBQUE7O1lBWnFELDJCQUEyQjtZQUNyQixpQ0FBaUM7WUFDN0MscUJBQXFCO1lBQ3pCLGlCQUFpQjs7O0FBL2hDaEQsa0NBQWtDO0lBRDlDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztHQUN0QixrQ0FBa0MsQ0F3aUM5QztTQXhpQ1ksa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW51bUNhbXBvVHJpYnV0bywgRW51bVRpcG9UcmlidXRvIH0gZnJvbSAnLi4vLi4vLi4vZXJwLXRyaWJ1dG9zLnR5cGVzJztcbmltcG9ydCB7IEluY29taW5nSW52b2ljZVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9pbmNvbWluZy1pbnZvaWNlLXR5cGUnO1xuaW1wb3J0IHsgRmllbGRTdGF0dXNSdWxlTWFwcGluZyB9IGZyb20gJy4uLy4uL3R5cGVzL2ZpZWxkLXN0YXR1cy1ydWxlLW1hcHBpbmcnO1xuaW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAnLi4vLi4vdHlwZXMvc2NoZW1hcy9pbmNvbWluZy1pbnZvaWNlLnNjaGVtYSc7XG5pbXBvcnQgeyBTdHJhdGVnaWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvc3RyYXRlZ2llcyc7XG5pbXBvcnQgeyBBcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGUgfSBmcm9tICcuLi9ydWxlcy9hcHBseS1uZXQtdmFsdWUtdG8tZG9jdW1lbnQtc3RhdHVzLXJ1bGUnO1xuaW1wb3J0IHsgVGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlIH0gZnJvbSAnLi4vcnVsZXMvdGF4LWNsYXNzaWZpY2F0aW9uLXN0YXR1cy1ydWxlJztcbmltcG9ydCB7IFRheFJhdGVTdGF0dXNSdWxlIH0gZnJvbSAnLi4vcnVsZXMvdGF4LXJhdGUtc3RhdHVzLXJ1bGUnO1xuaW1wb3J0IHsgVGF4YWJsZUJhc2VTdGF0dXNSdWxlIH0gZnJvbSAnLi4vcnVsZXMvdGF4YWJsZS1iYXNlLXN0YXR1cy1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbmNvbWluZ0ludm9pY2VTdGF0dXNSdWxlc1JlZ2lzdHJ5IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmF0ZWdpZXM6IFN0cmF0ZWdpZXM8U2NoZW1hPiA9IHtcbiAgICAgICAgQWRqdXN0bWVudDoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgICdQcm9kdWNlciBJbnZvaWNlJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgICdTZXJ2aWNlIEludm9pY2UnOiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgJ1RoaXJkIFBhcnR5IFJldHVybic6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBDb21wbGVtZW50OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgQ3JlZGl0OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBGcmVpZ2h0OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgUmV0dXJuOiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW10sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgUmV2ZXJzYWw6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBTdGFuZGFyZDoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50U3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZVN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4Q2xhc3NpZmljYXRpb25TdGF0dXNSdWxlOiBUYXhDbGFzc2lmaWNhdGlvblN0YXR1c1J1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRTdGF0dXNSdWxlOiBBcHBseU5ldFZhbHVlVG9Eb2N1bWVudFN0YXR1c1J1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4YWJsZUJhc2VTdGF0dXNSdWxlOiBUYXhhYmxlQmFzZVN0YXR1c1J1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4UmF0ZVN0YXR1c1J1bGU6IFRheFJhdGVTdGF0dXNSdWxlXG4gICAgKSB7fVxuXG4gICAgZ2V0KFxuICAgICAgICB0eXBlOiBJbmNvbWluZ0ludm9pY2VUeXBlLFxuICAgICAgICB0YXhUeXBlOiBFbnVtVGlwb1RyaWJ1dG9cbiAgICApOiBGaWVsZFN0YXR1c1J1bGVNYXBwaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdHJhdGVnaWVzW3R5cGVdPy5bdGF4VHlwZV0gPz8gW107XG4gICAgfVxufVxuIl19