@senior-agronegocio/angular-components 0.0.9884 → 1.0.1

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 (728) hide show
  1. package/README.md +25 -0
  2. package/agro-angular-components.module.d.ts +13 -9
  3. package/common/agro-array-utils.class.d.ts +48 -48
  4. package/common/agro-cookie-utils.class.d.ts +9 -9
  5. package/common/agro-date-utils.class.d.ts +88 -88
  6. package/common/agro-logics.class.d.ts +23 -23
  7. package/common/agro-name-utils.class.d.ts +22 -22
  8. package/common/agro-number-utils.class.d.ts +77 -77
  9. package/common/agro-object-stringifier.class.d.ts +16 -16
  10. package/common/agro-object-utils.class.d.ts +184 -173
  11. package/common/agro-platform-utils.class.d.ts +60 -60
  12. package/common/agro-regex.constant.d.ts +155 -155
  13. package/common/agro-string-utils.class.d.ts +97 -97
  14. package/common/agro-unit-converter.class.d.ts +23 -23
  15. package/common/colors.class.d.ts +78 -78
  16. package/common/edl-query-builder.class.d.ts +27 -0
  17. package/common/index.d.ts +15 -12
  18. package/components/cancel-event-dialog/cancel-event-dialog-config.d.ts +8 -8
  19. package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +34 -33
  20. package/components/cancel-event-dialog/cancel-event-dialog.module.d.ts +14 -2
  21. package/components/cancel-event-dialog/index.d.ts +3 -3
  22. package/components/event-control-board/common/control-status.d.ts +5 -5
  23. package/components/event-control-board/common/documentsToIssue.d.ts +4 -4
  24. package/components/event-control-board/common/event-control-constants.d.ts +11 -11
  25. package/components/event-control-board/common/event-operation.d.ts +52 -52
  26. package/components/event-control-board/common/event-origin.d.ts +12 -12
  27. package/components/event-control-board/common/event-status.d.ts +7 -7
  28. package/components/event-control-board/common/input-fields-translate.d.ts +5 -5
  29. package/components/event-control-board/common/input-fields.d.ts +5 -5
  30. package/components/event-control-board/common/invoice-type.d.ts +9 -9
  31. package/components/event-control-board/common/lookup-error-message.constants.d.ts +3 -3
  32. package/components/event-control-board/common/operation.d.ts +5 -5
  33. package/components/event-control-board/common/operationType.d.ts +5 -5
  34. package/components/event-control-board/common/status-entity.d.ts +4 -4
  35. package/components/event-control-board/common/ticket-status.d.ts +7 -7
  36. package/components/event-control-board/common/transfer-status.d.ts +6 -6
  37. package/components/event-control-board/event-control-board.component.d.ts +120 -106
  38. package/components/event-control-board/event-control-board.module.d.ts +31 -2
  39. package/components/event-control-board/index.d.ts +22 -22
  40. package/components/event-control-board/service/e001pes/e001pes-dto.d.ts +12 -12
  41. package/components/event-control-board/service/e001pes/e001pes.d.ts +15 -15
  42. package/components/event-control-board/service/e001pes/e001pes.module.d.ts +7 -2
  43. package/components/event-control-board/service/e001pes/e001pes.service.d.ts +16 -13
  44. package/components/event-control-board/service/e001tns/e001tns-dto.d.ts +14 -14
  45. package/components/event-control-board/service/e001tns/e001tns.d.ts +19 -19
  46. package/components/event-control-board/service/e001tns/e001tns.module.d.ts +7 -2
  47. package/components/event-control-board/service/e001tns/e001tns.service.d.ts +14 -11
  48. package/components/event-control-board/service/e012fam/e012fam-dto.d.ts +11 -11
  49. package/components/event-control-board/service/e012fam/e012fam.d.ts +14 -14
  50. package/components/event-control-board/service/e012fam/e012fam.service.d.ts +14 -11
  51. package/components/event-control-board/service/e070emp/e070emp-dto.d.ts +10 -10
  52. package/components/event-control-board/service/e070emp/e070emp.d.ts +13 -13
  53. package/components/event-control-board/service/e070emp/e070emp.module.d.ts +7 -2
  54. package/components/event-control-board/service/e070emp/e070emp.service.d.ts +15 -12
  55. package/components/event-control-board/service/e070fil/e070fil-dto.d.ts +14 -14
  56. package/components/event-control-board/service/e070fil/e070fil.d.ts +17 -17
  57. package/components/event-control-board/service/e070fil/e070fil.module.d.ts +7 -2
  58. package/components/event-control-board/service/e070fil/e070fil.service.d.ts +15 -12
  59. package/components/event-control-board/service/e075der/e075der-dto.d.ts +15 -15
  60. package/components/event-control-board/service/e075der/e075der.d.ts +18 -18
  61. package/components/event-control-board/service/e075der/e075der.module.d.ts +7 -2
  62. package/components/event-control-board/service/e075der/e075der.service.d.ts +15 -12
  63. package/components/event-control-board/service/e113saf/e113saf-dto.d.ts +11 -11
  64. package/components/event-control-board/service/e113saf/e113saf.d.ts +14 -14
  65. package/components/event-control-board/service/e205dep/deposit-dto.d.ts +11 -11
  66. package/components/event-control-board/service/e205dep/e205dep-dto.d.ts +15 -15
  67. package/components/event-control-board/service/e205dep/e205dep.d.ts +16 -16
  68. package/components/event-control-board/service/e205dep/e205dep.service.d.ts +15 -12
  69. package/components/event-control-board/service/event-control/event-control-dto.d.ts +15 -15
  70. package/components/event-control-board/service/event-control/event-control.d.ts +21 -21
  71. package/components/event-control-board/service/event-control/event-control.module.d.ts +7 -2
  72. package/components/event-control-board/service/event-control/event-control.service.d.ts +14 -11
  73. package/components/event-control-board/service/event-control-item/event-control-item-dto.d.ts +18 -18
  74. package/components/event-control-board/service/event-control-item/event-control-item.d.ts +25 -25
  75. package/components/event-control-board/service/event-control-item/event-control-item.module.d.ts +7 -2
  76. package/components/event-control-board/service/event-control-item/event-control-item.service.d.ts +18 -15
  77. package/components/event-control-board/service/external-invoice/external-invoice-dto.d.ts +13 -13
  78. package/components/event-control-board/service/external-invoice/external-invoice.d.ts +13 -13
  79. package/components/event-control-board/service/external-invoice/external-invoice.module.d.ts +7 -2
  80. package/components/event-control-board/service/external-invoice/external-invoice.service.d.ts +14 -11
  81. package/components/event-control-board/service/fixation-entity/fixation-dto.d.ts +41 -41
  82. package/components/event-control-board/service/fixation-entity/fixation.module.d.ts +7 -2
  83. package/components/event-control-board/service/fixation-entity/fixation.service.d.ts +18 -15
  84. package/components/event-control-board/service/invoice/invoice-dto.d.ts +15 -15
  85. package/components/event-control-board/service/invoice/invoice.d.ts +21 -21
  86. package/components/event-control-board/service/invoice/invoice.module.d.ts +7 -2
  87. package/components/event-control-board/service/invoice/invoice.service.d.ts +14 -11
  88. package/components/event-control-board/service/origination/operationType.d.ts +5 -5
  89. package/components/event-control-board/service/origination/origination-dto.d.ts +50 -50
  90. package/components/event-control-board/service/origination/origination.d.ts +51 -51
  91. package/components/event-control-board/service/origination/origination.module.d.ts +7 -2
  92. package/components/event-control-board/service/origination/origination.service.d.ts +14 -11
  93. package/components/event-control-board/service/paginator-storage.service.d.ts +8 -8
  94. package/components/event-control-board/service/rural-estate/rural-estate-dto.d.ts +28 -28
  95. package/components/event-control-board/service/rural-estate/rural-estate.d.ts +34 -34
  96. package/components/event-control-board/service/rural-estate/rural-estate.module.d.ts +7 -2
  97. package/components/event-control-board/service/rural-estate/rural-estate.service.d.ts +14 -11
  98. package/components/event-control-board/service/ticket/ticket-dto.d.ts +17 -17
  99. package/components/event-control-board/service/ticket/ticket.d.ts +18 -18
  100. package/components/event-control-board/service/ticket/ticket.module.d.ts +7 -2
  101. package/components/event-control-board/service/ticket/ticket.service.d.ts +48 -45
  102. package/components/event-control-board/service/transfer/transfer-dto.d.ts +32 -32
  103. package/components/event-control-board/service/transfer/transfer.module.d.ts +7 -2
  104. package/components/event-control-board/service/transfer/transfer.service.d.ts +16 -13
  105. package/components/event-control-board/shared.module.d.ts +31 -2
  106. package/components/event-steps/event-steps.component.d.ts +39 -36
  107. package/components/event-steps/event-steps.module.d.ts +9 -2
  108. package/components/event-steps/index.d.ts +2 -2
  109. package/components/financial-title-table/financial-title-table-options.interface.d.ts +10 -10
  110. package/components/financial-title-table/financial-title-table.component.d.ts +128 -126
  111. package/components/financial-title-table/financial-title-table.module.d.ts +26 -2
  112. package/components/financial-title-table/index.d.ts +4 -4
  113. package/components/financial-title-table/services/financial/agro-financial.service.d.ts +26 -23
  114. package/components/financial-title-table/services/financial/enums.d.ts +27 -27
  115. package/components/financial-title-table/services/financial/index.d.ts +3 -3
  116. package/components/financial-title-table/services/financial/intefaces.d.ts +107 -107
  117. package/components/index.d.ts +5 -5
  118. package/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.d.ts +5 -5
  119. package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +40 -36
  120. package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.d.ts +26 -2
  121. package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.d.ts +32 -28
  122. package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.d.ts +26 -2
  123. package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.d.ts +20 -17
  124. package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.d.ts +26 -2
  125. package/components/modal-invoice-pj/index.d.ts +9 -9
  126. package/components/modal-invoice-pj/modal-invoice-pj-base.class.d.ts +64 -55
  127. package/components/modal-invoice-pj/modal-invoice-pj-options.interface.d.ts +10 -10
  128. package/components/modal-invoice-pj/modal-shared-imports.d.ts +7 -5
  129. package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.d.ts +8 -2
  130. package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.d.ts +19 -16
  131. package/components/modal-invoice-pj/services/agro-invoice/index.d.ts +2 -2
  132. package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +75 -75
  133. package/enums/agro-entity-status.enum.d.ts +4 -4
  134. package/enums/agro-numbers.enum.d.ts +1008 -1008
  135. package/enums/agro-string-masks.enum.d.ts +10 -10
  136. package/enums/date-comparison-type.enum.d.ts +4 -4
  137. package/enums/fixation-status.d.ts +8 -8
  138. package/enums/http-codes.enum.d.ts +64 -64
  139. package/enums/index.d.ts +8 -7
  140. package/enums/invoice-status.enum.d.ts +12 -12
  141. package/enums/number-comparison-type.enum.d.ts +8 -8
  142. package/enums/unit-measurement.enum.d.ts +49 -49
  143. package/esm2022/agro-angular-components.module.mjs +24 -0
  144. package/esm2022/common/agro-array-utils.class.mjs +74 -0
  145. package/esm2022/common/agro-cookie-utils.class.mjs +47 -0
  146. package/esm2022/common/agro-date-utils.class.mjs +121 -0
  147. package/esm2022/common/agro-logics.class.mjs +54 -0
  148. package/esm2022/common/agro-name-utils.class.mjs +60 -0
  149. package/esm2022/common/agro-number-utils.class.mjs +129 -0
  150. package/esm2022/common/agro-object-stringifier.class.mjs +34 -0
  151. package/esm2022/common/agro-object-utils.class.mjs +320 -0
  152. package/esm2022/common/agro-platform-utils.class.mjs +119 -0
  153. package/esm2022/common/agro-regex.constant.mjs +156 -0
  154. package/esm2022/common/agro-string-utils.class.mjs +363 -0
  155. package/esm2022/common/agro-unit-converter.class.mjs +254 -0
  156. package/esm2022/common/colors.class.mjs +79 -0
  157. package/esm2022/common/edl-query-builder.class.mjs +141 -0
  158. package/esm2022/common/index.mjs +14 -0
  159. package/esm2022/components/cancel-event-dialog/cancel-event-dialog-config.mjs +2 -0
  160. package/esm2022/components/cancel-event-dialog/cancel-event-dialog.component.mjs +117 -0
  161. package/esm2022/components/cancel-event-dialog/cancel-event-dialog.module.mjs +24 -0
  162. package/esm2022/components/cancel-event-dialog/index.mjs +3 -0
  163. package/esm2022/components/event-control-board/common/control-status.mjs +7 -0
  164. package/esm2022/components/event-control-board/common/documentsToIssue.mjs +6 -0
  165. package/esm2022/components/event-control-board/common/event-control-constants.mjs +113 -0
  166. package/esm2022/components/event-control-board/common/event-operation.mjs +54 -0
  167. package/esm2022/components/event-control-board/common/event-origin.mjs +14 -0
  168. package/esm2022/components/event-control-board/common/event-status.mjs +9 -0
  169. package/esm2022/components/event-control-board/common/input-fields-translate.mjs +11 -0
  170. package/esm2022/components/event-control-board/common/input-fields.mjs +7 -0
  171. package/esm2022/components/event-control-board/common/invoice-type.mjs +11 -0
  172. package/esm2022/components/event-control-board/common/lookup-error-message.constants.mjs +11 -0
  173. package/esm2022/components/event-control-board/common/operation.mjs +7 -0
  174. package/esm2022/components/event-control-board/common/operationType.mjs +7 -0
  175. package/esm2022/components/event-control-board/common/status-entity.mjs +6 -0
  176. package/esm2022/components/event-control-board/common/ticket-status.mjs +9 -0
  177. package/esm2022/components/event-control-board/common/transfer-status.mjs +8 -0
  178. package/esm2022/components/event-control-board/event-control-board.component.mjs +609 -0
  179. package/esm2022/components/event-control-board/event-control-board.module.mjs +120 -0
  180. package/esm2022/components/event-control-board/index.mjs +22 -0
  181. package/esm2022/components/event-control-board/service/e001pes/e001pes-dto.mjs +2 -0
  182. package/esm2022/components/event-control-board/service/e001pes/e001pes.mjs +30 -0
  183. package/esm2022/components/event-control-board/service/e001pes/e001pes.module.mjs +34 -0
  184. package/esm2022/components/event-control-board/service/e001pes/e001pes.service.mjs +33 -0
  185. package/esm2022/components/event-control-board/service/e001tns/e001tns-dto.mjs +2 -0
  186. package/esm2022/components/event-control-board/service/e001tns/e001tns.mjs +51 -0
  187. package/esm2022/components/event-control-board/service/e001tns/e001tns.module.mjs +38 -0
  188. package/esm2022/components/event-control-board/service/e001tns/e001tns.service.mjs +23 -0
  189. package/esm2022/components/event-control-board/service/e012fam/e012fam-dto.mjs +2 -0
  190. package/esm2022/components/event-control-board/service/e012fam/e012fam.mjs +29 -0
  191. package/esm2022/components/event-control-board/service/e012fam/e012fam.service.mjs +23 -0
  192. package/esm2022/components/event-control-board/service/e070emp/e070emp-dto.mjs +2 -0
  193. package/esm2022/components/event-control-board/service/e070emp/e070emp.mjs +37 -0
  194. package/esm2022/components/event-control-board/service/e070emp/e070emp.module.mjs +34 -0
  195. package/esm2022/components/event-control-board/service/e070emp/e070emp.service.mjs +30 -0
  196. package/esm2022/components/event-control-board/service/e070fil/e070fil-dto.mjs +2 -0
  197. package/esm2022/components/event-control-board/service/e070fil/e070fil.mjs +52 -0
  198. package/esm2022/components/event-control-board/service/e070fil/e070fil.module.mjs +34 -0
  199. package/esm2022/components/event-control-board/service/e070fil/e070fil.service.mjs +30 -0
  200. package/esm2022/components/event-control-board/service/e075der/e075der-dto.mjs +2 -0
  201. package/esm2022/components/event-control-board/service/e075der/e075der.mjs +41 -0
  202. package/esm2022/components/event-control-board/service/e075der/e075der.module.mjs +34 -0
  203. package/esm2022/components/event-control-board/service/e075der/e075der.service.mjs +28 -0
  204. package/esm2022/components/event-control-board/service/e113saf/e113saf-dto.mjs +2 -0
  205. package/{esm2015/components/event-control-board/service/e113saf/e113saf.js → esm2022/components/event-control-board/service/e113saf/e113saf.mjs} +29 -20
  206. package/esm2022/components/event-control-board/service/e205dep/deposit-dto.mjs +2 -0
  207. package/esm2022/components/event-control-board/service/e205dep/e205dep-dto.mjs +2 -0
  208. package/esm2022/components/event-control-board/service/e205dep/e205dep.mjs +31 -0
  209. package/esm2022/components/event-control-board/service/e205dep/e205dep.service.mjs +28 -0
  210. package/esm2022/components/event-control-board/service/event-control/event-control-dto.mjs +2 -0
  211. package/esm2022/components/event-control-board/service/event-control/event-control.mjs +32 -0
  212. package/esm2022/components/event-control-board/service/event-control/event-control.module.mjs +34 -0
  213. package/esm2022/components/event-control-board/service/event-control/event-control.service.mjs +23 -0
  214. package/esm2022/components/event-control-board/service/event-control-item/event-control-item-dto.mjs +2 -0
  215. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.mjs +52 -0
  216. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.module.mjs +34 -0
  217. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.service.mjs +28 -0
  218. package/esm2022/components/event-control-board/service/external-invoice/external-invoice-dto.mjs +2 -0
  219. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.mjs +28 -0
  220. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.module.mjs +34 -0
  221. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.service.mjs +23 -0
  222. package/esm2022/components/event-control-board/service/fixation-entity/fixation-dto.mjs +2 -0
  223. package/esm2022/components/event-control-board/service/fixation-entity/fixation.module.mjs +34 -0
  224. package/esm2022/components/event-control-board/service/fixation-entity/fixation.service.mjs +28 -0
  225. package/esm2022/components/event-control-board/service/invoice/invoice-dto.mjs +2 -0
  226. package/esm2022/components/event-control-board/service/invoice/invoice.mjs +56 -0
  227. package/esm2022/components/event-control-board/service/invoice/invoice.module.mjs +38 -0
  228. package/esm2022/components/event-control-board/service/invoice/invoice.service.mjs +23 -0
  229. package/esm2022/components/event-control-board/service/origination/operationType.mjs +7 -0
  230. package/esm2022/components/event-control-board/service/origination/origination-dto.mjs +2 -0
  231. package/esm2022/components/event-control-board/service/origination/origination.mjs +86 -0
  232. package/esm2022/components/event-control-board/service/origination/origination.module.mjs +34 -0
  233. package/esm2022/components/event-control-board/service/origination/origination.service.mjs +23 -0
  234. package/esm2022/components/event-control-board/service/paginator-storage.service.mjs +21 -0
  235. package/esm2022/components/event-control-board/service/rural-estate/rural-estate-dto.mjs +2 -0
  236. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.mjs +102 -0
  237. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.module.mjs +34 -0
  238. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.service.mjs +23 -0
  239. package/esm2022/components/event-control-board/service/ticket/ticket-dto.mjs +2 -0
  240. package/esm2022/components/event-control-board/service/ticket/ticket.mjs +51 -0
  241. package/esm2022/components/event-control-board/service/ticket/ticket.module.mjs +38 -0
  242. package/esm2022/components/event-control-board/service/ticket/ticket.service.mjs +58 -0
  243. package/esm2022/components/event-control-board/service/transfer/transfer-dto.mjs +2 -0
  244. package/esm2022/components/event-control-board/service/transfer/transfer.module.mjs +38 -0
  245. package/esm2022/components/event-control-board/service/transfer/transfer.service.mjs +33 -0
  246. package/esm2022/components/event-control-board/shared.module.mjs +200 -0
  247. package/esm2022/components/event-steps/event-steps.component.mjs +129 -0
  248. package/esm2022/components/event-steps/event-steps.module.mjs +19 -0
  249. package/esm2022/components/event-steps/index.mjs +3 -0
  250. package/esm2022/components/financial-title-table/financial-title-table-options.interface.mjs +2 -0
  251. package/esm2022/components/financial-title-table/financial-title-table.component.mjs +422 -0
  252. package/esm2022/components/financial-title-table/financial-title-table.module.mjs +100 -0
  253. package/esm2022/components/financial-title-table/index.mjs +4 -0
  254. package/esm2022/components/financial-title-table/services/financial/agro-financial.service.mjs +68 -0
  255. package/esm2022/components/financial-title-table/services/financial/enums.mjs +33 -0
  256. package/esm2022/components/financial-title-table/services/financial/index.mjs +3 -0
  257. package/esm2022/components/financial-title-table/services/financial/intefaces.mjs +2 -0
  258. package/esm2022/components/index.mjs +6 -0
  259. package/esm2022/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.mjs +2 -0
  260. package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.mjs +190 -0
  261. package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.mjs +38 -0
  262. package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.mjs +67 -0
  263. package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.mjs +38 -0
  264. package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.mjs +41 -0
  265. package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.mjs +38 -0
  266. package/esm2022/components/modal-invoice-pj/index.mjs +8 -0
  267. package/esm2022/components/modal-invoice-pj/modal-invoice-pj-base.class.mjs +207 -0
  268. package/esm2022/components/modal-invoice-pj/modal-invoice-pj-options.interface.mjs +2 -0
  269. package/esm2022/components/modal-invoice-pj/modal-shared-imports.mjs +42 -0
  270. package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.mjs +41 -0
  271. package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.mjs +48 -0
  272. package/esm2022/components/modal-invoice-pj/services/agro-invoice/index.mjs +3 -0
  273. package/esm2022/components/modal-invoice-pj/services/agro-invoice/interfaces.mjs +13 -0
  274. package/esm2022/enums/agro-entity-status.enum.mjs +6 -0
  275. package/{esm2015/enums/agro-numbers.enum.js → esm2022/enums/agro-numbers.enum.mjs} +1009 -1009
  276. package/esm2022/enums/agro-string-masks.enum.mjs +12 -0
  277. package/esm2022/enums/date-comparison-type.enum.mjs +6 -0
  278. package/esm2022/enums/fixation-status.mjs +10 -0
  279. package/{esm2015/enums/http-codes.enum.js → esm2022/enums/http-codes.enum.mjs} +66 -66
  280. package/esm2022/enums/index.mjs +8 -0
  281. package/esm2022/enums/invoice-status.enum.mjs +14 -0
  282. package/esm2022/enums/number-comparison-type.enum.mjs +10 -0
  283. package/esm2022/enums/unit-measurement.enum.mjs +60 -0
  284. package/esm2022/form-validator/agro-form-validator.mjs +315 -0
  285. package/esm2022/form-validator/index.mjs +2 -0
  286. package/esm2022/lib-translation.module.mjs +26 -0
  287. package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.mjs +30 -0
  288. package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.module.mjs +18 -0
  289. package/esm2022/pipe/cnpj-cpf/index.mjs +3 -0
  290. package/esm2022/pipe/index.mjs +6 -0
  291. package/esm2022/pipe/kilogram/index.mjs +3 -0
  292. package/esm2022/pipe/kilogram/kilogram.module.mjs +20 -0
  293. package/esm2022/pipe/kilogram/kilogram.pipe.mjs +38 -0
  294. package/esm2022/pipe/lib-translate.pipe.mjs +24 -0
  295. package/esm2022/pipe/stringifier/index.mjs +3 -0
  296. package/esm2022/pipe/stringifier/stringifier.pipe.mjs +15 -0
  297. package/esm2022/pipe/stringifier/stringifier.pipe.module.mjs +18 -0
  298. package/esm2022/pipe/telephone/index.mjs +3 -0
  299. package/esm2022/pipe/telephone/telephone.pipe.mjs +93 -0
  300. package/esm2022/pipe/telephone/telephone.pipe.module.mjs +18 -0
  301. package/esm2022/public-api.mjs +11 -0
  302. package/esm2022/senior-agronegocio-angular-components.mjs +5 -0
  303. package/esm2022/services/agro-entity-service.mjs +137 -0
  304. package/esm2022/services/i18n/en-US.mjs +322 -0
  305. package/esm2022/services/i18n/es-CO.mjs +322 -0
  306. package/esm2022/services/i18n/pt-BR.mjs +322 -0
  307. package/esm2022/services/index.mjs +3 -0
  308. package/esm2022/services/lib-translation.service.mjs +58 -0
  309. package/esm2022/services/producer-invoice/index.mjs +3 -0
  310. package/esm2022/services/producer-invoice/producer-invoice-dto.mjs +2 -0
  311. package/esm2022/services/producer-invoice/producer-invoice.mjs +49 -0
  312. package/esm2022/services/producer-invoice/producer-invoice.service.mjs +56 -0
  313. package/esm2022/services/websocket/async-lock.mjs +27 -0
  314. package/esm2022/services/websocket/index.mjs +7 -0
  315. package/esm2022/services/websocket/models/index.mjs +2 -0
  316. package/esm2022/services/websocket/models/primitive-manager.mjs +45 -0
  317. package/esm2022/services/websocket/protocols/index.mjs +2 -0
  318. package/esm2022/services/websocket/protocols/on-event-options.mjs +2 -0
  319. package/esm2022/services/websocket/protocols/primitive-event.mjs +2 -0
  320. package/esm2022/services/websocket/user-information.service.mjs +34 -0
  321. package/esm2022/services/websocket/websocket.module.mjs +27 -0
  322. package/esm2022/services/websocket/websocket.service.mjs +327 -0
  323. package/{fesm2015/senior-agronegocio-angular-components.js → fesm2022/senior-agronegocio-angular-components.mjs} +8600 -7931
  324. package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -0
  325. package/form-validator/agro-form-validator.d.ts +117 -117
  326. package/form-validator/index.d.ts +1 -1
  327. package/index.d.ts +5 -0
  328. package/lib-translation.module.d.ts +8 -2
  329. package/package.json +52 -29
  330. package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +7 -4
  331. package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +8 -2
  332. package/pipe/cnpj-cpf/index.d.ts +2 -2
  333. package/pipe/index.d.ts +5 -5
  334. package/pipe/kilogram/index.d.ts +2 -2
  335. package/pipe/kilogram/kilogram.module.d.ts +8 -2
  336. package/pipe/kilogram/kilogram.pipe.d.ts +11 -8
  337. package/pipe/lib-translate.pipe.d.ts +10 -7
  338. package/pipe/stringifier/index.d.ts +2 -2
  339. package/pipe/stringifier/stringifier.pipe.d.ts +12 -9
  340. package/pipe/stringifier/stringifier.pipe.module.d.ts +8 -2
  341. package/pipe/telephone/index.d.ts +2 -2
  342. package/pipe/telephone/telephone.pipe.d.ts +24 -21
  343. package/pipe/telephone/telephone.pipe.module.d.ts +8 -2
  344. package/public-api.d.ts +9 -8
  345. package/services/agro-entity-service.d.ts +63 -62
  346. package/services/i18n/en-US.d.ts +321 -321
  347. package/services/i18n/es-CO.d.ts +321 -321
  348. package/services/i18n/pt-BR.d.ts +321 -321
  349. package/services/index.d.ts +2 -2
  350. package/services/lib-translation.service.d.ts +19 -16
  351. package/services/producer-invoice/index.d.ts +3 -3
  352. package/services/producer-invoice/producer-invoice-dto.d.ts +26 -26
  353. package/services/producer-invoice/producer-invoice.d.ts +27 -27
  354. package/services/producer-invoice/producer-invoice.service.d.ts +21 -18
  355. package/services/websocket/async-lock.d.ts +6 -6
  356. package/services/websocket/index.d.ts +6 -6
  357. package/services/websocket/models/index.d.ts +1 -1
  358. package/services/websocket/models/primitive-manager.d.ts +19 -19
  359. package/services/websocket/protocols/index.d.ts +2 -2
  360. package/services/websocket/protocols/on-event-options.d.ts +8 -8
  361. package/services/websocket/protocols/primitive-event.d.ts +10 -10
  362. package/services/websocket/user-information.service.d.ts +10 -7
  363. package/services/websocket/websocket.module.d.ts +7 -2
  364. package/services/websocket/websocket.service.d.ts +103 -100
  365. package/bundles/senior-agronegocio-angular-components.umd.js +0 -8889
  366. package/bundles/senior-agronegocio-angular-components.umd.js.map +0 -1
  367. package/bundles/senior-agronegocio-angular-components.umd.min.js +0 -17
  368. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +0 -1
  369. package/esm2015/agro-angular-components.module.js +0 -22
  370. package/esm2015/common/agro-array-utils.class.js +0 -74
  371. package/esm2015/common/agro-cookie-utils.class.js +0 -47
  372. package/esm2015/common/agro-date-utils.class.js +0 -121
  373. package/esm2015/common/agro-logics.class.js +0 -54
  374. package/esm2015/common/agro-name-utils.class.js +0 -60
  375. package/esm2015/common/agro-number-utils.class.js +0 -129
  376. package/esm2015/common/agro-object-stringifier.class.js +0 -34
  377. package/esm2015/common/agro-object-utils.class.js +0 -301
  378. package/esm2015/common/agro-platform-utils.class.js +0 -119
  379. package/esm2015/common/agro-regex.constant.js +0 -156
  380. package/esm2015/common/agro-string-utils.class.js +0 -364
  381. package/esm2015/common/agro-unit-converter.class.js +0 -255
  382. package/esm2015/common/colors.class.js +0 -79
  383. package/esm2015/common/index.js +0 -13
  384. package/esm2015/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
  385. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -117
  386. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -19
  387. package/esm2015/components/cancel-event-dialog/index.js +0 -3
  388. package/esm2015/components/event-control-board/common/control-status.js +0 -7
  389. package/esm2015/components/event-control-board/common/documentsToIssue.js +0 -6
  390. package/esm2015/components/event-control-board/common/event-control-constants.js +0 -113
  391. package/esm2015/components/event-control-board/common/event-operation.js +0 -54
  392. package/esm2015/components/event-control-board/common/event-origin.js +0 -14
  393. package/esm2015/components/event-control-board/common/event-status.js +0 -9
  394. package/esm2015/components/event-control-board/common/input-fields-translate.js +0 -11
  395. package/esm2015/components/event-control-board/common/input-fields.js +0 -7
  396. package/esm2015/components/event-control-board/common/invoice-type.js +0 -11
  397. package/esm2015/components/event-control-board/common/lookup-error-message.constants.js +0 -11
  398. package/esm2015/components/event-control-board/common/operation.js +0 -7
  399. package/esm2015/components/event-control-board/common/operationType.js +0 -7
  400. package/esm2015/components/event-control-board/common/status-entity.js +0 -6
  401. package/esm2015/components/event-control-board/common/ticket-status.js +0 -9
  402. package/esm2015/components/event-control-board/common/transfer-status.js +0 -8
  403. package/esm2015/components/event-control-board/event-control-board.component.js +0 -598
  404. package/esm2015/components/event-control-board/event-control-board.module.js +0 -66
  405. package/esm2015/components/event-control-board/index.js +0 -22
  406. package/esm2015/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
  407. package/esm2015/components/event-control-board/service/e001pes/e001pes.js +0 -20
  408. package/esm2015/components/event-control-board/service/e001pes/e001pes.module.js +0 -24
  409. package/esm2015/components/event-control-board/service/e001pes/e001pes.service.js +0 -34
  410. package/esm2015/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
  411. package/esm2015/components/event-control-board/service/e001tns/e001tns.js +0 -42
  412. package/esm2015/components/event-control-board/service/e001tns/e001tns.module.js +0 -26
  413. package/esm2015/components/event-control-board/service/e001tns/e001tns.service.js +0 -24
  414. package/esm2015/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
  415. package/esm2015/components/event-control-board/service/e012fam/e012fam.js +0 -20
  416. package/esm2015/components/event-control-board/service/e012fam/e012fam.service.js +0 -24
  417. package/esm2015/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
  418. package/esm2015/components/event-control-board/service/e070emp/e070emp.js +0 -29
  419. package/esm2015/components/event-control-board/service/e070emp/e070emp.module.js +0 -24
  420. package/esm2015/components/event-control-board/service/e070emp/e070emp.service.js +0 -31
  421. package/esm2015/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
  422. package/esm2015/components/event-control-board/service/e070fil/e070fil.js +0 -41
  423. package/esm2015/components/event-control-board/service/e070fil/e070fil.module.js +0 -24
  424. package/esm2015/components/event-control-board/service/e070fil/e070fil.service.js +0 -31
  425. package/esm2015/components/event-control-board/service/e075der/e075der-dto.js +0 -1
  426. package/esm2015/components/event-control-board/service/e075der/e075der.js +0 -31
  427. package/esm2015/components/event-control-board/service/e075der/e075der.module.js +0 -24
  428. package/esm2015/components/event-control-board/service/e075der/e075der.service.js +0 -29
  429. package/esm2015/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
  430. package/esm2015/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
  431. package/esm2015/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
  432. package/esm2015/components/event-control-board/service/e205dep/e205dep.js +0 -20
  433. package/esm2015/components/event-control-board/service/e205dep/e205dep.service.js +0 -29
  434. package/esm2015/components/event-control-board/service/event-control/event-control-dto.js +0 -1
  435. package/esm2015/components/event-control-board/service/event-control/event-control.js +0 -20
  436. package/esm2015/components/event-control-board/service/event-control/event-control.module.js +0 -24
  437. package/esm2015/components/event-control-board/service/event-control/event-control.service.js +0 -24
  438. package/esm2015/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
  439. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +0 -35
  440. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -24
  441. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -29
  442. package/esm2015/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
  443. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.js +0 -20
  444. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -24
  445. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -24
  446. package/esm2015/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
  447. package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +0 -24
  448. package/esm2015/components/event-control-board/service/fixation-entity/fixation.service.js +0 -29
  449. package/esm2015/components/event-control-board/service/invoice/invoice-dto.js +0 -1
  450. package/esm2015/components/event-control-board/service/invoice/invoice.js +0 -43
  451. package/esm2015/components/event-control-board/service/invoice/invoice.module.js +0 -26
  452. package/esm2015/components/event-control-board/service/invoice/invoice.service.js +0 -24
  453. package/esm2015/components/event-control-board/service/origination/operationType.js +0 -7
  454. package/esm2015/components/event-control-board/service/origination/origination-dto.js +0 -1
  455. package/esm2015/components/event-control-board/service/origination/origination.js +0 -59
  456. package/esm2015/components/event-control-board/service/origination/origination.module.js +0 -24
  457. package/esm2015/components/event-control-board/service/origination/origination.service.js +0 -24
  458. package/esm2015/components/event-control-board/service/paginator-storage.service.js +0 -32
  459. package/esm2015/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
  460. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.js +0 -78
  461. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -24
  462. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -24
  463. package/esm2015/components/event-control-board/service/ticket/ticket-dto.js +0 -1
  464. package/esm2015/components/event-control-board/service/ticket/ticket.js +0 -39
  465. package/esm2015/components/event-control-board/service/ticket/ticket.module.js +0 -26
  466. package/esm2015/components/event-control-board/service/ticket/ticket.service.js +0 -59
  467. package/esm2015/components/event-control-board/service/transfer/transfer-dto.js +0 -1
  468. package/esm2015/components/event-control-board/service/transfer/transfer.module.js +0 -26
  469. package/esm2015/components/event-control-board/service/transfer/transfer.service.js +0 -34
  470. package/esm2015/components/event-control-board/shared.module.js +0 -56
  471. package/esm2015/components/event-steps/event-steps.component.js +0 -103
  472. package/esm2015/components/event-steps/event-steps.module.js +0 -16
  473. package/esm2015/components/event-steps/index.js +0 -3
  474. package/esm2015/components/financial-title-table/financial-title-table-options.interface.js +0 -1
  475. package/esm2015/components/financial-title-table/financial-title-table.component.js +0 -416
  476. package/esm2015/components/financial-title-table/financial-title-table.module.js +0 -45
  477. package/esm2015/components/financial-title-table/index.js +0 -4
  478. package/esm2015/components/financial-title-table/services/financial/agro-financial.service.js +0 -69
  479. package/esm2015/components/financial-title-table/services/financial/enums.js +0 -33
  480. package/esm2015/components/financial-title-table/services/financial/index.js +0 -3
  481. package/esm2015/components/financial-title-table/services/financial/intefaces.js +0 -1
  482. package/esm2015/components/index.js +0 -6
  483. package/esm2015/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
  484. package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -191
  485. package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -16
  486. package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -64
  487. package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -16
  488. package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -37
  489. package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -16
  490. package/esm2015/components/modal-invoice-pj/index.js +0 -8
  491. package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -196
  492. package/esm2015/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
  493. package/esm2015/components/modal-invoice-pj/modal-shared-imports.js +0 -32
  494. package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -28
  495. package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -49
  496. package/esm2015/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
  497. package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
  498. package/esm2015/enums/agro-entity-status.enum.js +0 -6
  499. package/esm2015/enums/agro-string-masks.enum.js +0 -12
  500. package/esm2015/enums/date-comparison-type.enum.js +0 -6
  501. package/esm2015/enums/fixation-status.js +0 -10
  502. package/esm2015/enums/index.js +0 -8
  503. package/esm2015/enums/invoice-status.enum.js +0 -14
  504. package/esm2015/enums/number-comparison-type.enum.js +0 -10
  505. package/esm2015/enums/unit-measurement.enum.js +0 -60
  506. package/esm2015/form-validator/agro-form-validator.js +0 -319
  507. package/esm2015/form-validator/index.js +0 -2
  508. package/esm2015/lib-translation.module.js +0 -23
  509. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -28
  510. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -15
  511. package/esm2015/pipe/cnpj-cpf/index.js +0 -3
  512. package/esm2015/pipe/index.js +0 -6
  513. package/esm2015/pipe/kilogram/index.js +0 -3
  514. package/esm2015/pipe/kilogram/kilogram.module.js +0 -17
  515. package/esm2015/pipe/kilogram/kilogram.pipe.js +0 -38
  516. package/esm2015/pipe/lib-translate.pipe.js +0 -24
  517. package/esm2015/pipe/stringifier/index.js +0 -3
  518. package/esm2015/pipe/stringifier/stringifier.pipe.js +0 -13
  519. package/esm2015/pipe/stringifier/stringifier.pipe.module.js +0 -15
  520. package/esm2015/pipe/telephone/index.js +0 -3
  521. package/esm2015/pipe/telephone/telephone.pipe.js +0 -91
  522. package/esm2015/pipe/telephone/telephone.pipe.module.js +0 -15
  523. package/esm2015/public-api.js +0 -9
  524. package/esm2015/senior-agronegocio-angular-components.js +0 -7
  525. package/esm2015/services/agro-entity-service.js +0 -132
  526. package/esm2015/services/i18n/en-US.js +0 -322
  527. package/esm2015/services/i18n/es-CO.js +0 -322
  528. package/esm2015/services/i18n/pt-BR.js +0 -322
  529. package/esm2015/services/index.js +0 -3
  530. package/esm2015/services/lib-translation.service.js +0 -58
  531. package/esm2015/services/producer-invoice/index.js +0 -3
  532. package/esm2015/services/producer-invoice/producer-invoice-dto.js +0 -1
  533. package/esm2015/services/producer-invoice/producer-invoice.js +0 -32
  534. package/esm2015/services/producer-invoice/producer-invoice.service.js +0 -64
  535. package/esm2015/services/websocket/async-lock.js +0 -34
  536. package/esm2015/services/websocket/index.js +0 -6
  537. package/esm2015/services/websocket/models/index.js +0 -2
  538. package/esm2015/services/websocket/models/primitive-manager.js +0 -39
  539. package/esm2015/services/websocket/protocols/index.js +0 -1
  540. package/esm2015/services/websocket/protocols/on-event-options.js +0 -1
  541. package/esm2015/services/websocket/protocols/primitive-event.js +0 -1
  542. package/esm2015/services/websocket/user-information.service.js +0 -34
  543. package/esm2015/services/websocket/websocket.module.js +0 -21
  544. package/esm2015/services/websocket/websocket.service.js +0 -338
  545. package/esm5/agro-angular-components.module.js +0 -26
  546. package/esm5/common/agro-array-utils.class.js +0 -90
  547. package/esm5/common/agro-cookie-utils.class.js +0 -54
  548. package/esm5/common/agro-date-utils.class.js +0 -126
  549. package/esm5/common/agro-logics.class.js +0 -96
  550. package/esm5/common/agro-name-utils.class.js +0 -64
  551. package/esm5/common/agro-number-utils.class.js +0 -137
  552. package/esm5/common/agro-object-stringifier.class.js +0 -38
  553. package/esm5/common/agro-object-utils.class.js +0 -306
  554. package/esm5/common/agro-platform-utils.class.js +0 -123
  555. package/esm5/common/agro-regex.constant.js +0 -156
  556. package/esm5/common/agro-string-utils.class.js +0 -380
  557. package/esm5/common/agro-unit-converter.class.js +0 -258
  558. package/esm5/common/colors.class.js +0 -83
  559. package/esm5/common/index.js +0 -13
  560. package/esm5/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
  561. package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -128
  562. package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -22
  563. package/esm5/components/cancel-event-dialog/index.js +0 -3
  564. package/esm5/components/event-control-board/common/control-status.js +0 -7
  565. package/esm5/components/event-control-board/common/documentsToIssue.js +0 -6
  566. package/esm5/components/event-control-board/common/event-control-constants.js +0 -113
  567. package/esm5/components/event-control-board/common/event-operation.js +0 -54
  568. package/esm5/components/event-control-board/common/event-origin.js +0 -14
  569. package/esm5/components/event-control-board/common/event-status.js +0 -9
  570. package/esm5/components/event-control-board/common/input-fields-translate.js +0 -11
  571. package/esm5/components/event-control-board/common/input-fields.js +0 -7
  572. package/esm5/components/event-control-board/common/invoice-type.js +0 -11
  573. package/esm5/components/event-control-board/common/lookup-error-message.constants.js +0 -11
  574. package/esm5/components/event-control-board/common/operation.js +0 -7
  575. package/esm5/components/event-control-board/common/operationType.js +0 -7
  576. package/esm5/components/event-control-board/common/status-entity.js +0 -6
  577. package/esm5/components/event-control-board/common/ticket-status.js +0 -9
  578. package/esm5/components/event-control-board/common/transfer-status.js +0 -8
  579. package/esm5/components/event-control-board/event-control-board.component.js +0 -620
  580. package/esm5/components/event-control-board/event-control-board.module.js +0 -69
  581. package/esm5/components/event-control-board/index.js +0 -22
  582. package/esm5/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
  583. package/esm5/components/event-control-board/service/e001pes/e001pes.js +0 -25
  584. package/esm5/components/event-control-board/service/e001pes/e001pes.module.js +0 -27
  585. package/esm5/components/event-control-board/service/e001pes/e001pes.service.js +0 -37
  586. package/esm5/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
  587. package/esm5/components/event-control-board/service/e001tns/e001tns.js +0 -45
  588. package/esm5/components/event-control-board/service/e001tns/e001tns.module.js +0 -29
  589. package/esm5/components/event-control-board/service/e001tns/e001tns.service.js +0 -27
  590. package/esm5/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
  591. package/esm5/components/event-control-board/service/e012fam/e012fam.js +0 -25
  592. package/esm5/components/event-control-board/service/e012fam/e012fam.service.js +0 -27
  593. package/esm5/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
  594. package/esm5/components/event-control-board/service/e070emp/e070emp.js +0 -34
  595. package/esm5/components/event-control-board/service/e070emp/e070emp.module.js +0 -27
  596. package/esm5/components/event-control-board/service/e070emp/e070emp.service.js +0 -34
  597. package/esm5/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
  598. package/esm5/components/event-control-board/service/e070fil/e070fil.js +0 -48
  599. package/esm5/components/event-control-board/service/e070fil/e070fil.module.js +0 -27
  600. package/esm5/components/event-control-board/service/e070fil/e070fil.service.js +0 -34
  601. package/esm5/components/event-control-board/service/e075der/e075der-dto.js +0 -1
  602. package/esm5/components/event-control-board/service/e075der/e075der.js +0 -36
  603. package/esm5/components/event-control-board/service/e075der/e075der.module.js +0 -27
  604. package/esm5/components/event-control-board/service/e075der/e075der.service.js +0 -32
  605. package/esm5/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
  606. package/esm5/components/event-control-board/service/e113saf/e113saf.js +0 -25
  607. package/esm5/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
  608. package/esm5/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
  609. package/esm5/components/event-control-board/service/e205dep/e205dep.js +0 -25
  610. package/esm5/components/event-control-board/service/e205dep/e205dep.service.js +0 -32
  611. package/esm5/components/event-control-board/service/event-control/event-control-dto.js +0 -1
  612. package/esm5/components/event-control-board/service/event-control/event-control.js +0 -25
  613. package/esm5/components/event-control-board/service/event-control/event-control.module.js +0 -27
  614. package/esm5/components/event-control-board/service/event-control/event-control.service.js +0 -27
  615. package/esm5/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
  616. package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +0 -40
  617. package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -27
  618. package/esm5/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -32
  619. package/esm5/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
  620. package/esm5/components/event-control-board/service/external-invoice/external-invoice.js +0 -25
  621. package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -27
  622. package/esm5/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -27
  623. package/esm5/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
  624. package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +0 -27
  625. package/esm5/components/event-control-board/service/fixation-entity/fixation.service.js +0 -32
  626. package/esm5/components/event-control-board/service/invoice/invoice-dto.js +0 -1
  627. package/esm5/components/event-control-board/service/invoice/invoice.js +0 -48
  628. package/esm5/components/event-control-board/service/invoice/invoice.module.js +0 -29
  629. package/esm5/components/event-control-board/service/invoice/invoice.service.js +0 -27
  630. package/esm5/components/event-control-board/service/origination/operationType.js +0 -7
  631. package/esm5/components/event-control-board/service/origination/origination-dto.js +0 -1
  632. package/esm5/components/event-control-board/service/origination/origination.js +0 -62
  633. package/esm5/components/event-control-board/service/origination/origination.module.js +0 -27
  634. package/esm5/components/event-control-board/service/origination/origination.service.js +0 -27
  635. package/esm5/components/event-control-board/service/paginator-storage.service.js +0 -71
  636. package/esm5/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
  637. package/esm5/components/event-control-board/service/rural-estate/rural-estate.js +0 -83
  638. package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -27
  639. package/esm5/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -27
  640. package/esm5/components/event-control-board/service/ticket/ticket-dto.js +0 -1
  641. package/esm5/components/event-control-board/service/ticket/ticket.js +0 -44
  642. package/esm5/components/event-control-board/service/ticket/ticket.module.js +0 -29
  643. package/esm5/components/event-control-board/service/ticket/ticket.service.js +0 -62
  644. package/esm5/components/event-control-board/service/transfer/transfer-dto.js +0 -1
  645. package/esm5/components/event-control-board/service/transfer/transfer.module.js +0 -29
  646. package/esm5/components/event-control-board/service/transfer/transfer.service.js +0 -37
  647. package/esm5/components/event-control-board/shared.module.js +0 -59
  648. package/esm5/components/event-steps/event-steps.component.js +0 -113
  649. package/esm5/components/event-steps/event-steps.module.js +0 -19
  650. package/esm5/components/event-steps/index.js +0 -3
  651. package/esm5/components/financial-title-table/financial-title-table-options.interface.js +0 -1
  652. package/esm5/components/financial-title-table/financial-title-table.component.js +0 -438
  653. package/esm5/components/financial-title-table/financial-title-table.module.js +0 -48
  654. package/esm5/components/financial-title-table/index.js +0 -4
  655. package/esm5/components/financial-title-table/services/financial/agro-financial.service.js +0 -76
  656. package/esm5/components/financial-title-table/services/financial/enums.js +0 -33
  657. package/esm5/components/financial-title-table/services/financial/index.js +0 -3
  658. package/esm5/components/financial-title-table/services/financial/intefaces.js +0 -1
  659. package/esm5/components/index.js +0 -6
  660. package/esm5/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
  661. package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -223
  662. package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -19
  663. package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -67
  664. package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -19
  665. package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -40
  666. package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -19
  667. package/esm5/components/modal-invoice-pj/index.js +0 -8
  668. package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -213
  669. package/esm5/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
  670. package/esm5/components/modal-invoice-pj/modal-shared-imports.js +0 -32
  671. package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -31
  672. package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -56
  673. package/esm5/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
  674. package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
  675. package/esm5/enums/agro-entity-status.enum.js +0 -6
  676. package/esm5/enums/agro-numbers.enum.js +0 -1009
  677. package/esm5/enums/agro-string-masks.enum.js +0 -12
  678. package/esm5/enums/date-comparison-type.enum.js +0 -6
  679. package/esm5/enums/fixation-status.js +0 -10
  680. package/esm5/enums/http-codes.enum.js +0 -66
  681. package/esm5/enums/index.js +0 -8
  682. package/esm5/enums/invoice-status.enum.js +0 -14
  683. package/esm5/enums/number-comparison-type.enum.js +0 -10
  684. package/esm5/enums/unit-measurement.enum.js +0 -60
  685. package/esm5/form-validator/agro-form-validator.js +0 -341
  686. package/esm5/form-validator/index.js +0 -2
  687. package/esm5/lib-translation.module.js +0 -26
  688. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -35
  689. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -18
  690. package/esm5/pipe/cnpj-cpf/index.js +0 -3
  691. package/esm5/pipe/index.js +0 -6
  692. package/esm5/pipe/kilogram/index.js +0 -3
  693. package/esm5/pipe/kilogram/kilogram.module.js +0 -20
  694. package/esm5/pipe/kilogram/kilogram.pipe.js +0 -41
  695. package/esm5/pipe/lib-translate.pipe.js +0 -29
  696. package/esm5/pipe/stringifier/index.js +0 -3
  697. package/esm5/pipe/stringifier/stringifier.pipe.js +0 -16
  698. package/esm5/pipe/stringifier/stringifier.pipe.module.js +0 -18
  699. package/esm5/pipe/telephone/index.js +0 -3
  700. package/esm5/pipe/telephone/telephone.pipe.js +0 -95
  701. package/esm5/pipe/telephone/telephone.pipe.module.js +0 -18
  702. package/esm5/public-api.js +0 -9
  703. package/esm5/senior-agronegocio-angular-components.js +0 -7
  704. package/esm5/services/agro-entity-service.js +0 -143
  705. package/esm5/services/i18n/en-US.js +0 -322
  706. package/esm5/services/i18n/es-CO.js +0 -322
  707. package/esm5/services/i18n/pt-BR.js +0 -322
  708. package/esm5/services/index.js +0 -3
  709. package/esm5/services/lib-translation.service.js +0 -60
  710. package/esm5/services/producer-invoice/index.js +0 -3
  711. package/esm5/services/producer-invoice/producer-invoice-dto.js +0 -1
  712. package/esm5/services/producer-invoice/producer-invoice.js +0 -37
  713. package/esm5/services/producer-invoice/producer-invoice.service.js +0 -72
  714. package/esm5/services/websocket/async-lock.js +0 -43
  715. package/esm5/services/websocket/index.js +0 -6
  716. package/esm5/services/websocket/models/index.js +0 -2
  717. package/esm5/services/websocket/models/primitive-manager.js +0 -58
  718. package/esm5/services/websocket/protocols/index.js +0 -1
  719. package/esm5/services/websocket/protocols/on-event-options.js +0 -1
  720. package/esm5/services/websocket/protocols/primitive-event.js +0 -1
  721. package/esm5/services/websocket/user-information.service.js +0 -38
  722. package/esm5/services/websocket/websocket.module.js +0 -24
  723. package/esm5/services/websocket/websocket.service.js +0 -410
  724. package/fesm2015/senior-agronegocio-angular-components.js.map +0 -1
  725. package/fesm5/senior-agronegocio-angular-components.js +0 -8647
  726. package/fesm5/senior-agronegocio-angular-components.js.map +0 -1
  727. package/senior-agronegocio-angular-components.d.ts +0 -6
  728. package/senior-agronegocio-angular-components.metadata.json +0 -1
@@ -0,0 +1,320 @@
1
+ import moment from "moment";
2
+ import { AGRO_NUMBERS } from "../enums";
3
+ export { AgroObjectUtils as AOU, AgroObjectUtils as ObjectUtils };
4
+ // Local enum for field types instead of importing from external package
5
+ var FieldType;
6
+ (function (FieldType) {
7
+ FieldType["String"] = "String";
8
+ FieldType["Date"] = "Date";
9
+ FieldType["Money"] = "Money";
10
+ })(FieldType || (FieldType = {}));
11
+ /**
12
+ * Classe utilitária para operações de objeto.
13
+ */
14
+ export class AgroObjectUtils {
15
+ /**
16
+ * Verifica se um objeto é nulo ou indefinido.
17
+ * @param obj - O objeto a ser verificado.
18
+ * @returns True se o objeto for nulo ou indefinido, false caso contrário.
19
+ */
20
+ static isNullOrUndefined(obj) {
21
+ return obj === null || obj === undefined;
22
+ }
23
+ /**
24
+ * Verifica se um objeto não é nulo e não é indefinido.
25
+ * @param obj - O objeto a ser verificado.
26
+ * @returns True se o objeto não for nulo e não for indefinido, false caso contrário.
27
+ */
28
+ static isNotNullOrUndefined(obj) {
29
+ return !AgroObjectUtils.isNullOrUndefined(obj);
30
+ }
31
+ /**
32
+ * Verifica se um objeto é uma string.
33
+ * @param obj - O objeto a ser verificado.
34
+ * @returns True se o objeto for uma string, false caso contrário.
35
+ */
36
+ static isString(obj) {
37
+ return typeof obj === "string";
38
+ }
39
+ /**
40
+ * Verifica se um objeto é um número.
41
+ * @param obj - O objeto a ser verificado.
42
+ * @returns True se o objeto for um número, false caso contrário.
43
+ */
44
+ static isNumber(obj) {
45
+ return typeof obj === "number";
46
+ }
47
+ /**
48
+ * Verifica se um objeto é um booleano.
49
+ * @param obj - O objeto a ser verificado.
50
+ * @returns True se o objeto for um booleano, false caso contrário.
51
+ */
52
+ static isBoolean(obj) {
53
+ return typeof obj === "boolean";
54
+ }
55
+ /**
56
+ * Verifica se um objeto é uma função.
57
+ * @param obj - O objeto a ser verificado.
58
+ * @returns True se o objeto for uma função, false caso contrário.
59
+ */
60
+ static isFunction(obj) {
61
+ return typeof obj === "function";
62
+ }
63
+ /**
64
+ * Verifica se um objeto é um array.
65
+ * @param obj - O objeto a ser verificado.
66
+ * @returns True se o objeto for um array, false caso contrário.
67
+ */
68
+ static isArray(obj) {
69
+ return Array.isArray(obj);
70
+ }
71
+ /**
72
+ * Verifica se o valor informado é um objeto.
73
+ * @param obj - O objeto a ser verificado.
74
+ * @returns True se o objeto for um objeto, false caso contrário.
75
+ */
76
+ static isObject(obj) {
77
+ return typeof obj === "object";
78
+ }
79
+ /**
80
+ * Verifica se um objeto é uma data.
81
+ * @param obj - O objeto a ser verificado.
82
+ * @returns True se o objeto for uma data, false caso contrário.
83
+ */
84
+ static isDate(obj) {
85
+ return obj instanceof Date;
86
+ }
87
+ /**
88
+ * Verifica se um objeto é um erro.
89
+ * @param obj - O objeto a ser verificado.
90
+ * @returns True se o objeto for um erro, false caso contrário.
91
+ */
92
+ static isError(obj) {
93
+ return obj instanceof Error;
94
+ }
95
+ /**
96
+ * Verifica se um objeto é uma expressão regular.
97
+ * @param obj - O objeto a ser verificado.
98
+ * @returns True se o objeto for uma expressão regular, false caso contrário.
99
+ */
100
+ static isRegExp(obj) {
101
+ return obj instanceof RegExp;
102
+ }
103
+ /**
104
+ * Verifica se um objeto é um valor primitivo.
105
+ * @param obj - O objeto a ser verificado.
106
+ * @returns True se o objeto for um valor primitivo, false caso contrário.
107
+ */
108
+ static isPrimitive(obj) {
109
+ return AgroObjectUtils.isString(obj) || AgroObjectUtils.isNumber(obj) || AgroObjectUtils.isBoolean(obj);
110
+ }
111
+ /**
112
+ * Verifica se todos os valores de um objeto são nulos ou indefinidos.
113
+ * @param obj - O objeto a ser verificado.
114
+ * @returns True se todos os valores do objeto forem nulos ou indefinidos, false caso contrário.
115
+ */
116
+ static allNull(obj) {
117
+ if (!AgroObjectUtils.isObject(obj)) {
118
+ return false;
119
+ }
120
+ for (const key in obj) {
121
+ if (obj.hasOwnProperty(key) && !AgroObjectUtils.isNullOrUndefined(obj[key])) {
122
+ return false;
123
+ }
124
+ }
125
+ return true;
126
+ }
127
+ static compareArrays(arr1, arr2) {
128
+ if (arr1.length !== arr2.length) {
129
+ return false;
130
+ }
131
+ return arr1.every((v, i) => AgroObjectUtils.isEqual(v, arr2[i]));
132
+ }
133
+ static compareObjects(obj1, obj2) {
134
+ const keys1 = Object.keys(obj1);
135
+ const keys2 = Object.keys(obj2);
136
+ if (keys1.length !== keys2.length) {
137
+ return false;
138
+ }
139
+ return keys1.every((key) => obj2.hasOwnProperty(key) && AgroObjectUtils.isEqual(obj1[key], obj2[key]));
140
+ }
141
+ /**
142
+ * Compara dois objetos para verificar se são iguais.
143
+ * @param obj1 - O primeiro objeto a ser comparado.
144
+ * @param obj2 - O segundo objeto a ser comparado.
145
+ * @returns True se os objetos forem iguais, false caso contrário.
146
+ */
147
+ static isEqual(obj1, obj2) {
148
+ if (obj1 === obj2) {
149
+ return true;
150
+ }
151
+ if (obj1 === null || obj2 === null || typeof obj1 !== "object" || typeof obj2 !== "object") {
152
+ return false;
153
+ }
154
+ if (Array.isArray(obj1) && Array.isArray(obj2)) {
155
+ return this.compareArrays(obj1, obj2);
156
+ }
157
+ if (Array.isArray(obj1) || Array.isArray(obj2)) {
158
+ return false;
159
+ }
160
+ return this.compareObjects(obj1, obj2);
161
+ }
162
+ /**
163
+ * Verifica se um objeto é nulo.
164
+ * @param obj - O objeto a ser verificado.
165
+ * @returns True se o objeto for nulo ou um objeto vazio, false caso contrário.
166
+ */
167
+ static isNull(obj) {
168
+ return obj === null;
169
+ }
170
+ /**
171
+ * Verifica se um objeto não é nulo.
172
+ * @param obj - O objeto a ser verificado.
173
+ * @returns True se o objeto não for nulo, false caso contrário.
174
+ */
175
+ static isNotNull(obj) {
176
+ return !AgroObjectUtils.isNull(obj);
177
+ }
178
+ /**
179
+ * Converte um objeto para uma string JSON.
180
+ * @param obj - O objeto a ser convertido.
181
+ * @returns A string JSON representando o objeto.
182
+ */
183
+ static toJSON(obj) {
184
+ return JSON.stringify(obj);
185
+ }
186
+ /**
187
+ * Verifica se um objeto não é vazio.
188
+ * @param obj - O objeto a ser verificado.
189
+ * @returns True se o objeto não for vazio, false caso contrário.
190
+ */
191
+ static isNotEmpty(obj) {
192
+ if (!AgroObjectUtils.isObject(obj)) {
193
+ return false;
194
+ }
195
+ return Object.keys(obj).length !== AGRO_NUMBERS.ZERO;
196
+ }
197
+ /**
198
+ * Verifica se um objeto é vazio.
199
+ * @param obj - O objeto a ser verificado.
200
+ * @returns True se o objeto for vazio, false caso contrário.
201
+ */
202
+ static isEmpty(obj) {
203
+ return !AgroObjectUtils.isNotEmpty(obj);
204
+ }
205
+ /**
206
+ * Verifica se um objeto não está vazio e contém uma determinada propriedade.
207
+ * @param obj - O objeto a ser verificado.
208
+ * @param property - A propriedade a ser verificada.
209
+ * @returns True se o objeto não estiver vazio e contiver a propriedade, false caso contrário.
210
+ */
211
+ static containsProperty(obj, property) {
212
+ return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(property);
213
+ }
214
+ /**
215
+ * Verifica se o parâmetro recebido é um objeto e se ele contém a propriedade ID.
216
+ */
217
+ static hasId(obj) {
218
+ return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty("id");
219
+ }
220
+ /**
221
+ * Verifica se o valor informado no parâmetro possui as propriedades de uma entidade SDL (id e createdAt).
222
+ * @param obj
223
+ * @returns
224
+ */
225
+ static isSDLEntity(obj) {
226
+ return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty("id") && obj.hasOwnProperty("createdAt");
227
+ }
228
+ /**
229
+ * Verifica se um objeto é valido, considerando que haja no mínimo 1 propriedade
230
+ */
231
+ static isValid(obj) {
232
+ return Object.keys(obj).length > AGRO_NUMBERS.ZERO && AgroObjectUtils.isNotEmpty(obj);
233
+ }
234
+ /**
235
+ * Verifica se um objeto é inválido, considerando que não haja nenhuma propriedade
236
+ */
237
+ static isInvalid(obj) {
238
+ return !AgroObjectUtils.isValid(obj);
239
+ }
240
+ /**
241
+ * Encontra uma propriedade em um objeto pelo nome e retorna seu valor.
242
+ * Se o valor for um objeto, retorna o próprio objeto.
243
+ *
244
+ * @param obj O objeto onde buscar.
245
+ * @param key O nome da propriedade a ser encontrada.
246
+ * @param deepSearch Indica se a busca deve ser em profundidade (padrão: true).
247
+ * @returns O valor da propriedade, ou undefined se não for encontrada.
248
+ */
249
+ static findProperty(obj, key, deepSearch = true) {
250
+ if (AgroObjectUtils.isInvalid(obj)) {
251
+ throw new Error("O primeiro argumento deve ser um objeto.");
252
+ }
253
+ if (key in obj) {
254
+ return obj[key];
255
+ }
256
+ if (deepSearch) {
257
+ for (const prop in obj) {
258
+ if (obj.hasOwnProperty(prop) && typeof obj[prop] === "object") {
259
+ const result = AgroObjectUtils.findProperty(obj[prop], key, deepSearch);
260
+ if (result !== undefined) {
261
+ return result;
262
+ }
263
+ }
264
+ }
265
+ }
266
+ return undefined;
267
+ }
268
+ /**
269
+ * Recebe uma string (JSON) e tenta converter para um objeto.
270
+ * @param value
271
+ */
272
+ static fromString(value) {
273
+ try {
274
+ return JSON.parse(value);
275
+ }
276
+ catch (e) {
277
+ return undefined;
278
+ }
279
+ }
280
+ /**
281
+ * Copia as propriedades explicitadas de um objeto para outro
282
+ * @param obj
283
+ * @param keys
284
+ * @returns
285
+ */
286
+ static pick(obj, keys) {
287
+ const result = {};
288
+ for (const key of keys) {
289
+ result[key] = obj[key];
290
+ }
291
+ return result;
292
+ }
293
+ /**
294
+ * Retorna o valor de uma propriedade de um objeto, formatado conforme o tipo especificado.
295
+ *
296
+ * @param obj - O objeto do qual a propriedade será extraída.
297
+ * @param path - O caminho da propriedade no objeto (pode ser um caminho aninhado).
298
+ * @param type - O tipo de formatação a ser aplicada (String, Date, Money).
299
+ * @returns O valor formatado da propriedade.
300
+ */
301
+ static getPropAndFormatValue(obj, path, type) {
302
+ const r = path.split(".").reduce((result, prop) => (result[prop] === undefined ? "" : result[prop]), obj);
303
+ if (!r) {
304
+ return "";
305
+ }
306
+ if (type === FieldType.String) {
307
+ return r;
308
+ }
309
+ else if (type === FieldType.Date) {
310
+ return moment(r).format("L");
311
+ }
312
+ else if (type === FieldType.Money) {
313
+ return Number(r).toLocaleString("pt-BR", { style: "currency", currency: "BRL" });
314
+ }
315
+ else {
316
+ return r;
317
+ }
318
+ }
319
+ }
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1vYmplY3QtdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2Fncm8tb2JqZWN0LXV0aWxzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxlQUFlLElBQUksR0FBRyxFQUFFLGVBQWUsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUVsRSx3RUFBd0U7QUFDeEUsSUFBSyxTQUlKO0FBSkQsV0FBSyxTQUFTO0lBQ1YsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLDRCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpJLFNBQVMsS0FBVCxTQUFTLFFBSWI7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ3hCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBUTtRQUM3QixPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFRO1FBQ2hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVE7UUFDcEIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVE7UUFDcEIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFD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QUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuXHJcbmV4cG9ydCB7IEFncm9PYmplY3RVdGlscyBhcyBBT1UsIEFncm9PYmplY3RVdGlscyBhcyBPYmplY3RVdGlscyB9O1xyXG5cclxuLy8gTG9jYWwgZW51bSBmb3IgZmllbGQgdHlwZXMgaW5zdGVhZCBvZiBpbXBvcnRpbmcgZnJvbSBleHRlcm5hbCBwYWNrYWdlXHJcbmVudW0gRmllbGRUeXBlIHtcclxuICAgIFN0cmluZyA9IFwiU3RyaW5nXCIsXHJcbiAgICBEYXRlID0gXCJEYXRlXCIsXHJcbiAgICBNb25leSA9IFwiTW9uZXlcIlxyXG59XHJcblxyXG4vKipcclxuICogQ2xhc3NlIHV0aWxpdMOhcmlhIHBhcmEgb3BlcmHDp8O1ZXMgZGUgb2JqZXRvLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFncm9PYmplY3RVdGlscyB7XHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSBudWxvIG91IGluZGVmaW5pZG8uXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgbyBvYmpldG8gZm9yIG51bG8gb3UgaW5kZWZpbmlkbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNOdWxsT3JVbmRlZmluZWQob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gb2JqID09PSBudWxsIHx8IG9iaiA9PT0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW0gb2JqZXRvIG7Do28gw6kgbnVsbyBlIG7Do28gw6kgaW5kZWZpbmlkby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBuw6NvIGZvciBudWxvIGUgbsOjbyBmb3IgaW5kZWZpbmlkbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNOb3ROdWxsT3JVbmRlZmluZWQob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIUFncm9PYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZChvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW0gb2JqZXRvIMOpIHVtYSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgbyBvYmpldG8gZm9yIHVtYSBzdHJpbmcsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzU3RyaW5nKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmogPT09IFwic3RyaW5nXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gw6kgdW0gbsO6bWVyby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgdW0gbsO6bWVybywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNOdW1iZXIob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gXCJudW1iZXJcIjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSB1bSBib29sZWFuby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgdW0gYm9vbGVhbm8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzQm9vbGVhbihvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcImJvb2xlYW5cIjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSB1bWEgZnVuw6fDo28uXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgbyBvYmpldG8gZm9yIHVtYSBmdW7Dp8OjbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNGdW5jdGlvbihvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcImZ1bmN0aW9uXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gw6kgdW0gYXJyYXkuXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgbyBvYmpldG8gZm9yIHVtIGFycmF5LCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0FycmF5KG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIG8gdmFsb3IgaW5mb3JtYWRvIMOpIHVtIG9iamV0by5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgdW0gb2JqZXRvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc09iamVjdChvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW0gb2JqZXRvIMOpIHVtYSBkYXRhLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIHZlcmlmaWNhZG8uXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIG8gb2JqZXRvIGZvciB1bWEgZGF0YSwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNEYXRlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gw6kgdW0gZXJyby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgdW0gZXJybywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFcnJvcihvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSB1bWEgZXhwcmVzc8OjbyByZWd1bGFyLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIHZlcmlmaWNhZG8uXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIG8gb2JqZXRvIGZvciB1bWEgZXhwcmVzc8OjbyByZWd1bGFyLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1JlZ0V4cChvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gw6kgdW0gdmFsb3IgcHJpbWl0aXZvLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIHZlcmlmaWNhZG8uXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIG8gb2JqZXRvIGZvciB1bSB2YWxvciBwcmltaXRpdm8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzUHJpbWl0aXZlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFncm9PYmplY3RVdGlscy5pc1N0cmluZyhvYmopIHx8IEFncm9PYmplY3RVdGlscy5pc051bWJlcihvYmopIHx8IEFncm9PYmplY3RVdGlscy5pc0Jvb2xlYW4ob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHRvZG9zIG9zIHZhbG9yZXMgZGUgdW0gb2JqZXRvIHPDo28gbnVsb3Mgb3UgaW5kZWZpbmlkb3MuXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgdG9kb3Mgb3MgdmFsb3JlcyBkbyBvYmpldG8gZm9yZW0gbnVsb3Mgb3UgaW5kZWZpbmlkb3MsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFsbE51bGwob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFncm9PYmplY3RVdGlscy5pc09iamVjdChvYmopKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkgJiYgIUFncm9PYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZChvYmpba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29tcGFyZUFycmF5cyhhcnIxOiB1bmtub3duW10sIGFycjI6IHVua25vd25bXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChhcnIxLmxlbmd0aCAhPT0gYXJyMi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYXJyMS5ldmVyeSgodiwgaSkgPT4gQWdyb09iamVjdFV0aWxzLmlzRXF1YWwodiwgYXJyMltpXSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGNvbXBhcmVPYmplY3RzKG9iajE6IG9iamVjdCwgb2JqMjogb2JqZWN0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhvYmoxKTtcclxuICAgICAgICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKG9iajIpO1xyXG4gICAgICAgIGlmIChrZXlzMS5sZW5ndGggIT09IGtleXMyLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBrZXlzMS5ldmVyeSgoa2V5KSA9PiAob2JqMiBhcyBhbnkpLmhhc093blByb3BlcnR5KGtleSkgJiYgQWdyb09iamVjdFV0aWxzLmlzRXF1YWwoKG9iajEgYXMgYW55KVtrZXldLCAob2JqMiBhcyBhbnkpW2tleV0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmEgZG9pcyBvYmpldG9zIHBhcmEgdmVyaWZpY2FyIHNlIHPDo28gaWd1YWlzLlxyXG4gICAgICogQHBhcmFtIG9iajEgLSBPIHByaW1laXJvIG9iamV0byBhIHNlciBjb21wYXJhZG8uXHJcbiAgICAgKiBAcGFyYW0gb2JqMiAtIE8gc2VndW5kbyBvYmpldG8gYSBzZXIgY29tcGFyYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvcyBvYmpldG9zIGZvcmVtIGlndWFpcywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFcXVhbChvYmoxOiB1bmtub3duLCBvYmoyOiB1bmtub3duKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKG9iajEgPT09IG9iajIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob2JqMSA9PT0gbnVsbCB8fCBvYmoyID09PSBudWxsIHx8IHR5cGVvZiBvYmoxICE9PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBvYmoyICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajEpICYmIEFycmF5LmlzQXJyYXkob2JqMikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUFycmF5cyhvYmoxLCBvYmoyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajEpIHx8IEFycmF5LmlzQXJyYXkob2JqMikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZU9iamVjdHMob2JqMSwgb2JqMik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gw6kgbnVsby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgbnVsbyBvdSB1bSBvYmpldG8gdmF6aW8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTnVsbChvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBvYmogPT09IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gbsOjbyDDqSBudWxvLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIHZlcmlmaWNhZG8uXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIG8gb2JqZXRvIG7Do28gZm9yIG51bG8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90TnVsbChvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb09iamVjdFV0aWxzLmlzTnVsbChvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydGUgdW0gb2JqZXRvIHBhcmEgdW1hIHN0cmluZyBKU09OLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIGNvbnZlcnRpZG8uXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBKU09OIHJlcHJlc2VudGFuZG8gbyBvYmpldG8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0pTT04ob2JqOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW0gb2JqZXRvIG7Do28gw6kgdmF6aW8uXHJcbiAgICAgKiBAcGFyYW0gb2JqIC0gTyBvYmpldG8gYSBzZXIgdmVyaWZpY2Fkby5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgbyBvYmpldG8gbsOjbyBmb3IgdmF6aW8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90RW1wdHkob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFncm9PYmplY3RVdGlscy5pc09iamVjdChvYmopKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoICE9PSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSB2YXppby5cclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBhIHNlciB2ZXJpZmljYWRvLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBvIG9iamV0byBmb3IgdmF6aW8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzRW1wdHkob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIUFncm9PYmplY3RVdGlscy5pc05vdEVtcHR5KG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bSBvYmpldG8gbsOjbyBlc3TDoSB2YXppbyBlIGNvbnTDqW0gdW1hIGRldGVybWluYWRhIHByb3ByaWVkYWRlLlxyXG4gICAgICogQHBhcmFtIG9iaiAtIE8gb2JqZXRvIGEgc2VyIHZlcmlmaWNhZG8uXHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgLSBBIHByb3ByaWVkYWRlIGEgc2VyIHZlcmlmaWNhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIG8gb2JqZXRvIG7Do28gZXN0aXZlciB2YXppbyBlIGNvbnRpdmVyIGEgcHJvcHJpZWRhZGUsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGNvbnRhaW5zUHJvcGVydHkob2JqOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQWdyb09iamVjdFV0aWxzLmlzTm90RW1wdHkob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkocHJvcGVydHkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgbyBwYXLDom1ldHJvIHJlY2ViaWRvIMOpIHVtIG9iamV0byBlIHNlIGVsZSBjb250w6ltIGEgcHJvcHJpZWRhZGUgSUQuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBoYXNJZChvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBZ3JvT2JqZWN0VXRpbHMuaXNOb3RFbXB0eShvYmopICYmIG9iai5oYXNPd25Qcm9wZXJ0eShcImlkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgbyB2YWxvciBpbmZvcm1hZG8gbm8gcGFyw6JtZXRybyBwb3NzdWkgYXMgcHJvcHJpZWRhZGVzIGRlIHVtYSBlbnRpZGFkZSBTREwgKGlkIGUgY3JlYXRlZEF0KS5cclxuICAgICAqIEBwYXJhbSBvYmpcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1NETEVudGl0eShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBZ3JvT2JqZWN0VXRpbHMuaXNOb3RFbXB0eShvYmopICYmIG9iai5oYXNPd25Qcm9wZXJ0eShcImlkXCIpICYmIG9iai5oYXNPd25Qcm9wZXJ0eShcImNyZWF0ZWRBdFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtIG9iamV0byDDqSB2YWxpZG8sIGNvbnNpZGVyYW5kbyBxdWUgaGFqYSBubyBtw61uaW1vIDEgcHJvcHJpZWRhZGVcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzVmFsaWQob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPiBBR1JPX05VTUJFUlMuWkVSTyAmJiBBZ3JvT2JqZWN0VXRpbHMuaXNOb3RFbXB0eShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW0gb2JqZXRvIMOpIGludsOhbGlkbywgY29uc2lkZXJhbmRvIHF1ZSBuw6NvIGhhamEgbmVuaHVtYSBwcm9wcmllZGFkZVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNJbnZhbGlkKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFBZ3JvT2JqZWN0VXRpbHMuaXNWYWxpZChvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5jb250cmEgdW1hIHByb3ByaWVkYWRlIGVtIHVtIG9iamV0byBwZWxvIG5vbWUgZSByZXRvcm5hIHNldSB2YWxvci5cclxuICAgICAqIFNlIG8gdmFsb3IgZm9yIHVtIG9iamV0bywgcmV0b3JuYSBvIHByw7NwcmlvIG9iamV0by5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb2JqIE8gb2JqZXRvIG9uZGUgYnVzY2FyLlxyXG4gICAgICogQHBhcmFtIGtleSBPIG5vbWUgZGEgcHJvcHJpZWRhZGUgYSBzZXIgZW5jb250cmFkYS5cclxuICAgICAqIEBwYXJhbSBkZWVwU2VhcmNoIEluZGljYSBzZSBhIGJ1c2NhIGRldmUgc2VyIGVtIHByb2Z1bmRpZGFkZSAocGFkcsOjbzogdHJ1ZSkuXHJcbiAgICAgKiBAcmV0dXJucyBPIHZhbG9yIGRhIHByb3ByaWVkYWRlLCBvdSB1bmRlZmluZWQgc2UgbsOjbyBmb3IgZW5jb250cmFkYS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGZpbmRQcm9wZXJ0eShvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIGtleTogc3RyaW5nLCBkZWVwU2VhcmNoOiBib29sZWFuID0gdHJ1ZSk6IGFueSB7XHJcbiAgICAgICAgaWYgKEFncm9PYmplY3RVdGlscy5pc0ludmFsaWQob2JqKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPIHByaW1laXJvIGFyZ3VtZW50byBkZXZlIHNlciB1bSBvYmpldG8uXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGtleSBpbiBvYmopIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9ialtrZXldO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRlZXBTZWFyY2gpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwcm9wKSAmJiB0eXBlb2Ygb2JqW3Byb3BdID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gQWdyb09iamVjdFV0aWxzLmZpbmRQcm9wZXJ0eShvYmpbcHJvcF0sIGtleSwgZGVlcFNlYXJjaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVjZWJlIHVtYSBzdHJpbmcgKEpTT04pIGUgdGVudGEgY29udmVydGVyIHBhcmEgdW0gb2JqZXRvLlxyXG4gICAgICogQHBhcmFtIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBmcm9tU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29waWEgYXMgcHJvcHJpZWRhZGVzIGV4cGxpY2l0YWRhcyBkZSB1bSBvYmpldG8gcGFyYSBvdXRyb1xyXG4gICAgICogQHBhcmFtIG9ialxyXG4gICAgICogQHBhcmFtIGtleXNcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBwaWNrPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihvYmo6IFQsIGtleXM6IHJlYWRvbmx5IEtbXSk6IFBpY2s8VCwgSz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIFBpY2s8VCwgSz47XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IG9ialtrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBvIHZhbG9yIGRlIHVtYSBwcm9wcmllZGFkZSBkZSB1bSBvYmpldG8sIGZvcm1hdGFkbyBjb25mb3JtZSBvIHRpcG8gZXNwZWNpZmljYWRvLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBvYmogLSBPIG9iamV0byBkbyBxdWFsIGEgcHJvcHJpZWRhZGUgc2Vyw6EgZXh0cmHDrWRhLlxyXG4gICAgICogQHBhcmFtIHBhdGggLSBPIGNhbWluaG8gZGEgcHJvcHJpZWRhZGUgbm8gb2JqZXRvIChwb2RlIHNlciB1bSBjYW1pbmhvIGFuaW5oYWRvKS5cclxuICAgICAqIEBwYXJhbSB0eXBlIC0gTyB0aXBvIGRlIGZvcm1hdGHDp8OjbyBhIHNlciBhcGxpY2FkYSAoU3RyaW5nLCBEYXRlLCBNb25leSkuXHJcbiAgICAgKiBAcmV0dXJucyBPIHZhbG9yIGZvcm1hdGFkbyBkYSBwcm9wcmllZGFkZS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldFByb3BBbmRGb3JtYXRWYWx1ZShvYmo6IGFueSwgcGF0aDogYW55LCB0eXBlOiBGaWVsZFR5cGUpIHtcclxuICAgICAgICBjb25zdCByID0gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcclxuICAgICAgICBpZiAoIXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLkRhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1vbWVudChyKS5mb3JtYXQoXCJMXCIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLk1vbmV5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIocikudG9Mb2NhbGVTdHJpbmcoXCJwdC1CUlwiLCB7IHN0eWxlOiBcImN1cnJlbmN5XCIsIGN1cnJlbmN5OiBcIkJSTFwiIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,119 @@
1
+ import { AgroCookieUtils } from "./agro-cookie-utils.class";
2
+ import { StringUtils } from "./agro-string-utils.class";
3
+ // Cookie name constants
4
+ const COOKIE_TOKEN = 'com.senior.token';
5
+ const COOKIE_BASE_URL = 'com.senior.base.url';
6
+ const COOKIE_SERVICES_URL = 'com.senior.services.url';
7
+ export { AgroPlatformUtils as APU, AgroPlatformUtils as PlatformUtils };
8
+ export class AgroPlatformUtils {
9
+ /**
10
+ * Retorna o tenant atual
11
+ * Caso contrário, retorna uma instância de Error
12
+ * @returns
13
+ */
14
+ static getCurrentTenant() {
15
+ const tenant = AgroPlatformUtils.getTokenField("tenantName");
16
+ if (tenant) {
17
+ return tenant;
18
+ }
19
+ throw new Error(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
20
+ }
21
+ /**
22
+ * Retorna o locale do tenant atual
23
+ *
24
+ * @returns
25
+ */
26
+ static getCurrentTenantLocale() {
27
+ const locale = AgroPlatformUtils.getTokenField("locale");
28
+ if (locale) {
29
+ return locale;
30
+ }
31
+ throw new Error(`'locale' não encontrado para o tenant atual.`);
32
+ }
33
+ /**
34
+ * @deprecated Use getCurrentTenantLocale()
35
+ * Mantido por compatibilidade retroativa.
36
+ */
37
+ static getCurrenTenantLocale() {
38
+ // legacy typo retained
39
+ return AgroPlatformUtils.getCurrentTenantLocale();
40
+ }
41
+ /**
42
+ * Retorna o nome completo do usuário logado
43
+ * Caso contrário, retorna uma instância de Error
44
+ * @returns string || null
45
+ */
46
+ static getCurrentUserName() {
47
+ const name = AgroPlatformUtils.getTokenField("fullName");
48
+ return name || null;
49
+ }
50
+ /**
51
+ * Retorna o nome de usuário logado
52
+ * Ex: admin@tenant.com.br
53
+ * Caso contrário, retorna uma instância de Error
54
+ * @returns string || null
55
+ */
56
+ static getCurrentUserUsername() {
57
+ const username = AgroPlatformUtils.getTokenField("username");
58
+ return username || null;
59
+ }
60
+ /**
61
+ * Retorna o e-mail do usuário logado
62
+ * Caso contrário, retorna uma instância de Error
63
+ * @returns string
64
+ */
65
+ static getCurrentUserEmail() {
66
+ const email = AgroPlatformUtils.getTokenField("email");
67
+ if (!email) {
68
+ console.info(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
69
+ }
70
+ return email || null;
71
+ }
72
+ /**
73
+ * Retorna uma string com a baseURL atual
74
+ * Caso contrário, retorna uma instância de Error
75
+ * @example "https://cloud-leaf.senior.com.br" || "https://platform.senior.com.br"
76
+ */
77
+ static getBaseURL() {
78
+ const cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);
79
+ if (cookie) {
80
+ return decodeURIComponent(cookie);
81
+ }
82
+ throw new Error(`Cookie: "${COOKIE_BASE_URL}" não encontrado.`);
83
+ }
84
+ /**
85
+ * Retorna uma string com a URL dos serviços
86
+ * Caso contrário, retorna uma instância de Error
87
+ * @example "https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/"
88
+ */
89
+ static getServicesURL() {
90
+ const cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);
91
+ if (StringUtils.isNotEmpty(cookie)) {
92
+ return decodeURIComponent(cookie);
93
+ }
94
+ throw new Error(`Cookie: "${COOKIE_SERVICES_URL}" não encontrado.`);
95
+ }
96
+ /**
97
+ * Retorna uma string com o token de acesso atual
98
+ * Caso contrário, retorna uma instância de Error
99
+ */
100
+ static getCurrentAccessToken() {
101
+ const token = AgroPlatformUtils.getTokenField("access_token");
102
+ if (!token) {
103
+ console.info(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
104
+ }
105
+ return token || null;
106
+ }
107
+ /**
108
+ * Helper para extrair um campo do cookie de token.
109
+ */
110
+ static getTokenField(field) {
111
+ const cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);
112
+ if (!cookie) {
113
+ return undefined;
114
+ }
115
+ const obj = AgroCookieUtils.parseCookieToObject(cookie, true);
116
+ return obj[field];
117
+ }
118
+ }
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1wbGF0Zm9ybS11dGlscy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vYWdyby1wbGF0Zm9ybS11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELHdCQUF3QjtBQUN4QixNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUN4QyxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUM5QyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsaUJBQWlCLElBQUksYUFBYSxFQUFDLENBQUM7QUFFdEUsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQjtRQUNuQixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUI7UUFDeEIsdUJBQXVCO1FBQ3ZCLE9BQU8saUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxrQkFBa0I7UUFDckIsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVTtRQUNiLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxlQUFlLG1CQUFtQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsY0FBYztRQUNqQixNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxrQkFBa0IsQ0FBQyxNQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLG1CQUFtQixtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMscUJBQXFCO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFhO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWdyb0Nvb2tpZVV0aWxzIH0gZnJvbSBcIi4vYWdyby1jb29raWUtdXRpbHMuY2xhc3NcIjtcclxuaW1wb3J0IHsgQWdyb09iamVjdFV0aWxzIH0gZnJvbSBcIi4vYWdyby1vYmplY3QtdXRpbHMuY2xhc3NcIjtcclxuaW1wb3J0IHsgU3RyaW5nVXRpbHMgfSBmcm9tIFwiLi9hZ3JvLXN0cmluZy11dGlscy5jbGFzc1wiO1xyXG5cclxuLy8gQ29va2llIG5hbWUgY29uc3RhbnRzXHJcbmNvbnN0IENPT0tJRV9UT0tFTiA9ICdjb20uc2VuaW9yLnRva2VuJztcclxuY29uc3QgQ09PS0lFX0JBU0VfVVJMID0gJ2NvbS5zZW5pb3IuYmFzZS51cmwnO1xyXG5jb25zdCBDT09LSUVfU0VSVklDRVNfVVJMID0gJ2NvbS5zZW5pb3Iuc2VydmljZXMudXJsJztcclxuXHJcbmV4cG9ydCB7QWdyb1BsYXRmb3JtVXRpbHMgYXMgQVBVLCBBZ3JvUGxhdGZvcm1VdGlscyBhcyBQbGF0Zm9ybVV0aWxzfTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBZ3JvUGxhdGZvcm1VdGlscyB7XHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbyB0ZW5hbnQgYXR1YWxcclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEN1cnJlbnRUZW5hbnQoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSBBZ3JvUGxhdGZvcm1VdGlscy5nZXRUb2tlbkZpZWxkKFwidGVuYW50TmFtZVwiKTtcclxuICAgICAgICBpZiAodGVuYW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0ZW5hbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29va2llOiBcIiR7Q09PS0lFX1RPS0VOfVwiIG7Do28gZW5jb250cmFkby5gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbyBsb2NhbGUgZG8gdGVuYW50IGF0dWFsXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEN1cnJlbnRUZW5hbnRMb2NhbGUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBsb2NhbGUgPSBBZ3JvUGxhdGZvcm1VdGlscy5nZXRUb2tlbkZpZWxkKFwibG9jYWxlXCIpO1xyXG4gICAgICAgIGlmIChsb2NhbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAnbG9jYWxlJyBuw6NvIGVuY29udHJhZG8gcGFyYSBvIHRlbmFudCBhdHVhbC5gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBnZXRDdXJyZW50VGVuYW50TG9jYWxlKClcclxuICAgICAqIE1hbnRpZG8gcG9yIGNvbXBhdGliaWxpZGFkZSByZXRyb2F0aXZhLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVuVGVuYW50TG9jYWxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgLy8gbGVnYWN5IHR5cG8gcmV0YWluZWRcclxuICAgICAgICByZXR1cm4gQWdyb1BsYXRmb3JtVXRpbHMuZ2V0Q3VycmVudFRlbmFudExvY2FsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBvIG5vbWUgY29tcGxldG8gZG8gdXN1w6FyaW8gbG9nYWRvXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqIEByZXR1cm5zIHN0cmluZyB8fCBudWxsXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50VXNlck5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IEFncm9QbGF0Zm9ybVV0aWxzLmdldFRva2VuRmllbGQoXCJmdWxsTmFtZVwiKTtcclxuICAgICAgICByZXR1cm4gbmFtZSB8fCBudWxsO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRvcm5hIG8gbm9tZSBkZSB1c3XDoXJpbyBsb2dhZG9cclxuICAgICAqIEV4OiBhZG1pbkB0ZW5hbnQuY29tLmJyXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqIEByZXR1cm5zIHN0cmluZyB8fCBudWxsXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50VXNlclVzZXJuYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IHVzZXJuYW1lID0gQWdyb1BsYXRmb3JtVXRpbHMuZ2V0VG9rZW5GaWVsZChcInVzZXJuYW1lXCIpO1xyXG4gICAgICAgIHJldHVybiB1c2VybmFtZSB8fCBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBvIGUtbWFpbCBkbyB1c3XDoXJpbyBsb2dhZG9cclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICogQHJldHVybnMgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50VXNlckVtYWlsKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IGVtYWlsID0gQWdyb1BsYXRmb3JtVXRpbHMuZ2V0VG9rZW5GaWVsZChcImVtYWlsXCIpO1xyXG4gICAgICAgIGlmICghZW1haWwpIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKGBDb29raWU6IFwiJHtDT09LSUVfVE9LRU59XCIgbsOjbyBlbmNvbnRyYWRvLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZW1haWwgfHwgbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgdW1hIHN0cmluZyBjb20gYSBiYXNlVVJMIGF0dWFsXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqIEBleGFtcGxlIFwiaHR0cHM6Ly9jbG91ZC1sZWFmLnNlbmlvci5jb20uYnJcIiB8fCBcImh0dHBzOi8vcGxhdGZvcm0uc2VuaW9yLmNvbS5iclwiXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRCYXNlVVJMKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgY29va2llID0gQWdyb0Nvb2tpZVV0aWxzLmdldENvb2tpZShDT09LSUVfQkFTRV9VUkwpO1xyXG4gICAgICAgIGlmIChjb29raWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChjb29raWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvb2tpZTogXCIke0NPT0tJRV9CQVNFX1VSTH1cIiBuw6NvIGVuY29udHJhZG8uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRvcm5hIHVtYSBzdHJpbmcgY29tIGEgVVJMIGRvcyBzZXJ2acOnb3NcclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICogQGV4YW1wbGUgXCJodHRwczovL2Nsb3VkLWxlYWYuc2VuaW9yLmNvbS5ici90L3Nlbmlvci5jb20uYnIvYnJpZGdlLzEuMC9cIlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0U2VydmljZXNVUkwoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb29raWUgPSBBZ3JvQ29va2llVXRpbHMuZ2V0Q29va2llKENPT0tJRV9TRVJWSUNFU19VUkwpO1xyXG4gICAgICAgIGlmIChTdHJpbmdVdGlscy5pc05vdEVtcHR5KGNvb2tpZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChjb29raWUhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb29raWU6IFwiJHtDT09LSUVfU0VSVklDRVNfVVJMfVwiIG7Do28gZW5jb250cmFkby5gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgdW1hIHN0cmluZyBjb20gbyB0b2tlbiBkZSBhY2Vzc28gYXR1YWxcclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVudEFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gQWdyb1BsYXRmb3JtVXRpbHMuZ2V0VG9rZW5GaWVsZChcImFjY2Vzc190b2tlblwiKTtcclxuICAgICAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhgQ29va2llOiBcIiR7Q09PS0lFX1RPS0VOfVwiIG7Do28gZW5jb250cmFkby5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRva2VuIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgcGFyYSBleHRyYWlyIHVtIGNhbXBvIGRvIGNvb2tpZSBkZSB0b2tlbi5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0VG9rZW5GaWVsZChmaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCBjb29raWUgPSBBZ3JvQ29va2llVXRpbHMuZ2V0Q29va2llKENPT0tJRV9UT0tFTik7XHJcbiAgICAgICAgaWYgKCFjb29raWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgb2JqID0gQWdyb0Nvb2tpZVV0aWxzLnBhcnNlQ29va2llVG9PYmplY3QoY29va2llLCB0cnVlKTtcclxuICAgICAgICByZXR1cm4gb2JqW2ZpZWxkXTtcclxuICAgIH1cclxufVxyXG4iXX0=